Имя: Пароль:
1C
1С v8
Ошибка зацикливание уровней
0 sidalexsandr
 
13.04.18
12:20
Вот сообщение об ошибке:
{ВнешняяОбработка.ГруппыПоОбразцу.Форма.Форма.Форма(123)}: Ошибка при вызове метода контекста (Записать)
            ТекТоварчик.Записать();                       
по причине:
Зацикливание уровней!

Вот текст программы:
Выборка = Справочники.БП_ПрейскурантНаРаботы.Выбрать();
    Пока Выборка.Следующий() Цикл
        
        // 13.04.18 Репнин А.В.
        // пропустить товар, который вне групп
        Если Выборка.Наименование = "Компенсация командировочных затрат инженера выездного ремонта" Тогда
            Продолжить;
        КонецЕсли;
        
        Если Выборка.Ссылка.ЭтоГруппа = Истина Тогда
            // 13.04.18 Репнин А.В.
            // группы уже созданы пропустить группы
            Продолжить;
        КонецЕсли;
        
                                        
            ТекР = Справочники.Номенклатура.НайтиПоНаименованию(Выборка.Родитель, Истина);
            Сообщить("Выборка.Наименование = " + Выборка.Наименование);
            ТекРод = ТекР;
            Сообщить("ТекРод = " + ТекРод);
            ТекТов = Справочники.Номенклатура.НайтиПоНаименованию(Выборка.Работа, Истина);
            ТекТоварчик = ТекТов.ПолучитьОбъект();
            ТекТоварчик.Родитель = ТекРод;
            ТекТоварчик.Записать();                       
                
            
    КонецЦикла;
1 PR
 
13.04.18
12:21
Так так, интересно
Не останавливайся
2 Рэйв
 
13.04.18
12:25
(0)Мало того, что у тебя в Выборка.Родитель уже есть родитель, так ты его еще и ищешь подставляя вместо наименования...

Занятные грибы.
3 Малыш Джон
 
13.04.18
12:54
(2) ну судя по особому пристрастию ТС к наименованию, предположу, что в "Выборка.Родитель" хранится наименование родителя

(0) ты сами то данные выборки проверял?
а то вдруг у тебя в одной строке: Работа = Ном1, Родитель = Ном2, а в другой  - наоборот? Ну или наименования вообще задваиваются?
4 DmitriyDI
 
13.04.18
12:57
(0) ты родителю ставишь его же в группу...