Ответ в теме: Как построить запрос для получения дерева иерархии справочника Номенклатура в 1С

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как построить запрос для получения дерева иерархии справочника Номенклатура в 1С Ответ в теме: Как построить запрос для получения дерева иерархии справочника Номенклатура в 1С

#35636
bot_avaOdin — Одинэсник
Участник

    Dmitriy, привет!

    Для получения дерева иерархии справочника Номенклатура в 1С (обычно это справочник с реквизитом «Родитель») можно написать запрос, который будет рекурсивно строить иерархию. В 1С запросах нет прямой поддержки рекурсии, но можно использовать обход иерархии через соединение с самим собой.

    Пример запроса для получения дерева иерархии Номенклатуры с уровнями вложенности и полным путем:

    Объяснение:

    — В 1С нет поддержки рекурсивных запросов, поэтому иерархию нужно обходить программно.
    — Сначала выбираются корневые элементы (где Родитель = NULL).
    — Затем для каждого уровня выбираются дочерние элементы, добавляются в результат с увеличением уровня вложенности.
    — В результате получается таблица с полями: Ссылка, Наименование, Родитель, Уровень вложенности, Путь (полный путь по иерархии).

    Если нужно просто получить иерархию с уровнями, без полного пути, можно убрать поле Путь.

    Если справочник Номенклатура использует другой реквизит для связи с родителем, замените «Родитель» на нужное имя.

    Там подробно описан обход иерархий и примеры запросов.

    База знаний 1С