Имя: Пароль:
1C
1C 7.7
v7: Как сменить форму списка с ДляВыбора на ДляПодбора
0 vetal666
 
31.01.13
12:56
в ТиС 9.2 Как сменить в обработке печать ценников, форму списка с ДляВыбора на ДляПодбора?

Процедура Подбор()
   Перем Фрм;
   Перем Тек;
   Если Таб.КоличествоСтрок()>0 Тогда
       Тек=Таб.Номенклатура;
   КонецЕсли;
   ОткрытьПодбор("Справочник.Номенклатура","ДляВыбора",Фрм,1,Тек);
   Фрм.ВыборГруппы(0);
КонецПроцедуры
1 Godofsin
 
31.01.13
12:59
заменить "ДляВыбора" на "ДляПодбора"? =)
2 Шапокляк
 
31.01.13
12:59
ОткрытьПодбор("Справочник.Номенклатура","ДляПодбора",Фрм,1,Тек);
3 Godofsin
 
31.01.13
13:00
если она есть, конечно, эта форма подбора
4 Defender aka LINN
 
31.01.13
13:01
Та вы все упоротые!
5 vetal666
 
31.01.13
13:08
пробывал уже)

Фирма      = Парам.Получить("Фирма");
{Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(1289)}: Значение не представляет агрегатный объект (Получить)
Фрм.ВыборГруппы(0);
%1.ERT(163)}: Значение не представляет агрегатный объект (ВыборГруппы)
Фирма      = Парам.Получить("Фирма");
6 Ayvengo
 
31.01.13
13:10
Структура = Новый Структура;
   Структура.Вставить("ЗакрыватьПриВыборе", Ложь);
   ОткрытьФорму("ПланВидовХарактеристик.Э_Документы.ФормаВыбора", Структура, Элементы.Состав);

А потом у элемента в который подбор будет осуществляться добавить событие "ОбработкаВыбора"
7 Godofsin
 
31.01.13
13:11
(6) 7.7
8 Ayvengo
 
31.01.13
13:11
(7) а чего в шапке v8 :P
9 Godofsin
 
31.01.13
13:12
(8) патамушта ТС невнимателен =)
(5) Ну и что у тебя в парам?
10 vetal666
 
31.01.13
13:14
Я не особо шарю, поподробнее подскажите
11 Godofsin
 
31.01.13
13:15
(10) Извини, нет времени рассказать тебе курс по программированию на 7.7. И про отладчик тоже.
12 vetal666
 
31.01.13
13:28
в диалоге может добавить выбор фирмы? поэтому
Фирма      = Парам.Получить("Фирма");
{Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(1289)}: Значение не представляет агрегатный объект (Получить)
13 vetal666
 
31.01.13
13:37
Модуль ДляПодбора Что не так?

Процедура ПриОткрытии()
   Перем ВремДата; // для получения даты из позиции
   
   Форма.Артикул.Видимость(Константа.ПоказыватьАртикул);
   
   Парам = Форма.Параметр;
   
   Фирма      = Парам.Получить("Фирма");
   
   // Фирму нужно выбирать обязательно
   Если ПустоеЗначение(Фирма) = 1 Тогда
       Предупреждение("Не выбрана фирма!",60);
       СтатусВозврата(0);
       Возврат;
   КонецЕсли;
14 Ёпрст
 
31.01.13
13:42
(13) В форму не прилетел параметр, вот и ругается в ПриОткрытии - ты же при открытии подбора ничего не передал в форму.
Передай параметры, наслаждайся.
15 vetal666
 
31.01.13
14:39
как это сделать?
нашел похожую но как это сделать
Как узнать какой параметр передается?
16 Ёпрст
 
31.01.13
14:57
(15)



Процедура Подбор()
   Если Таб.КоличествоСтрок()>0 Тогда
       Тек=Таб.Номенклатура;
   КонецЕсли;
   Парам = СоздатьОбъект("СписокЗначений");
   Парам.Установить("Фирма",НужнаяТебеФирма);
   Парам.Установить("Вася","Лох");
  ...... ОткрытьПодбор("Справочник.Номенклатура","ДляВыбора",Парам,1,Тек);
   Парам.ВыборГруппы(0);
