1С. Формы. Динамический список с произвольным запросом. Как передать параметр в запрос при открытии формы.

Передаём параметры в произвольный запрос динамического списка.

Имеем задачу: в форму списка справочника «Номенклатура» добавить остатки по складу «Основной».

Если форма списка справочника уже создан, то дорабатываем её. Если формы нет – создаём новую.

При создании формы списка справочника автоматически создаётся реквизит формы «Список» с типом «Динамический список». Откроем свойства реквизита и установим флажок в поле «Произвольный запрос». Откроем запрос для редактирования. Добавим в запрос поле «Остаток», а в качестве источника данных – регистр накопления «Остатки номенклатуры».

ВЫБРАТЬ
СправочникНоменклатура.Ссылка,
СправочникНоменклатура.ПометкаУдаления,
СправочникНоменклатура.Код,
СправочникНоменклатура.Наименование,
СправочникНоменклатура.Услуга,
СправочникНоменклатура.Предопределенный,
СправочникНоменклатура.ИмяПредопределенныхДанных,
ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК Остаток
ИЗ
Справочник.Номенклатура КАК СправочникНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&Склад, ) КАК ОстаткиНоменклатурыОстатки
ПО (ОстаткиНоменклатурыОстатки.Номенклатура = СправочникНоменклатура.Ссылка)

В виртуальной таблице регистра накопления «ОстаткиНоменклатуры» мы задали параметр &Склад. На вкладке конструктора формы «Параметры» создаём параметр «Склад» с типом «СправочникСсылка.Склады».

Теперь нам нужно как-то установить этот параметр. Делается это в модуле формы, в процедуре «ПриСозданииНаСервере».

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ПараметрСклад = Справочники.Склады.НайтиПоНаименованию("Основной");
	Список.Параметры.УстановитьЗначениеПараметра("Склад", ПараметрСклад);
	
КонецПроцедуры

Параметр установлен, теперь он будет передаваться в запрос динамического списка.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *