Получение данных динамического списка
Задача: Получить программно данные динамического списка на форме со всеми отборами, поиском, условным оформлением, настройками и т.д.
Это может понадобится для совершенно любых задач: печать полученных данных, отправка их по почте, обработка данных и тому подобное.
Решение: Для реализации этого решения достаточно иметь версию платформы 1с начиная с ‘8.3.6.1977’ и знать два новых метода динамического списка:
- ПолучитьИсполняемуюСхемуКомпоновкиДанных() – получаем схему компоновки данных;
- ПолучитьИсполняемыеНастройкиКомпоновкиДанных() – получаем все настройки динамического списка;
Допустим в справочнике “Футбольные клубы” у нас в форме списка есть реквизит “Список” – тип “Динамический список”:

Добавляем на форме команду “ПолучитьДанныеСписка” и прописываем следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
&НаСервере Процедура ПолучитьДанныеСпискаНаСервере() // Вставить содержимое обработчика. Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных(); Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных(); МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ТаблицаРезультат = ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры &НаКлиенте Процедура ПолучитьДанныеСписка(Команда) ПолучитьДанныеСпискаНаСервере(); КонецПроцедуры |
Далее проверяем в режиме 1с предприятия: устанавливаем любой отбор и добавляем поиск по наименованию:
Нажимаем на команду “ПолучитьДанныеСписка” и смотрим результат:

Вот таким простым способом мы можем считать данные с любого динамического списка под любыми настройками!
Так же можно ознакомиться более подробно с этой информацией по следующей ссылке.