КонецПроцедуры
17 vetal666
 
31.01.13
15:05
Процедура Подбор()
   Если Таб.КоличествоСтрок()>0 Тогда
       Тек=Таб.Номенклатура;
   КонецЕсли;
   Парам = СоздатьОбъект("СписокЗначений");
   Парам.Установить("Фирма","ИП");
   ОткрытьПодбор("Справочник.Номенклатура","ДляПодбора",Парам,1,Тек);
   Парам.ВыборГруппы(0);
КонецПроцедуры

Выдает

Юрлицо              = Фирма.ЮрЛицо;
{Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(1300)}: Значение не представляет агрегатный объект (ЮрЛицо)
Парам.ВыборГруппы(0);
%1.ERT(172)}: Поле агрегатного объекта не обнаружено (ВыборГруппы)
18 vetal666
 
31.01.13
15:06
Мне нужно было Чтобы через ДляПодбора ,а не ДляВыбора. Выдает ошибку
19 Ёпрст
 
31.01.13
15:06
(17) Ну ясен пень
надо не строку "ИП" передавать, а элемент справочника Фирмы.
20 vetal666
 
31.01.13
15:09
Как это сделать, копирую из справочника Фирмы ИП это так сократил, а так полностью копирую из справочника. Или не так?
21 Ёпрст
 
31.01.13
15:10
(20) либо это реквизит на форме с нужным типом, либо это константа с нужным типом, либо искать в справочнике по наименованию/коду/реквизиту либо.. др. методы.
22 vetal666
 
31.01.13
15:19
Парам.Установить("Фирма",Справочник.СвоиЮрЛица); Не так?
23 vetal666
 
31.01.13
15:24
не не так
24 Ёпрст
 
31.01.13
15:26
(23) догадливый.

Например, так:
Спр = создатьОбъект("Справочник.НужныйВид");
Ежели Спр.НайтиПоНаименованию("Вася")=1 Тогдашеньки
  Парам.Установить("Фирма",Спр.ТекущийЭлемент);
Иначе
  Предупреждение("Почитай СП на ночь!",60);
  Возврат;
КонецЕжели;
25 Ёпрст
 
31.01.13
15:27
Но искать по наименованию/коду - моветон.
26 vetal666
 
31.01.13
15:38
Добавил выбор фирмы выдает другую ошибку в ДляПодбора
   Если ВидГраницыРасчетаОстатков = 3 Тогда // граница - дата
               Если ГраницаРасчетаОстатков >= ПолучитьДатуТА() Тогда
                   ВремРасчет = 0;


Если ГраницаРасчетаОстатков >= ПолучитьДатуТА() Тогда
{Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(436)}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
27 vetal666
 
31.01.13
15:38
Процедура Подбор()
   Если Таб.КоличествоСтрок()>0 Тогда
       Тек=Таб.Номенклатура;
   КонецЕсли;
   Парам = СоздатьОбъект("СписокЗначений");
   Парам.Установить("Фирма",ВыбРазделитель1);
   ОткрытьПодбор("Справочник.Номенклатура","ДляПодбора",Парам,1,Тек);
   Парам.ВыборГруппы(0);
КонецПроцедуры

сейчас вот так
28 Ёпрст
 
31.01.13
15:55
(27)

Парам.Установить("ГраницаРасчетаОстатков ",ТекущаяДата);
29 Ёпрст
 
31.01.13
15:55
ну там () добавь еще
30 vetal666
 
31.01.13
16:01
это где нужно добавить в модуле подбора или в обработке?
31 Ёпрст
 
31.01.13
16:03
(30) в обработке вестимо.

Открой наконец документ, откуда твой подбор открывается и посмотри, какие параметры надо передать в форму подбора.
Сделай по-аналогии.
32 Ёпрст
 
31.01.13
16:03
в своей поделке
33 vetal666
 
31.01.13
16:10
нехочет там же стопорится
34 Ёпрст
 
31.01.13
16:55
(33) описание ошибок в студию.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший