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


Процессы без субъектов

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

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

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

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

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

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

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

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

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

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

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

Внимание!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат

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

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

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

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