Skip to main content

Динамические списки

Используется для отображения информации из любых таблиц независимо от их типа. Шаги использования динамического списка:

 1c_dynlist_base.JPG

1 Наполнение данными

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

Для обоих вариантов существует настройка Отбор (какие данные попадут в итоговый список), результат его  работы пересекается с настройками запроса, поэтому требует углубленного понимания. Скорее всего, такая херня возникла из-за попытки сделать сложную вещь доступной прогерам-мышкотыкам (как и все в 1С), но потом пришли к выводу, что потенциал у данного типа данных большой, реализовать все возможные варианты через удобный графический интерфейс нельзя, а часть интерфейса создана, пусть будет. Понять и простить.


Основная таблица Произвольный запрос
Набор данных Поля одной таблицы Поля любого запроса
Интерактивная настройка (через отбор) Настройка в конфигураторе повторяет настройку отображения в пользовательском интерфейсе. Ручное указание конкретного параметра либо общие типы (пустое, больше/меньше, ...) Нельзя изменить запрос, остальное так же
Программная настройка параметров, включая параметры из реквизитов Нет Есть

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

Произвольный запрос. Выберем следующие данные:

ВЫБРАТЬ
	ДокументПоступлениеТоваров.Ссылка,      
	ДокументПоступлениеТоваров.Номер,
	ДокументПоступлениеТоваров.Дата,
	ДокументПоступлениеТоваров.Фирма,
	ДокументПоступлениеТоваров.Филиал,
	ДокументПоступлениеТоваров.ПереченьТоваров
ИЗ
	Документ.ПоступлениеТоваров КАК ДокументПоступлениеТоваров  
ГДЕ 
    ДокументПоступлениеТоваров.Дата < &НужнаяДата

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

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

ДокументыПоступленийТоваров - имя реквизита.

В разделе Отбор