Имя: Пароль:
1C
 
Ошибка "Зацикливание уровней"
0 deemok
 
16.12.10
18:33
Помогите, пожалуйста, как решить ошибку в коде
Ошибка "Ошибка  {ОбщийМодуль.Румба(448)}: Ошибка при вызове метода контекста (Записать): Зацикливание уровней!"

код

Функция ПолучитьКонтрагента(КонтрагентИмя, Гостиница="")
   Если ПустаяСтрока(КонтрагентИмя) Тогда
       Возврат Справочники.Контрагенты.ПустаяСсылка();
   КонецЕсли;
   Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(КонтрагентИмя);
   Если Контрагент.Пустая() Тогда
       КонтрагентОбъект = Справочники.Контрагенты.СоздатьЭлемент();
   Иначе
       КонтрагентОбъект = Контрагент.ПолучитьОбъект();
   КонецЕсли;
   Если НЕ ПустаяСтрока(Гостиница) Тогда
       ГрК = Справочники.Контрагенты.НайтиПоНаименованию(Гостиница);
       Если ГрК.Пустая() ИЛИ НЕ ГрК.ЭтоГруппа Тогда
           ГрК = Справочники.Контрагенты.СоздатьГруппу();
           ГрК.Наименование = Гостиница;
           ГрК.Записать();
       КонецЕсли;
   Иначе
       ГрК = Справочники.Контрагенты.ПустаяСсылка();
   КонецЕсли;
   КонтрагентОбъект.Родитель = ГрК.Ссылка;
   КонтрагентОбъект.Наименование = КонтрагентИмя;
   КонтрагентОбъект.Записать();
   Возврат КонтрагентОбъект.Ссылка;
КонецФункции
1 IronDemon
 
16.12.10
18:35
Что за Мумба писала эту Румбу?
2 Murzz
 
16.12.10
18:44
контрагент которого находишь при ошибке не группа случаем? ну а вообще такая ошибка выскакивает когда у элемента справочника делаешь родителем подчиненный ему элемент
3 deemok
 
16.12.10
23:58
все работает нормально, пока не попадается НаименованиеКонтрагента= НаименованиеОрганизации=НаименованиеГруппы, т.е допустим:
НаименованиеКонтрагента=РогаИКопыта
НаименованиеОрганизации=РогаИКопыта
НаименованиеГруппы=РогаИКопыта
4 disk-2008
 
17.12.10
00:40
Так проверь на группу.
5 deemok
 
17.12.10
00:52
думаю еще из за того, что на одном уровне создано 3 группы с одинаковым наименованием
6 Киборг
 
17.12.10
00:59
Родитель указан сам элемент или подчиненный.