Тип привязки "Дерево" используется для вывода в отчете справочников, имеющих иерархическую структуру. К таким справочникам относятся, например, справочники "Деятельность", "Оргединицы" или любые другие справочники, где разрешено создание папок.
В структуре привязки "Дерево" можно вывести значения любых параметров объекта привязки, в том числе вложенную привязку типа "Список" или вложенную привязку типа "Дерево" (см. Типы привязок и работа с ними).
В шаблоне для привязки типа "Дерево" создается такая же таблица, как и для привязки типа "Список". Подробнее о вставке привязки в шаблон описано в главе Вставка привязки в шаблон отчета.
Привязка типа "Дерево" может использоваться двумя способами:
Для вывода иерархии от объекта привязки объект привязки обязательно должен принадлежать справочнику с иерархической структурой.
При выборе типа привязки "Дерево" на экран выводится страница выбора корня дерева. В качестве корня при данном виде настройки выбирается -Объект- (Рис. 1).
Это единственный случай, когда можно не выбирать параметр. На странице настройки привязки (Рис. 2) настраиваются привязки для параметров, значения которых будут выводиться в таблице. Это параметры справочника объекта привязки, указанного в поле Путь.
В списке дочерних привязок имеется колонка Узел дерева. Если флажок установлен, то значения будут выводиться с отступами, соответствующими уровню в иерархии. Если флажок снят, то все значения будут выводиться без отступа, на одном уровне.
Число уровней иерархического справочника для вывода в отчете задается в поле Глубина дерева. Если нужно вывести все уровни списка, а их количество заранее неизвестно, то можно ввести любое число, заведомо превышающее количество уровней в списке.
Флажок Выводить иерархический номер в первой колонке устанавливается, если нужно вывести иерархический номер объекта списка. В отчете номер всегда выводится в первой колонке слева. Под номер должна быть зарезервирована отдельная колонка таблицы.
При использовании этого способа настройки привязки типа "Дерево" в качестве корня дерева выбирается параметр объекта привязки, принадлежащий иерархическому справочнику. Дополнительные привязки настраиваются для выбранного параметра, а не для объекта привязки.
Этот способ используется при создании вложенного дерева в привязках типа "BAND".
Пример привязки типа "Дерево" можно видеть в отчете "Регламент функции IDEF0". Название привязки - "Annex A Object groups". С её помощью выводится иерархический список единиц деятельности - потомков той единицы деятельности, от которой вызвали отчет, включая саму эту единицу деятельности, а от каждого из них с помощью дочерней привязки типа "Список" - список связей единицы деятельности по объектам с наложенным на привязку фильтром для отбора только связей с наборами объектов.
Выбран тип привязки "Дерево"; источник данных - "Динамическая привязка"; корень дерева - "-Объект-".
На странице настройки сложной привязки настроена дополнительная привязка: привязка с типом "Список" - "Functional objects of inputs and outputs", которая в свою очередь имеет свои дополнительные привязки для вывода нумератора, названия набора объектов и перечня составляющих набор объектов. Глубина дерева у привязки "Annex A Object groups": 1 - для вывода корня дерева (самой единицы деятельности, от которого вызывается отчет) и его непосредственных потомков.
Таблица в шаблоне состоит из трех колонок, в первую вставлен тег привязки "Annex A Object groups" (Рис. 3).
В результате выполнения отчета "Регламент функции IDEF0" для единицы деятельности "A0 Деятельность в области проектирования и монтажа инженерно-технических систем" (демонстрационная база данных) будет получена таблица, представленная на Рис. 4.