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


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

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

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

  • как создавать, настраивать и сохранять фильтры (см. раздел Фильтры),
  • как создавать динамические и статические отчеты, добавлять в них привязки (см. раздел Отчеты),
  • как находить параметры справочников и связи между справочника в Объектной модели (см. раздел Объектная модель).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Наложение фильтра на вторую привязку

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

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

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

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

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

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

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

Результат

Invalid Link
Рисунок 4. Один из возможных вариантов выполнения отчета "Родитель первого уровня".
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki