Имя: Пароль:
1C
 
Иерархия
0 Sasha_H
 
08.04.09
11:11
Ребят подскажите пожалуйста как перебрать группы до самого верхнего уровня справочника. Что-то идеи закончились.
1 Mort
 
08.04.09
11:12
Не слышал про обход дерева до самого верхнего уровня. Объясните точнее.
2 Sasha_H
 
08.04.09
11:14
У меня есть элелемент справочника номенклатуры, надо получить самый верхний Родитель.
3 Михаил Козлов
 
08.04.09
11:20
Брать родителя, пока не получишь пустую ссылку. Предыдущий и есть верхний.
4 Sasha_H
 
08.04.09
11:21
Разобралси...

Функция ПолучитьВерхнийУровеньГруппы (ГруппаИерархии)

   Если ГруппаИерархии.Уровень() <> 0 Тогда
       ПолучитьВерхнийУровеньГруппы(ГруппаИерархии.Родитель);
   Иначе
       Возврат ГруппаИерархии;
   КонецЕсли;    
   
КонецФункции
5 Defender aka LINN
 
08.04.09
11:22
рекурсия
6 Sasha_H
 
08.04.09
11:25
ага.. оно
7 Sasha_H
 
08.04.09
12:18
//Получить верхний уровень группы переданной ссылки справочника
//
Функция ПолучитьВерхнийУровеньГруппы (ГруппаИерархии, ВерхняяГруппа=Неопределено) Экспорт

   Если ГруппаИерархии.Уровень() <> 0 Тогда
       
       ВерхняяГруппа = ПолучитьВерхнийУровеньГруппы(ГруппаИерархии.Родитель);
       
       Если ВерхняяГруппа.Уровень() = 0 Тогда
       
           Возврат ВерхняяГруппа;
       
       КонецЕсли;
       
   Иначе
       
       Возврат ГруппаИерархии;
       
   КонецЕсли;    
   
КонецФункции
8 Mort
 
08.04.09
12:24
Справочники.Требования.НайтиПоКоду(Лев(ТекТребование.ПолныйКод(), Найти(ТекТребование.ПолныйКод(),"/")-1))
9 Aprobator
 
08.04.09
12:41
Функция ПолучитьСамыйВерхнийУровень(ЭлементСправочника)
       УровеньЭлемента = ЭлементСправочника.Уровень();
       Если УровеньЭлемента = 1 Тогда
            Вовзрат ЭлементСправочника.Родитель;
       ИначеЕсли УровеньЭлемента = 0 Тогда
            Возврат Справочники.ТвойСправочник.ПустаяСсылка();
       Иначе
            РодительЭлемента = ПолучитьСамыйВерхнийУровень(ЭлементСправочника.Родитель);
            Возврат РодительЭлемента;
       КонецЕсли;
КонецФункции