Установить параметры динамического списка 1с программно

Установить параметры динамического списка 1с программно

Одна из задач, возникающих при открытии формы, может заключаться в том, что динамический список в открываемой форме содержит произвольный запрос с параметрами. И при открытии такой формы нужно передавать в этот список конкретные значения параметров.

Эта задача решается с помощью создания дополнительных параметров формы, передачи в них необходимых значений и установки их в параметры запроса в обработчике события формы При создании на сервере .

Предположим, что имеется регистр ЦеныТоваров . В форме списка этого регистра содержится динамический список с произвольным запросом:

ВЫБРАТЬ
РегистрСведенийЦеныТоваров.Период,
РегистрСведенийЦеныТоваров.Товар,
РегистрСведенийЦеныТоваров.Цена
ИЗ
РегистрСведений.ЦеныТоваров КАК РегистрСведенийЦеныТоваров
ГДЕ
РегистрСведенийЦеныТоваров.Товар = &Товар
И РегистрСведенийЦеныТоваров.Период >= &НачалоПериода
И РегистрСведенийЦеныТоваров.Период Товар , НачалоПериода и КонецПериода . Для нормального функционирования формы значения этих параметров должны быть заданы при открытии формы, иначе в результате открытия формы будет получена ошибка.

Чтобы передать собственные параметры в форму, желательно создать их в редакторе формы.

Вообще говоря, делать это не обязательно. Любые параметры, переданные в метод ОткрытьФорму() , будут доступны в обработчике события формы При создании на сервере . Но все же лучше создать их у формы в явном виде.

Тогда, во-первых, в модуле формы не придется проверять, существуют такие параметры или нет. А во-вторых, явное создание параметров формы облегчает поддержку прикладного решения теми разработчиками, которые не участвовали в его создании.

Итак, создадим у формы списка регистра сведений три параметра: НачалоПериода , КонецПериода (тип Дата ) и Товар (тип СправочникСсылка.Товары ).

Теперь в форме элемента справочника Товары создадим команду ЦеныВДекабре со следующим текстом:

Этой командой мы открываем форму списка регистра сведений и передаем ей значения трех параметров.

В самой форме регистра сведений, в обработчике события формы При создании на сервере , установим переданные значения в качестве параметров произвольного запроса динамического списка следующим образом:

Читайте также:  Как зарегистрироваться в ватсапе через компьютер

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

Список . Параметры . УстановитьЗначениеПараметра ( "НачалоПериода" , Параметры . НачалоПериода ) ;
Список . Параметры . УстановитьЗначениеПараметра ( "КонецПериода" , Параметры . КонецПериода ) ;
Список . Параметры . УстановитьЗначениеПараметра ( "Товар" , Параметры . Товар ) ;

Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента

Для вывода используется используется запрос:

Чтобы при открытии не отображалась информацию по другим клиентам, необходимо установить параметр динамического списка, сделаем это так:

Можно и просто настроить отбор через настройки, используя ЭлементОтбораКомпоновкиДанных

Похожие FAQ

Еще в этой же категории

Как на управляемой форме разместить список регистра сведений с отбором? 15
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Поле выбора

Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как обновить динамический список или реквизит на форме клиента? 7
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Форма

Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Форма

Читайте также:  Филипс е331 отзывы владельцев

Пусть в управляемой форме у вас есть динамический список, в запросе которого установлен параметр. Для того чтобы программно передать значение этого параметра в динамический список используется метод УстановитьЗначениеПараметра( , ) коллекции параметров динамического списка. Если вы хотите, что бы динамический список отобразил данные сразу после открытия формы, ту устанавливать параметры следует в процедуре ПриСозданииНаСервере.

Пример. Пусть у нас в форме существует динамический список СписокНоменклатура, а в его запросе задан параметр Организация.

Ссылка на основную публикацию
Adblock detector