Заполнить таблицу значений из дерева (рекурсивно)

SeiOkami 498 5 11 14

Метод заполняет таблицу на основе дерева значений

// Заполнить таблицу значений из дерева рекурсивно.
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/91
//  
// Параметры:
//  ТаблицаЗначений - ТаблицаЗначений
//  ДеревоЗначений - ДеревоЗначений
//  ПостоянныеЗначения - Неопределено, Структура -
//  
// Пример:
//  
//  ПостоянныеЗначения = Новый Структура("Дата", ТекущаяДатаСеанса());
//  ЗаполнитьТаблицуИзДереваРекурсивно(ТаблицаЗначений, ДеревоЗначений, ПостоянныеЗначения);
//  
Процедура ЗаполнитьТаблицуИзДереваРекурсивно(
	Знач ТаблицаЗначений, Знач ДеревоЗначений, Знач ПостоянныеЗначения = Неопределено) Экспорт
	
	КоллекцияКолонок = Новый Массив; //Массив из КоллекцияСтрокДереваЗначений
	КоллекцияКолонок.Добавить(ДеревоЗначений.Строки);
	
	Для Каждого ТекущаяКоллекция Из КоллекцияКолонок Цикл
		
		Для Каждого ТекущаяСтрока Из ТекущаяКоллекция Цикл //СтрокаДереваЗначений
			
			Если ЗначениеЗаполнено(ТекущаяСтрока.Строки) Тогда
				КоллекцияКолонок.Добавить(ТекущаяСтрока.Строки);
			КонецЕсли;
			
			НоваяСтрока = ТаблицаЗначений.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекущаяСтрока);
			
			Если ПостоянныеЗначения <> Неопределено Тогда
				ЗаполнитьЗначенияСвойств(НоваяСтрока, ПостоянныеЗначения);
			КонецЕсли;
			
		КонецЦикла;
		
	КонецЦикла;
	
КонецПроцедуры
0

См. также

ТаблицаЗначений из кроны ДереваЗначений

Преобразование Объекта ДеревоЗначений в Объект ТаблицаЗначений

ЗаполнитьТаблицуЗначений (БСП)

СкопироватьРекурсивно (БСП)

ЗаполнитьСвойстваРекурсивно (БСП)

Вывод данных СКД в таблицу значений (дерево)

Функция копирования колонок в таблицу или дерево значений (конструктор таблиц и деревьев значений)

Создание схемы компоновки данных программно

Модератору