Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

ru:creating_user_reports:examples:proc_without_owner [2013/10/22 17:35]
radchenko [Класс для построения фильтра]
ru:creating_user_reports:examples:proc_without_owner [2019/02/18 15:32] (текущий)
Строка 1: Строка 1:
 ====== Процессы без владельцев ====== ====== Процессы без владельцев ======
  
-Пример создания отчета "Процессы без владельцев".+Рассмотрим пример создания отчета "Процессы без владельцев".  
 +  
 +Для понимания этой статьи требуется знание того: 
 +  * как создавать, настраивать и сохранять фильтры (см. [[/ru/manual/manual]] -> [[/ru/manual/filter]]); 
 +  * как создавать динамические и статические отчеты, добавлять в них привязки (см. [[/ru/manual/manual]] -> [[/ru/manual/report]]); 
 +  * как находить параметры справочников и связи между справочниками в **Объектной модели** (см. [[ru/creating_user_reports/report/object_model]], [[/ru/manual/manual]] -> [[/ru/manual/report/object_model]]).
  
-Для понимания этой статьи требуется, чтобы читатель знал: +Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в Business Studio, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов.
-  * как создавать, настраивать и сохранять фильтры (см. раздел [[/ru/manual/filter]]), +
-  * как создавать динамические и статические отчеты, добавлять в них привязки (см. раздел [[/ru/manual/report]]), +
-  * как находить параметры справочников и связи между справочниками в **Объектной модели** (см. раздел [[/ru/manual/report/object_model]]).+
  
-Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в программе, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов. 
 ===== Постановка задачи ===== ===== Постановка задачи =====
  
-Необходимо создать отчет формата Word. В отчете должен быть список процессов, у которых нет владельцев. При этом типами процессов типа "Действие", "Решение" и "Ссылка" пренебречь.+Необходимо создать отчет формата MS Word. В отчете должен выводиться список процессов, у которых нет владельцев. Типами процессов "Действие", "Решение" и "Ссылка" необходимо пренебречь.
  
 ===== Идея решения задачи ===== ===== Идея решения задачи =====
  
-По заданными условиям получить информацию напрямую в виде отдельного справочника нельзя, поэтому  для решения задачи необходимо будет выбирать данные из имеющихся справочников. Задачи выборки данных решаются через использование в отчетах хранимых фильтров. Поэтому сначала необходимо создать фильтр, а потом уже создавать привязки в отчете.+По заданными условиям нельзя получить информацию напрямую из одного справочника. Для решения задачи необходимо выбирать данные из имеющихся справочников. Задачи выборки данных решаются через использование в отчетах хранимых фильтров. Сначала необходимо создать фильтр, а потом использовать его при создании привязки в отчете.
  
-Ключевым вопросом при решении является создание правильных условий фильтра.+Ключевым вопросом при решении задачи является создание правильных условий фильтра.
  
 ===== Создание фильтра ===== ===== Создание фильтра =====
Строка 23: Строка 24:
 ==== Класс для построения фильтра ==== ==== Класс для построения фильтра ====
  
-Под понятием "Владелец процесса" понимаются связи между процессами и субъектами, у которых тип имеет категорию "Владелец".+Для отбора "владельцев процесса" будем рассматривать такие связи субъекта с процессом, у которых тип категории = "Владелец".
  
-Получить данные о связях процессов и субъектов с такой категорией можно через+Данные о связях процессов и субъектов с такой категорией представлены при помощи
-  - Справочник "Связи субъекта с процессом" (**Главное меню → Отчеты → Объектная модель → Классы → Общие связи → БизнесМодель.СвязиПроцессов**) содержит информацию по всем типам связей. К этому справочнику обращается параметр "Субъекты" в справочнике "Процессы". +  - Справочника "Связи субъекта с процессом" (**Главное меню** -> **Отчеты** -> **Объектная модель** -> "Классы" -> "Общие связи" -> "БизнесМодель.СвязиПроцессов"), который содержит информацию по всем типам связей субъекта с процессом. К этому справочнику обращается параметр "Субъекты" в справочнике "Процессы". 
-  - Параметр типа список "Владельцы процесса" у справочника "Процессы".+  - Параметра "Владельцы процесса" типа "Список" в справочнике "Процессы".
  
