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

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #35635
      Фото аватараOdineski
      Участник

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

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

          Dmitriy, привет!

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

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

          Объяснение:

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С