Имя: Пароль:
1C
1С v8
Установка родителя в подчиненном справочнике
0 kydassov
 
29.08.18
12:52
Добрый день! Нужна помощь, ибо я бессилен…

Необходимо скопировать иерархию подчиненного справочника от одного владельца к другому. Использую код:

//Копирую верхний уровень
новЭлемент = ЭлементКопирования.Скопировать();
новЭлемент.Владелец = новВладелец;
новЭлемент.Записать();

//Помещаю в таблицу соответствий старое и новое значение
ПоместитьВТаблицуСоответствия(табСоответствиеСсылок, ЭлементКопирования, новЭлемент);

//Выбираю иерархию по старому родителю и владельцу
выбЭлементовДляКопирования = Справочники.БКД_ШаблоныЗатратСкладовДляПланирования.ВыбратьИерархически(ЭлементКопирования, ВладелецЭлемента);
    
Пока выбЭлементовДляКопирования.Следующий() Цикл
    
    //Нахожу по старому родителю нового
    новРодитель = ПолучитьСоответсвиеПоСсылке(табСоответствиеСсылок, выбЭлементовДляКопирования.Родитель);

//Копирую текущий элемент и присваиваю нового владельца и родителя
    новЭлемент = выбЭлементовДляКопирования.Ссылка.Скопировать();
    новЭлемент.Владелец = новВладелец;
    новЭлемент.Родитель = новРодитель;
    новЭлемент.Записать();

//Помещаю в таблицу соответствий старое и новое значение
    ПоместитьВТаблицуСоответствия(табСоответствиеСсылок, выбЭлементовДляКопирования.Ссылка, новЭлемент);
        
КонецЦикла;

На строке с присвоением родителя происходит его очистка. Типы совпадают, ссылки получаю правильные, но при записи объектов все имеет пустого родителя
1 kydassov
 
29.08.18
12:54
Забыл упомянуть, что платформа 8.3.12.1469 и используются обычные формы
2 Cyberhawk
 
29.08.18
13:00
Записывай в режиме загрузки, ну и посмотри что другой код не дает такой эффект
3 Cyberhawk
 
29.08.18
13:01
Перед / при записи и подписки
4 Cyberhawk
 
29.08.18
13:01
А, и в таблице соответствий ссылку помещай, а не объект
5 kydassov
 
29.08.18
13:06
(4) Огромное спасибо! Невнимательный я. Действительно в этом был косяк