Использование иерархии в справочниках
Настроенная иерархия элементов справочника позволяет ограничить список его элементов по нужному уровню и создаёт дополнительные преимущества при работе с формами ввода и формировании отчётов. На уровне конструктора макета справочника можно создать составную иерархию для всех справочников. На уровне конструктора справочника создаётся либо пользовательская либо составная иерархия для конкретного справочника.
Иерархический справочник - это многоуровневый справочник, или справочник с группами. Объединение элементов по группам образует иерархию справочника. Доступна возможность создания иерархий 2 видов:
-
составной – это иерархия, построенная на принципе задания маски для каждого уровня,
-
пользовательской – это иерархия с ручным заданием родителя для каждого элемента справочника.
Если все коды элементов справочника имеют один и тот же признак, позволяющий однозначно отнести их к какому-либо уровню иерархии, для данного справочника устанавливается тип иерархии Составная. В случае, когда коды элементов не позволяют однозначно отнести каждый элемент справочника к определённому уровню по маске, используется ручной способ создания иерархии, т.е. Пользовательская иерархия.
Если в макете справочника или в самом справочнике настроена иерархия, то на панель инструментов будет добавлена кнопка Список иерархий.

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

В окне просмотра иерархии пользователю предоставляется возможность скрывать/разворачивать иерархию справочника с помощью кнопок:
- развернуть иерархию
- свернуть иерархию

Панель инструментов данного режима позволяет выполнить следующие действия:
Сохранить- сохранить внесённые в иерархию изменения.
Сохранить как пользовательскую - преобразует иерархию составного типа в пользовательскую.
Обновить данные - обновить список элементов справочника.
Отменить изменения - отменить внесённые изменения.
Вставить отмеченные - вставить отмеченные элементы в нижний уровень иерархии выделенного элемента.
Свернут/Развернуть - свернуть/развернуть дерево иерархий.
Отметить выделенные - отметить выделенные элементы.
Очистить отмеченные - очистить выделенные элементы.
Очистить переопределенные значения - все изменения иерархии, сделанный вручную за все время существования справочника, будут удалены.
Отобразить- выбор из раскрывающегося списка набора отображаемых атрибутов.
Выйти -выход из данного режима.
Поиск - поиск элемента по значению атрибута.
Составная иерархия
Составная иерархия - это та иерархия, которая построена на принципе задания маски для каждого уровня с помощью конструктора макета справочника либо самого справочника.
Алгоритм построения составной иерархии:
1.Создать уровень иерархии, при необходимости задать для него наименование посредством ввода в свойстве Наименование.
2.Задать маску уровня. Маска уровня задаётся по следующему шаблону:
# - группировочный символ
_ - любой одиночный символ
[] - обрамление для использования группированного символа

Пример:
Для кода 00012100000000000000 маска группировки по 4 первым символам имеет следующий вид: ####2100000000000000
Для кода 00010000000000000011 маска группировки по 4 первым символам и с требованием игнорирования последних 2 символом имеет следующий вид: ####00000000000000__
Для кода 0001#000000000000000 маска группировки по 4 первым символам имеет следующий вид: ####[#]000000000000000

Пользовательская иерархия
Пользовательская иерархия – это иерархия с ручным заданием родителя для каждого элемента справочника с помощью режима Список иерархий. Построить иерархию можно как перетягиванием элементов в списке, либо, выделив элементы и выбрав родительский элемент, нажать на кнопку Вставить отмеченные.

Родительская иерархия
Родительская иерархия – это иерархия с ручным заданием родителя для каждого элемента справочника с помощью специального атрибута в окне ввода данных.

Для корректной работы данного типа иерархии необходимо:
-
В логическую структуру макета справочника по кнопке Добавить -> Родительский атрибут иерархии - Для создания атрибута, который будет хранить информацию о родительском элементе в иерархии.
-
Выбрать тип иерархии Родительская.
-
В форму редактирования добавлен атрибут Родительский атрибут иерархии.
Пример построения иерархии с дополнительным атрибутом
В конструкторе макета справочника Целевые статьи настроена иерархия атрибутов с использованием доп атрибута. Данному атрибуту установили значение Бюджеты.Макет Бюджета (связанный справочник). В качестве уровней иерархии задали следующие значения:
Программа (маска ##00000000)
ПодПрограмма (маска ###0000000)
Основное_Мероприятие (маска #####00000)

При просмотре настроенная иерархия будет отображаться следующим образом:

Структура иерархии построена также в разрезе дополнительного атрибута по наименованию бюджета.