Это старая версия документа.




Родитель верхнего уровня

Рассмотрим пример создания отчета "Родитель верхнего уровня".

Для понимания этой статьи требуется знание того:

Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в программе, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов.

Постановка задачи

Необходимо создать отчет формата MS Word, который может вызываться от любой единицы деятельности. В отчете должно выводиться предложение, которое будет формироваться по такому шаблону:

Единица деятельности "<Название единицы деятельности, от которого выполняется отчет>" входит в ветку "<Название единицы деятельности – ключевого родителя ветки>".

Под ключевым родителем ветки понимается единица деятельности вида А1, А2, …, Аn. Т.е. это единица деятельности, находящийся на диаграмме А0.

Идея решения задачи

Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчет и как будут выглядеть вставленные данные в отчете (см. Руководство пользователяТипы привязок и работа с ними). Как видно из заданного шаблона предложения, в отчет необходимо вставить данные двух привязок.

  1. <Название единицы деятельности, от которой выполняется отчет> - привязка типа "Объект" по параметру "Название". Наиболее частая и первая привязка во всех отчетах объекта.
  2. <Название единицы деятельности – ключевого родителя ветки> - привязка типа "BAND" по списку "Предки" с фильтром.

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

Так как из списка родителей необходимо отобрать только одного родителя, и представить эти данные не в виде списка, а в виде отдельного значения, то необходимо выбрать привязку типа "BAND".

Добавление фильтра к выбранной привязке оставит в списке только одну единицу деятельности – ключевой родитель.

Создание отчета

В Мастере отчетов создается отчет по единице деятельности. В шаблоне отчета создается текст по заданному ранее формату (шаблону). Оставляется место, необходимое для последующей вставки привязок.

Добавление первой привязки

В место, где необходимо вставить название единицы деятельности, от которого вызывается отчет, производится вставка привязки типа "Объект" по параметру "Название".

Добавление второй привязки

В место, где необходимо вставить название родителя, производится вставка привязки типа "BAND" по параметру "Предки". В настройках сложной привязки в качестве выбранного параметра для вывода выбираем "Название".

Рисунок 1. Вид настройки сложной привязки по привязке типа BAND (без добавления фильтра)

Редактирование шаблона

После добавления привязки в шаблон отчета и компоновки закладок привязки, шаблон отчета будет иметь вид, приведенный ниже.

Рисунок 2. Вид шаблона отчета

Добавление фильтра ко второй привязке

В привязке типа "BAND" осталось произвести фильтрацию так, чтобы список содержал только 1 единицу деятельности из списка всех предков. Ключевым параметром, значения которого являются неповторимыми для единиц деятельности одной ветки, является параметр "Уровень в модели". Для единиц деятельности вида А1, А2, …, Аn – значение этого параметра равно 1.

В окне Привязки отчетов через контекстное меню привязки типа "BAND" создаем и сохраняем фильтр по параметру класса с названием "Родитель.Уровень=1" в папке "Пользовательские фильтры". В основном условии фильтра задаются необходимые условия.

Параметр Тип Оператор Значение Не Потомки
Уровень в модели Значение = 1    
Тип Значение = IDEF0    
Таблица 1. Условия фильтра

Пояснение к параметру "Тип". Так как этот параметр является хранимым, то это условие по нему позволит сократить время выполнения фильтра, а следовательно, и время выполнения отчета. При этом предполагается, что все единицы деятельности этого уровня будут с типом IDEF0.

Рисунок 3. Вид привязки типа "BAND" с настроенным фильтром

Сохранение отчета

Сохраняем отчет под названием "Родитель верхнего уровня" в папке "Пользовательские шаблоны отчетов".

Результат

Пример одного из возможных результатов выполнения отчета "Родитель первого уровня" приведен на Рис. 4.

Рисунок 4. Пример выполнения отчета "Родитель первого уровня"
 
Driven by DokuWiki