Имя: Пароль:
1C
1С v8
Не изменяется родитель у справочника номенклатура
🠗 (Serg_1960 16.04.2018 11:20)
,
0 sidalexsandr
 
16.04.18
11:04
Не изменяется родитель у справочника номенклатура. Вот код:
Выборка = Справочники.БП_ПрейскурантНаРаботы.Выбрать();
    Пока Выборка.Следующий() Цикл
        
        // пропустить товар, который вне групп
        Если Выборка.Наименование = "Компенсация командировочных затрат инженера выездного ремонта" Тогда
            Продолжить;
        КонецЕсли;
        
        Если Выборка.Ссылка.ЭтоГруппа = Истина Тогда
            // группы уже созданы пропустить группы
            Продолжить;
        КонецЕсли;                 
                                
        
        ТекРод = Справочники.Номенклатура.НайтиПоНаименованию(Выборка.Родитель, Истина);                     
            
        Сообщить("Выборка.Наименование = " + Выборка.Наименование);     
        Сообщить("ТекРод = " + ТекРод);
        // Найти по Артикул
        ТекТов = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Выборка.Работа.Артикул);     
        ТекТоварчик = ТекТов.ПолучитьОбъект();
        ТекТоварчик.Родитель = ТекРод.Ссылка;
        ТекТоварчик.Записать();                       
                
        
    КонецЦикла;
1 Cool_Profi
 
16.04.18
11:08
А отладчичек ничегошеньки не поговаривает?
2 catena
 
16.04.18
11:09
Это уже третья тема по одному и тому же куску кода. Наверное, надо что-то в консерватории менять.
3 chelentano
 
16.04.18
11:09
Очевидно, что ТекРод не найден
4 GrVas
 
16.04.18
11:09
Разве родителем может быть другой справочник?
5 GrVas
 
16.04.18
11:11
(4) ошибся
не азметил строку  ТекРод = Справочники.Номенклатура.НайтиПоНаименованию(Выборка.Родитель, Истина);
6 GrVas
 
16.04.18
11:12
наверно она джолжна быть
ТекРод = Справочники.Номенклатура.НайтиПоНаименованию(Выборка.Родитель.Наименование, Истина);
7 Buster007
 
16.04.18
11:16
(2) а сколько было тем, что не рассчитывается отпуск из-за незаполненного производственного календаря из года в год?)
8 Serg_1960
 
16.04.18
11:19
Прочитав "ТекРод = Справочники.Номенклатура.НайтиПоНаименованию(Выборка.Родитель, Истина);" долго смеялся. Спасибо, а то с утра настроение было никакое.

Замените эту смешную строку на "ТекРод = Выборка.Родитель;" или вообще ничего не пишите - Родитель и без этого всегда доступен.

PS: строки далее не комментирую - они годятся только если в качестве бреда.
9 1sanekmaloi1
 
16.04.18
11:21
(6)(8) С чего вы взяли что у него там ссылка?
10 1sanekmaloi1
 
16.04.18
11:24
(9)Отбой.Первую строку не увидел.
11 Serg_1960
 
16.04.18
11:30
(10) Угу. "Выборка.Ссылка.ЭтоГруппа" - справочник иерархический. Но даже если бы не эта строка, то "Родитель" - предопределенное свойство справочника.
12 sidalexsandr
 
16.04.18
12:19
Сделал поиск по  коду и все заработало
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой