Рассмотрим пример создания отчета "Процессы без субъектов".
Для понимания этой статьи требуется знание того:
Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в Business Studio, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов.
Необходимо создать отчет формата MS Word. В отчете должен выводиться список процессов, за которые никто не отвечает. Т.е. процессы, у которых на вкладке Субъекты (Окно свойств процесса → вкладка Основные) нет связей с субъектами.
По заданными условиям нельзя получить информацию напрямую из одного справочника. Для решения задачи необходимо выбирать данные из имеющихся справочников. Задачи выборки данных решаются через использование в отчетах хранимых фильтров. Сначала необходимо создать фильтр, а потом использовать его при создании привязки в отчете.
Ключевым вопросом при решении задачи является создание правильных условий фильтра.
В Окне свойств процесса можно увидеть наличие или отсутствия связи с субъектом на вкладке Субъекты. Эта вкладка представляет данные по параметру типа "Список" в справочнике "Процессы". Поэтому задавать условия выборки процессов необходимо в фильтре по справочнику "Процессы".
В справочнике "Процессы" нехранимый параметр типа список "Субъекты" ссылается на справочник "Связи субъекта с процессом" (Главное меню → Отчеты → Объектная модель → "Классы" → "Общие связи" → "БизнесМодель.СвязиПроцессов"). Именно в этом справочнике хранится информация о всех связях субъектов с процессами. Но этот справочник показывает лишь то, какие связи есть, и не фиксирует отсутствующие связи. Поэтому использовать данный справочник для решения поставленной задачи не представляется возможным.
При детальном рассмотрении задачи, можно сформулировать 2 подзадачи по формированию условий фильтра:
Согласно указанной ранее логике в фильтре выставляются условия, приведенные ниже.
Параметр | Тип | Оператор | Значение | Не | Потомки |
---|---|---|---|---|---|
Субъекты | Подфильтр | = | + | ||
- Субъект | Значение | = | + | ||
Тип процесса | Список значений | = | Папка, Внешняя ссылка, Служебный | + |
Пояснение по параметру "Субъекты". В параметре типа список "Субъекты" необходимо указать, что субъектов в нем нет. Для этого:
На показ будут выводиться названия процессов.
Показывать | Параметр |
---|---|
+ | Название |
Для того чтобы данные были отсортированы по коду процесса, необходимо в добавить сортировку по параметру "Иерархический код для сортировки".
Параметр | Направление |
---|---|
Иерархический код для сортировки | По возрастанию |
Сохраняем фильтр с названием "Процессы без единого субъекта". Место сохранения - папка "Пользовательские фильтры".
Так как отчет будет выводиться для всех процессов и не зависит от объекта, от которого он будет вызван, то логичным будет создание статического отчета. Создаем статический отчет с названием "Процессы без субъектов" и переходим к его редактированию в Мастере отчетов.
Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчет, и как будут выглядеть вставленные данные в отчете (см. Руководство пользователя → Типы привязок и работа с ними).
Исходя из того, что наши данные получаются из фильтра и по условиям задачи должны выглядеть как список (таблица), определяем тип привязки – "Фильтр". В качестве конкретного фильтра выбирается ранее созданный и сохраненный фильтр "Процессы без единого субъекта".
В окне Настройка сложной привязки к данным выполняем:
В шаблоне отчета вносим необходимые изменения в оформление, сохраняем и выполняем отчет.
Пример одного из возможных результатов выполнения отчета "Процессы без субъектов" приведен на Рис. 3.
Для того чтобы быть уверенным в правильности всех выполненных шагов, рекомендуется создать объекты для тестирования: хотя бы один процесс должен быть без связей с субъектами.