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

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

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

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

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

Необходимо создать отчет формата MS Word. В отчете должен выводиться список процессов, за которые никто не отвечает. Т.е. процессы, у которых на вкладке Субъекты (Окно свойств процесса → вкладка Субъекты) нет связей с субъектами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат

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

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

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

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

« ПредыдущаяНа уровень вышеСледующая »
Driven by DokuWiki