0
kydassov
29.08.18
✎
12:52
|
Добрый день! Нужна помощь, ибо я бессилен…
Необходимо скопировать иерархию подчиненного справочника от одного владельца к другому. Использую код:
//Копирую верхний уровень
новЭлемент = ЭлементКопирования.Скопировать();
новЭлемент.Владелец = новВладелец;
новЭлемент.Записать();
//Помещаю в таблицу соответствий старое и новое значение
ПоместитьВТаблицуСоответствия(табСоответствиеСсылок, ЭлементКопирования, новЭлемент);
//Выбираю иерархию по старому родителю и владельцу
выбЭлементовДляКопирования = Справочники.БКД_ШаблоныЗатратСкладовДляПланирования.ВыбратьИерархически(ЭлементКопирования, ВладелецЭлемента);
Пока выбЭлементовДляКопирования.Следующий() Цикл
//Нахожу по старому родителю нового
новРодитель = ПолучитьСоответсвиеПоСсылке(табСоответствиеСсылок, выбЭлементовДляКопирования.Родитель);
//Копирую текущий элемент и присваиваю нового владельца и родителя
новЭлемент = выбЭлементовДляКопирования.Ссылка.Скопировать();
новЭлемент.Владелец = новВладелец;
новЭлемент.Родитель = новРодитель;
новЭлемент.Записать();
//Помещаю в таблицу соответствий старое и новое значение
ПоместитьВТаблицуСоответствия(табСоответствиеСсылок, выбЭлементовДляКопирования.Ссылка, новЭлемент);
КонецЦикла;
На строке с присвоением родителя происходит его очистка. Типы совпадают, ссылки получаю правильные, но при записи объектов все имеет пустого родителя
|
|