-По сути, список "Владельцы процесса" является результатами выполнения фильтра по справочнику "Связи субъекта с процессами" -- показываются связи только с типом, у которых задана категория "Владелец". Поэтому, чтобы не делать лишних действий, необходимо рассматривать список "Владельцы процесса". А это означает, что фильтр будет создаваться по классу "Процессы". +Список "Владельцы процесса" является результатом выполнения фильтра по справочнику "Связи субъекта с процессом" -- в списке отображаются только связи с категорией "Владелец". Для того чтобы не делать лишних действий, необходимо рассматривать список "Владельцы процесса". Фильтр будет создаваться по классу "Процессы". 
-==== Закладка "Условия" ====+ 
 +==== Вкладка "Условия" ====
  
 При детальном рассмотрении задачи можно сформулировать 3 подзадачи по формированию условий: При детальном рассмотрении задачи можно сформулировать 3 подзадачи по формированию условий:
-  - Условия, отбирающие процессы без владельцев: на закладке "Субъектыне должно быть субъектов, у которых категория связи "Владелец". +  - Условия, отбирающие процессы без владельцев: на вкладке **Субъекты** не должно быть субъектов, у которых категория связи "Владелец". 
-  - Условия отсечения типов процессов согласно постановке задачи: Действия, Решения и Ссылки.+  - Условия отсечения типов процессов согласно постановке задачи: "Действие""Решение" и "Ссылка".
   - Технические условия, которые отберут только принятые в рабочей практике процессы: процессы с типами, отличными от используемых в работе типов процессов (папка, внешняя ссылка, служебный).   - Технические условия, которые отберут только принятые в рабочей практике процессы: процессы с типами, отличными от используемых в работе типов процессов (папка, внешняя ссылка, служебный).
  
Строка 41: Строка 43:
 ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^ ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^
 | Владельцы процесса | Подфильтр |  =  |   |  +  |   | | Владельцы процесса | Подфильтр |  =  |   |  +  |   |
-| - guid | Значение |  =  |   |  +  |   |+ - guid | Значение |  =  |   |  +  |   |
 | Тип процесса | Список значений |  =  | Папка, Внешняя ссылка, Служебный, Действие, Решение, Ссылка |  +  |   | | Тип процесса | Список значений |  =  | Папка, Внешняя ссылка, Служебный, Действие, Решение, Ссылка |  +  |   |
 <endTableBox| Таблица 1. Условия фильтра> <endTableBox| Таблица 1. Условия фильтра>
  
-**Пояснение по параметру "Владельцы процесса".** В параметре типа список "Владельцы процесса" необходимо указать, что субъектов в нем нет. Для  этого:+**Пояснение по параметру "Владельцы процесса".** Для параметра "Владельцы процесса" (тип параметра -- "Список") необходимо указать, что субъекты в нем не заданы. Для этого:
   - Указывается, что у параметра "Владельцы процесса" есть непустое значение по параметру "guid". Т.е. указываем на то, что владельцы у процесса есть.   - Указывается, что у параметра "Владельцы процесса" есть непустое значение по параметру "guid". Т.е. указываем на то, что владельцы у процесса есть.
   - На уровне параметра "Владельцы процесса" делается отрицание заданного выше условия. Т.е. отрицание того, что у процесса есть Владелец.   - На уровне параметра "Владельцы процесса" делается отрицание заданного выше условия. Т.е. отрицание того, что у процесса есть Владелец.
Строка 51: Строка 53:
 Различные условия в параметрах списка "Владельцы процесса" означали бы условия в уже имеющихся связях процесса с субъектами. Различные условия в параметрах списка "Владельцы процесса" означали бы условия в уже имеющихся связях процесса с субъектами.
  
-==== Закладка "Показ" ====+==== Вкладка "Показ" ====
  
 На показ будут выводиться названия процессов. На показ будут выводиться названия процессов.
Строка 57: Строка 59:
 ^  Показывать  ^  Параметр  ^ ^  Показывать  ^  Параметр  ^
 |  +  | Название | |  +  | Название |
-<endTableBox| Таблица 2. Настройка отображения параметров для показа.>+<endTableBox| Таблица 2. Настройка отображения параметров для показа>
  
-Для того, чтобы данные показывались в порядке кодов, необходимо в сортировку перенести параметр "Автокод для сортировки".+Для того, чтобы данные показывались в порядке кодов, необходимо в сортировку перенести параметр "Иерархический код для сортировки".
 <startTableBox> <startTableBox>
 ^  Параметр  ^  Направление  ^ ^  Параметр  ^  Направление  ^
-Автокод для сортировки | По возрастанию | +Иерархический код для сортировки | По возрастанию | 
-<endTableBox| Таблица 3. Настройка сортировки списка по "Автокоду".>+<endTableBox| Таблица 3. Настройка сортировки списка по параметру "Иерархический код для сортировки"> 
 ==== Сохранение фильтра ==== ==== Сохранение фильтра ====
  
