Передаём параметры в произвольный запрос динамического списка.
Имеем задачу: в форму списка справочника "Номенклатура" добавить остатки по складу "Основной".
Если форма списка справочника уже создан, то дорабатываем её. Если формы нет – создаём новую.
При создании формы списка справочника автоматически создаётся реквизит формы "Список" с типом "Динамический список". Откроем свойства реквизита и установим флажок в поле "Произвольный запрос". Откроем запрос для редактирования. Добавим в запрос поле "Остаток", а в качестве источника данных – регистр накопления "Остатки номенклатуры".
ВЫБРАТЬ
СправочникНоменклатура.Ссылка,
СправочникНоменклатура.ПометкаУдаления,
СправочникНоменклатура.Код,
СправочникНоменклатура.Наименование,
СправочникНоменклатура.Услуга,
СправочникНоменклатура.Предопределенный,
СправочникНоменклатура.ИмяПредопределенныхДанных,
ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК Остаток
ИЗ
Справочник.Номенклатура КАК СправочникНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&Склад, ) КАК ОстаткиНоменклатурыОстатки
ПО (ОстаткиНоменклатурыОстатки.Номенклатура = СправочникНоменклатура.Ссылка)
В виртуальной таблице регистра накопления "ОстаткиНоменклатуры" мы задали параметр &Склад. На вкладке конструктора формы "Параметры" создаём параметр "Склад" с типом "СправочникСсылка.Склады".
Теперь нам нужно как-то установить этот параметр. Делается это в модуле формы, в процедуре "ПриСозданииНаСервере".
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ПараметрСклад = Справочники.Склады.НайтиПоНаименованию("Основной"); Список.Параметры.УстановитьЗначениеПараметра("Склад", ПараметрСклад); КонецПроцедуры
Параметр установлен, теперь он будет передаваться в запрос динамического списка.