В начало

Передача параметра в динамический список

 

            Есть справочник Номенклатура, у которого имеется форма выбора.

            Необходимо передать параметр Подразделение в запрос динамического списка «Список» формы выбора справочника «Номенклатура».

 

Рис. Справочник Номенклатура в пользовательском режиме и на дереве объектов в конфигураторе

 

            Чтобы открыть динамический список по имени «Список» нужно на форме выбора выделить этот объект и перейти к его свойствам на закладке «Объект», поставить галочку напротив произвольного запроса и открыть ссылку «Открыть». После чего запускаем конструктор запросов.

Рис. Динамический список «Список» и его свойства

 

            В конструкторе запросов выбираем нужные таблицы, переходим на закладку «Условия» и присваиваем нужному полю параметр «Подразделение». Таким образом, задавая в дальнейшем этот параметр мы сможем получить нужный результат запроса по разным подразделениям.

Рис. Закладка «Условия» в конструкторе запросов

 

Листинг. Текст запроса

ВЫБРАТЬ

      СправочникНоменклатурасылка,

      СправочникНоменклатураометкаУдаления,

      СправочникНоменклатураодитель,

      СправочникНоменклатуратоГруппа,

      СправочникНоменклатураод,

      СправочникНоменклатурааименование,

      СправочникНоменклатураредопределенный,

      СправочникНоменклатурамяПредопределенныхДанных,

      ОстаткиПоПодразделениямОстаткиоличествоОстаток КАК ОстатокОтделЗакупок,

      ОстаткиНоменклатурыОстаткиоличествоОстаток КАК ОбщийОстаток

ИЗ

      Справочникоменклатура КАК СправочникНоменклатура

            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакоплениястаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки

            ПО СправочникНоменклатурасылка = ОстаткиНоменклатурыОстатки.Номенклатура

            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакоплениястаткиПоПодразделениям.Остатки(, ) КАК ОстаткиПоПодразделениямОстатки

            ПО СправочникНоменклатурасылка = ОстаткиПоПодразделениямОстатки.Номенклатура

ГДЕ

      ОстаткиПоПодразделениямОстаткиодразделение = &Подразделение

 

Потом закрываем конструктор запросов и возвращаемся на форму выбора справочника Номенклатура. Тут нужно перетянуть в поле с элементами новые поля из динамического списка.

Рис. Перетаскивание реквизитов в окно «Элементы».

 

Затем, в свойствах формы выбора переходим на закладку События и выбираем событие ПриСозданииНаСервере.

Рис. Закладка «События» свойств формы выбора справочника «Номенклатура»

 

            Затем переходим в процедуру и пишем код для присвоения значения параметра.

 

Листинг. Процедура, срабатывающая при создании на сервере

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

      Списокараметры.УстановитьЗначениеПараметра("Подразделение", Справочники.Подразделения.ОтделЗакупок.Ссылка);     

КонецПроцедуры

 

            Далее запускаемся в режиме 1Средприятие, выбираем Накладную, потом начинаем подбирать номенклатурные позиции через форму выбора. На форме выбора будут отображены столбцы с остатками, в частности столбец, в котором будет показан остаток по заданному нами отделу закупок, который мы указали ранее в процедуре.

Рис. Результат выбора остатков в отделе закупок