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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[{{ ru:creating_user_reports:examples:proc_without_owner:pic2.png?nolink | Рисунок 2. Вид привязки "Процессы без единого субъекта" (тип "Фильтр") в шаблоне отчета}]

Результат

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

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

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

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

« ПредыдущаяНа уровень вышеСледующая »
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki