В начало

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

 

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

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

 

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

 

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

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

 

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

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

 

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

ВЫБРАТЬ

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

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

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

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

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

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

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

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

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

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

ИЗ

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

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

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

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

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

ГДЕ

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

 

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

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

 

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

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

 

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

 

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

&НаСервере

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

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

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

 

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

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