1С 8.3 Преобразование Дерева Значений в Таблицу Значений - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Преобразование Дерева Значений в Таблицу Значений

Данные > Примеры кода 1С > 1С 8.3 Дерево значений
Преобразование ДеревоЗначений в ТаблицаЗначений в 1С 8.3:
&НаСервере
Процедура ПреобразованиеДЗвТЗ()

   
ДЗ = РеквизитФормыВЗначение("ДеревоЗначНаФорме");
   
ТЗ = РеквизитФормыВЗначение("ТаблЗначНаФорме");

   
ПреобразованиеВ_ТЗ(ДЗ, ТЗ, Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));
   
ДЗ.Строки.Очистить();

   
ЗначениеВРеквизитФормы(ТЗ, "ТаблЗначНаФорме");
   
ЗначениеВРеквизитФормы(ДЗ, "ДеревоЗначНаФорме");

КонецПроцедуры

&НаСервере
Процедура ПреобразованиеВ_ТЗ(ДЗ, ТЗ, ГУИД)

   
//Используя данный способ также можно легко преобразовать таблицу значений обратно в дерево значений
    //Если обратного преобразования не требуется можно исключить использование колонок "Родитель" и  "ГУИД"
   
Для Каждого СтрокаДЗ Из ДЗ.Строки Цикл

       
НовСтрока = ТЗ.Добавить();
       
НовСтрока.Наименование = СтрокаДЗ.Наименование;
       
НовСтрока.Родитель = ГУИД; // уникальный идентификатор родителя
       
НовСтрока.ГУИД = Новый УникальныйИдентификатор(); // уникальный идентификатор строки

       
Если СтрокаДЗ.Строки.Количество()>0 Тогда
           
ПреобразованиеВ_ТЗ(СтрокаДЗ, ТЗ, НовСтрока.ГУИД);
        КонецЕсли;

    КонецЦикла;

КонецПроцедуры
0
отзывы
____________________
Copyright©, «Программист 1С в г.Минске», 14.10.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому