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


Процессы без владельцев

Пример создания отчета "Процессы без владельцев".

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

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

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

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

Необходимо создать отчет формата Word. В отчете должен быть список процессов, у которых нет владельцев. При этом типами процессов типа "Действие", "Решение" и "Ссылка" пренебречь.

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

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

Ключевым вопросом при решении является создание правильных условий фильтра.

Создание фильтра

Класс для построения фильтра

Под понятием "Владелец процесса" понимаются связи между процессами и субъектами, у которых тип имеет категорию "Владелец".

Получить данные о связях процессов и субъектов с такой категорией можно через:

  1. Справочник "Связи субъекта с процессом" (путь в Объектной модели: Классы – Общие связи – БизнесМодель.СвязиПроцессов) содержит информацию по всем типам связей. К этому справочнику обращается параметр "Субъекты" в справочнике "Процессы".
  2. Параметр типа список "Владельцы процесса" у справочника "Процессы".

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

Закладка "Условия"

При детальном рассмотрении задачи можно сформулировать 3 подзадачи по формированию условий:

  1. Условия, отбирающие процессы без владельцев: на закладке "Субъекты" не должно быть субъектов, у которых категория связи "Владелец".
  2. Условия отсечения типов процессов согласно постановке задачи: Действия, Решения и Ссылки.
  3. Технические условия, которые отберут только принятые в рабочей практике процессы: процессы с типами, отличными от используемых в работе типов процессов (папка, внешняя ссылка, служебный).

Согласно указанной ранее логике в фильтре выставляются условия, приведенные ниже.

Параметр Тип Оператор Значение Не Потомки
Владельцы процесса Подфильтр =   +  
- guid Значение =   +  
Тип процесса Список значений = Папка, Внешняя ссылка, Служебный, Действие, Решение, Ссылка +  
Таблица 1. Условия фильтра

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

  1. Указывается, что у параметра "Владельцы процесса" есть непустое значение по параметру "guid". Т.е. указываем на то, что владельцы у процесса есть.
  2. На уровне параметра "Владельцы процесса" делается отрицание заданного выше условия. Т.е. отрицание того, что у процесса есть Владелец.

Различные условия в параметрах списка "Владельцы процесса" означали бы условия в уже имеющихся связях процесса с субъектами.

Закладка "Показ"

На показ будут выводиться названия процессов.

Показывать Параметр
+ Название
Таблица 2. Настройка отображения параметров для показа.

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

Параметр Направление
Автокод для сортировки По возрастанию
Таблица 3. Настройка сортировки списка по "Автокоду".

Сохранение фильтра

Сохраняем фильтр с названием "Процессы без владельцев". Место сохранения – Пользовательские фильтры.

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

Так как отчет будет создаваться для всех процессов и не зависит от объекта, от которого он будет вызван, то логичным будет создание статического отчета. Создаем статический отчет с названием "Процессы без субъектов" и переходим к его редактированию в Мастере отчетов.

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

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

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

В окне "Настройка сложной привязки к данным" делаем:

  • переименование параметра "Название" в "Процесс",
  • добавление привязки типа "Нумератор" и переносим её вверх списка.
Рисунок 1. Вид окна "Настройка сложной привязки к данным" после всех необходимых настроек.

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

В шаблоне отчета вносим необходимые внешние изменения, сохраняем и выполняем отчет.

Рисунок 2. Вид привязки типа фильтр "Процессы без единого субъекта" в окне шаблона отчета.

Результат

Рисунок 3. Один из возможных вариантов выполнения отчета "Процессы без владельцев".

Рекомендация

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

Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki