Обход строк динамического списка

Печать (Ctrl+P)

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

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

&НаСервере
Функция СписокВКоллекциюЗначений()
	
	//Получаем схема компановки данных (здесь хранится текст запроса)
	Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
	
	//Получаем настройки пользователя (отборы, сортировки и т.п.)
	Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
	
	//Выводим динамический список в таблицу значений
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
	МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
	Результат = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
	
	//Возвращаем полученную таблицу значений
	Возврат  Результат;
	
КонецФункции

Некоторые полезные примеры

Подсчет строк динамического списка
&НаСервере
Процедура ПосчитатьКоличествоСтрокВСпискеНаСервере()


Тз = СписокВКоллекциюЗначений();
КоличествоСтрок =Тз.Количество();
КонецПроцедуры

Обход строк динамического списка

Оператор цикла Для каждого предназначен для циклического обхода коллекций значений

&НаСервере
Процедура ОбходСтрокСпискаНасервере()

Тз = СписокВКоллекциюЗначений();
Для каждого Стр Из Тз Цикл

// .........

КонецЦикла; 
КонецПроцедуры
0

Автор публикации

не в сети 1 неделя

master1c8

1
Комментарии: 41Публикации: 498Регистрация: 25-12-2016
Previous Article
Next Article

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.