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

andrey5565 35 1 3

В первую функцию передаем - ДеревоЗначений, во вторую (рекурсивную) функцию передаем созданный объект встроенного языка - ТаблицаЗначений, и строку дерева; В место вызова функции ДеревоЗначенийВТаблицуЗначений() произойдет возврат ТаблицыЗначений.

&НаСервере
Функция ДеревоЗначенийВТаблицуЗначений(Знач ДеревоЗначений)
	
	ТаблицаТоваров = Новый ТаблицаЗначений;
	
	//заполним колонки;
	Для каждого Колонка Из ДеревоЗначений.Колонки Цикл
		ТаблицаТоваров.Колонки.Добавить(Колонка.Имя); 
	КонецЦикла;
	
	//произведем вызов вспомогательной рекурсивной функции;
	Для каждого Строка Из ДеревоЗначений.Строки Цикл
		РекурсивноеЗаполнениеТаблицыЗначений(ТаблицаТоваров, Строка);
	КонецЦикла;   
		
	Возврат ТаблицаТоваров;
	
КонецФункции // ()

&НаСервере
Процедура РекурсивноеЗаполнениеТаблицыЗначений(ТаблицаЗначений, СтрокаДерева)
	
	//условие выхода из рекурсии;
	Если СтрокаДерева.Строки.Количество () = 0 Тогда
		Возврат;
	КонецЕсли;  
	
	Для каждого Строка Из СтрокаДерева.Строки Цикл
		
		НоваяСтрока = ТаблицаЗначений.Добавить();
		Для каждого Колонка Из ТаблицаЗначений.Колонки Цикл
			НоваяСтрока[Колонка.Имя] = Строка[Колонка.Имя];
		КонецЦикла;
		
		РекурсивноеЗаполнениеТаблицыЗначений(ТаблицаЗначений, Строка);   
		
	КонецЦикла;
	
КонецПроцедуры // ()
0

Рекомендации

См. также

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

Выгрузить Таблицу значений в массив структур (для передачи сервер - клиент)

Таблица значений в табличный документ

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

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

ПреобразованиеЗначенийJSON (БСП)

Выгрузка Таблицы значений в Объект Таблица Значений на форме обработки (для передачи сервер - клиент)

ЗначенияСвойств (БСП)

Работа с универсальными коллекциями данных

TurboConf - расширение Конфигуратора 1С

Комментарии

Модератору