HelpF.pro

Как в дереве значений строку перекинуть в другой родитель?

Код 1C v 8.х
 Процедура ПереместитьСтрокуДерева(Дерево, ПеремещаемаяСтрока, НовыйРодитель, Уровень = 0)

Если Уровень = 0 Тогда

НоваяСтрока = НовыйРодитель.Строки.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ПеремещаемаяСтрока);
ПереместитьСтрокуДерева(Дерево, ПеремещаемаяСтрока, НоваяСтрока, Уровень + 1);

Если ПеремещаемаяСтрока.Родитель = Неопределено Тогда
Дерево.Строки.Удалить(ПеремещаемаяСтрока);
Иначе
ПеремещаемаяСтрока.Родитель.Строки.Удалить(ПеремещаемаяСтрока);
КонецЕсли;

Иначе

Для Каждого Стр ИЗ ПеремещаемаяСтрока.Строки Цикл
НоваяСтрока = НовыйРодитель.Строки.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ПеремещаемаяСтрока);
ПереместитьСтрокуДерева(Дерево, Стр, НоваяСтрока, Уровень + 1);
КонецЦикла;

КонецЕсли;

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

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/794.html