-Сохраняем фильтр с названием "Процессы без владельцев". Место сохранения -- Пользовательские фильтры.+Сохраняем фильтр с названием "Процессы без владельцев". Место сохранения -- "Пользовательские фильтры".
  
 ===== Создание отчета ===== ===== Создание отчета =====
  
-Так как отчет будет создаваться для всех процессов и не зависит от объекта, от которого он будет вызван, то логичным будет создание статического отчета. Создаем статический отчет с названием "Процессы без субъектов" и переходим к его редактированию в Мастере отчетов.+Так как отчет будет создаваться для всех процессов и не зависит от объекта, от которого он будет вызван, то логичным будет создание статического отчета. Создаем статический отчет с названием "Процессы без субъектов" и переходим к его редактированию в **Мастере отчетов**.
  
 ==== Добавление привязки ==== ==== Добавление привязки ====
  
-Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчет и как будут выглядеть вставленные данные в отчете (см. [[ru/manual/report/types_anchor]]).+Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчети как будут выглядеть вставленные данные в отчете (см. [[/ru/manual/manual]] -> [[ru/manual/report/types_anchor]]).
  
-Исходя из того, что наши данные получаются из фильтра и по условиям задачи должны выглядеть как список (таблица), определяем тип привязки -- "Фильтр". В качестве конкретного фильтра выбирается ранее созданный и сохраненный фильтр " Процессы без единого субъекта ".+Исходя из того, что наши данные получаются из фильтра и по условиям задачи должны выглядеть как список (таблица), определяем тип привязки -- "Фильтр". В качестве конкретного фильтра выбирается ранее созданный и сохраненный фильтр "Процессы без единого субъекта".
  
-В окне "Настройка сложной привязки к данным" делаем: +В окне **Настройка сложной привязки к данным** выполняем: 
-  * переименование параметра "Название" в "Процесс", +  * переименование привязки "Название" в "Процесс", 
-  * добавление привязки типа "Нумератор" и переносим её вверх списка.+  * добавление привязки типа "Нумератор" и перенос её вверх в списке привязок.
  
-[{{ ru:creating_user_reports:examples:proc_without_owner:pic1.png?nolink | Рисунок 1. Вид окна "Настройка сложной привязки к даннымпосле всех необходимых настроек.}}] +[{{ ru:creating_user_reports:examples:proc_without_owner:pic1.png?nolink | Рисунок 1. Вид окна **Настройка сложной привязки к данным** после всех необходимых настроек}}] 
  
 ==== Редактирование шаблона ==== ==== Редактирование шаблона ====
  
-В шаблоне отчета вносим необходимые внешние изменения, сохраняем и выполняем отчет.+В шаблоне отчета вносим необходимые изменения в оформление, сохраняем и выполняем отчет.
  
-[{{ ru:creating_user_reports:examples:proc_without_owner:pic2.png?nolink | Рисунок 2. Вид привязки типа фильтр "Процессы без единого субъекта" в окне шаблона отчета.}}] +[{{ ru:creating_user_reports:examples:proc_without_owner:pic2.png?nolink | Рисунок 2. Вид привязки "Процессы без единого субъекта" (тип "Фильтр") в шаблоне отчета}}] 
  
 ===== Результат ===== ===== Результат =====
  
-[{{ ru:creating_user_reports:examples:proc_without_owner:pic3.png?nolink | Рисунок 3. Один из возможных вариантов выполнения отчета "Процессы без владельцев".}}] +Пример одного из возможных результатов выполнения отчета "Процессы без владельцев" приведен на Рис. 3. 
 + 
 +[{{ ru:creating_user_reports:examples:proc_without_owner:pic3.png?nolink | Рисунок 3. Пример выполнения отчета "Процессы без владельцев"}}] 
  
 ===== Рекомендация ===== ===== Рекомендация =====
  
 Для того, чтобы быть уверенным в правильности всех выполненных шагов, рекомендуется создать объекты для тестирования: хотя бы один процесс, который известен заранее и попадет в искомую группу поиска, должен быть без субъектов с типом связи "является владельцем" (категория типа связи "Владелец"). Для того, чтобы быть уверенным в правильности всех выполненных шагов, рекомендуется создать объекты для тестирования: хотя бы один процесс, который известен заранее и попадет в искомую группу поиска, должен быть без субъектов с типом связи "является владельцем" (категория типа связи "Владелец").
 +
 +
 +
 +
 +
 +[<contextnavigator>]
 +
 +
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki