Версия для печати темы (https://pro1c.org.ua/index.php?s=dfc98f8a235fc040b4340b5c3426db24&showtopic=67481)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Как получить всех родителей элемента справочника?

Автор: kostya77 15.02.24, 14:23

Добрый день. Подскажиет как получить всех родетелей елемента справочника

Автор: AnryMc 15.02.24, 15:28

kostya77 @ Сегодня, 15:23 * ,

ПолныйКод()

Синтаксис:
ПолныйКод()
Назначение:
Возвращает строку, содержащую полный код выбранного элемента справочника со всеми вышестоящими уровнями, разделенными символом /.

Автор: volodya1122 19.02.24, 16:21

kostya77 @ 15.02.24, 14:23 * ,

Якщо потрібно ссилки на кожнного родителя

       // ЭлСправ- ссилка на конкректний елемент справочника 
    Если Метаданные.Справочники.МойСправочник.ОграничиватьКоличествоУровней тогда
        МаксимумУровней=Метаданные.Справочники.МойСправочник.КоличествоУровней;
    иначе    
        МаксимумУровней=100; // хватає з великим запасорв в реальних базах
    КонецЕсли;
    Сообщить(ЭлСправ.ПолныйКод());
    Ел1=ЭлСправ;
    Для к=1 по МаксимумУровней цикл
        Ел1=Ел1.Родитель; // по ссилці
        Если Ел1=Справочники.МойСправочник.ПустаяСсылка() тогда
            Прервать;
        КонецЕсли;
        Сообщить("-"+к+"-"+Ел1.Наименование);
    КонецЦикла;

Автор: andrew76 20.02.24, 17:57

Этот код от 1С 8.

andrew76 @ Сегодня, 20:06 * ,


Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Обрабатывать НеПомеченныеНаУдаление;
|Период с  ДатаАкт по ДатаАкт;
|Сотр      = Справочник.Сотрудники.ТекущийЭлемент;
|Без итогов;
|группировка Сотр;
|"//}}ЗАПРОС
;
      

// Если ошибка в запросе, то выход из процедур
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
     Возврат;
КонецЕсли;


Пока Запрос.Группировка() = 1 Цикл              
     Сообщить(Запрос.Сотр.ПолныйКод());
КонецЦикла;

Автор: takefive 22.02.24, 17:19

    Родитель = СсылкаНаОбъект.Родитель;
    Пока Родитель.Выбран() = 1 Цикл
        Сообщить(Родитель);
        Родитель = Родитель.Родитель;
    КонецЦикла;

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua