Динамический список удобен для использования в интерфейсе, но когда дело касается получения данных, отображаемых в списке для программной обработки, то приходится пользоваться средствами СКД, как это делать приведено ниже:
&НаСервере
Функция Получить_ТЗ_Из_ДинамическогоСписка()
// получаем схему
Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
// получаем настройки
Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
// можем добавлять произвольные отборы дополнительно
// НовыйЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
// НовыйЭлементОтбора .ЛевоеЗначение = …
// УстанавливаемыйЭлементОтбора.ВидСравнения = …
//УстанавливаемыйЭлементОтбора.ПравоеЗначение =
// УстанавливаемыйЭлементОтбора.Использование = Истина;
// создаем компоновщик макета и формируем выборку в ТЗ
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , , Тип(«ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений»));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТЗ = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(ТЗ);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Возврат ТЗ;
КонецФункции