Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 ноя 2024, 04:52

Почему происходит зацикливание

Автор kovalevskymax, 15 ноя 2010, 11:06

0 Пользователей и 1 гость просматривают эту тему.

kovalevskymax

Здравствуйте. Столкнулся с проблемой, казалось бы, на ровном месте. Иерархический справочник. В цикле пытаюсь получить первоначальный элемент. Что я делаю не так???

Объект = Справочники.ЭлементыГеографическойСтруктуры.НайтиПоКоду("000000007");

Пока Объект.Родитель <> Неопределено
Цикл
Сообщить(Объект.Наименование);
Объект = Объект.Родитель;
КонецЦикла;

progmikon

Наверно как-то так:

ЭлементСправочника = Справочники.Номенклатура.НайтиПоКоду("00000000142");
ТекущийЭлемент = ЭлементСправочника;
ТекущийРодитель = ЭлементСправочника.Родитель;
Пока НЕ ТекущийРодитель.Пустая() Цикл
ТекущийЭлемент = ТекущийРодитель;
ТекущийРодитель = ТекущийРодитель.Родитель;
КонецЦикла;
Сообщить(ТекущийЭлемент);

veslav

Так попробуй:
НовыйОбъект=Объект.ПолучитьОбъект(); Пока НовыйОбъект.Родитель<> Неопределено

Lexius

Пока ЗначениеЗаполнно(НовыйОбъект.Родитель) Цикл //Типо, если эл-т не имеет родителя, значит это root
....

Lexius

Прощу прощения. ЗначениеЗаполнено(НовыйОбъект.Родитель)

kovalevskymax


Теги:

Похожие темы (2)

Рейтинг@Mail.ru

Поиск