Рассмотрим пример создания отчета "Родитель верхнего уровня".
Для понимания этой статьи требуется знание того:
Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в программе, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов.
Необходимо создать отчет формата MS Word, который может вызываться от любого процесса. В отчете должна выводиться предложение, которое будет формироваться по шаблону:
Процесс "<Название процесса, от которого выполняется отчет>" входит в ветку "<Название процесса -- ключевого родителя ветки>".
Под ключевым родителем ветки понимается процесс вида А1, А2, …, Аn. Т.е. это процесс, находящийся на диаграмме А0.
Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчет и как будут выглядеть вставленные данные в отчете (см. Руководство пользователя → Типы привязок и работа с ними). Как видно из заданного шаблона предложения, в отчет необходимо вставить данные двух привязок.
Пояснение к выбору привязки по ключевому родителю. Ключевой родитель ветки – это процесс, стоящий выше по ветке процесса, от которого вызывается отчет. Список всех процессов, выше выбранного, можно получить через нехранимый параметр "Список родителей процесса" типа "Список".
Так как из списка родителей необходимо отобрать только одного родителя, и представить эти данные не в виде списка, а в виде отдельного значения, то необходимо выбрать привязку типа "BAND".
Добавление фильтра к выбранной привязке оставит в списке только один процесс – ключевой родитель.
В Мастере отчетов создается отчет по процессу. В шаблоне отчета создается текст по заданному ранее формату (шаблону). Оставляется место, необходимое для последующей вставки привязок.
В место, где необходимо вставить название процесса, от которого вызывается отчет, производится вставка привязки типа "Объект" по параметру "Название".
В место, где необходимо вставить название родителя, производится вставка привязки типа "BAND" по параметру "Список родителей процесса". В настройках сложной привязки в качестве выбранного параметра для вывода выбираем "Название".
После добавления привязки в шаблон отчета и компоновки закладок привязки, шаблон отчета будет иметь вид, приведенный ниже.
В привязке типа "BAND" осталось произвести фильтрацию так, чтобы список содержал только 1 процесс из списка всех родителей-процессов. Ключевым параметром, значения которого являются неповторимыми для процессов одной ветки, является параметр "Уровень в модели". Для процессов вида А1, А2, …, Аn – значение этого параметра равно 1.
В окне Привязки отчетов через контекстное меню привязки типа "BAND" создаем и сохраняем фильтр по параметру класса с названием "Родитель процесса.Уровень=1" в папке "Пользовательские фильтры". В основном условии фильтра задаются необходимые условия.
Параметр | Тип | Оператор | Значение | Не | Потомки |
---|---|---|---|---|---|
Уровень в модели | Значение | = | 1 | ||
Тип процесса | Значение | = | IDEF0 |
Пояснение к параметру "Тип процесса". Так как этот параметр является хранимым, то это условие по нему позволит сократить время выполнения фильтра, а следовательно, и время выполнения отчета. При этом предполагается, что все процессы этого уровня будут с типом IDEF0.
Сохраняем отчет под названием "Родитель верхнего уровня" в папке "Пользовательские отчеты".
Пример одного из возможных результатов выполнения отчета "Родитель первого уровня" приведен на Рис. 4.