Вход | Регистрация


Загрузка номенклатуры с несколькими уровнями родителей

Загрузка номенклатуры с несколькими уровнями родителей
Я
   Обфускация
 
28.02.18 - 08:07
Делаю загрузку номенклатуры из другой базы. Первый уровень у меня загружался нормально. Потом начинаю загружать второй уровень и выходит ошибка, что поле родитель не доступно для записи. Как это правильно реализовать?

        Запрос1=новый запрос;
        запрос1.Текст="ВЫБРАТЬ
        |    Номенклатура.Ссылка КАК Ссылка,
        |    Номенклатура.Родитель.Родитель КАК РодительРодитель,
        |    Номенклатура.Родитель.Родитель.Родитель КАК РодительРодительРодитель
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |ГДЕ
        |    Номенклатура.ЭтоГруппа = ИСТИНА
        |    И Номенклатура.Наименование = &Наименование";
        запрос1.УстановитьПараметр("Наименование",строка(группа));              
        ИтогГрупп=запрос1.Выполнить().Выгрузить();    
        Если  ИтогГрупп.Количество()>0 тогда
            Элм.Родитель = ИтогГрупп[0].ссылка;
            
        иначе
            ГруппаСПР=справочники.Номенклатура.СоздатьГруппу();
            группаСПР.Наименование= группа;
            группаСПР.Записать();
            Элм.Родитель = группаСПР.Ссылка;
        конецесли;    
        
        Запрос2=новый запрос;
        Запрос2.Текст="ВЫБРАТЬ
        |    Номенклатура.Ссылка КАК Ссылка,
        |    Номенклатура.Родитель.Родитель КАК РодительРодитель,
        |    Номенклатура.Родитель.Родитель.Родитель КАК РодительРодительРодитель
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |ГДЕ
        |    Номенклатура.ЭтоГруппа = ИСТИНА
        |    И Номенклатура.Наименование = &Наименование";
        Запрос2.УстановитьПараметр("Наименование",строка(группа2));              
        ИтогГрупп2=Запрос2.Выполнить().Выгрузить();    
        Если  ИтогГрупп2.Количество()>0 тогда
            Элм.Родитель.Родитель = ИтогГрупп2[0].ссылка;
            
        иначе
            ГруппаСПР2=справочники.Номенклатура.СоздатьГруппу();
            группаСПР2.Наименование= группа2;
            группаСПР2.Записать();
            Элм.Родитель.Родитель = группаСПР2.Ссылка;
        конецесли;    

        
        Элм.Записать();
 
 
   asady
 
1 - 28.02.18 - 08:08
(0) получай объект родителя и устанавливай ему родителя.родителя
   catena
 
2 - 28.02.18 - 08:09
Элм.Родитель - ссылка. Для записи нужен объект.
   Обфускация
 
3 - 28.02.18 - 08:13
(1)
да, проблема была в этом, спасибо
   lodger
 
4 - 28.02.18 - 08:24
Неправильно ты, дядя Фёдор, бутерброд ешь...
   Обфускация
 
5 - 28.02.18 - 08:27
(4)
напиши весь код за меня, если такой умный
   Сияющий в темноте
 
6 - 28.02.18 - 08:48
(5) А ты ему заплати-он и напишет

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует