| 
 
  Авторизация
                    
                    
                    
                        
                      
                    На сайте: 
 |  | Содержание 
 Как получить всех родителей выбранного элемента справочника?
 
 
 
 МассивРодителей = Новый Массив; Родитель = СсылкаНаЭлемент.Родитель;
 Пока Не Родитель.Пустая() Цикл
 МассивРодителей.Добавить(Родитель);
 Родитель = Родитель.Родитель;
 КонецЦикла;
 Для Каждого ТекущийРодитель Из МассивРодителей Цикл
 // Работа с текущим родителем.
 КонецЦикла;
 ВЫБРАТЬ
 Номенклатура.Ссылка КАК Ссылка
 ИЗ
 Справочник.Номенклатура КАК Номенклатура
 ГДЕ
 Номенклатура.Ссылка = &Ссылка
 ИТОГИ ПО
 Ссылка ТОЛЬКО ИЕРАРХИЯ
 ТекущийЭлементНоменклатуры = ЭлементНоменклатура;
 Запрос = Новый Запрос("ВЫБРАТЬ
 |       Номенклатура.Родитель,
 |       Номенклатура.Родитель.Родитель,
 |      Номенклатура.Родитель.Родитель.Родитель,
 |     Номенклатура.Родитель.Родитель.Родитель.Родитель,
 |    Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель
 |ИЗ
 |       Справочник.Номенклатура КАК Номенклатура
 |ГДЕ
 |       Номенклатура.Ссылка = &ТекущийЭлементНоменклатуры";
 Пока Истина Цикл
 Запрос.УстановитьПараметр("ТекущийЭлементНоменклатуры", ТекущийЭлементНоменклатуры);
 Результат = Запрос.Выполнить();
 Если Результат.Пустой() Тогда
 Прервать;
 КонецЕсли;
 Выборка = Результат.Выбрать();
 Выборка.Следующий();
 Для НомерКолонки = 0 По Результат.Колонки.Количество() - 1 Цикл
 ТекущийЭлементНоменклатуры = Выборка[НомерКолонки];
 Если ТекущийЭлементНоменклатуры = Справочники.Номенклатура.ПустаяСсылка() Тогда
 Прервать;
 Иначе
 Сообщить(ТекущийЭлементНоменклатуры);
 КонецЕсли;
 КонецЦикла;
 Если ТекущийЭлементНоменклатуры = Справочники.Номенклатура.ПустаяСсылка() Тогда
 Прервать;
 КонецЕсли;
 КонецЦикла;
 
 |