1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Процедура ПереместитьСтрокуДерева(Дерево, ПеремещаемаяСтрока, НовыйРодитель, Уровень = 0) Если Уровень = 0 Тогда НоваяСтрока = НовыйРодитель.Строки.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, ПеремещаемаяСтрока); ПереместитьСтрокуДерева(Дерево, ПеремещаемаяСтрока, НоваяСтрока, Уровень + 1); Если ПеремещаемаяСтрока.Родитель = Неопределено Тогда Дерево.Строки.Удалить(ПеремещаемаяСтрока); Иначе ПеремещаемаяСтрока.Родитель.Строки.Удалить(ПеремещаемаяСтрока); КонецЕсли; Иначе Для Каждого Стр ИЗ ПеремещаемаяСтрока.Строки Цикл НоваяСтрока = НовыйРодитель.Строки.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, ПеремещаемаяСтрока); ПереместитьСтрокуДерева(Дерево, Стр, НоваяСтрока, Уровень + 1); КонецЦикла; КонецЕсли; КонецПроцедуры |