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


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

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

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

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

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

Необходимо создать отчет формата 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