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


Единицы деятельности без владельцев

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

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

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

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

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

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

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

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

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

Справочник для построения фильтра

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Так как отчет будет создаваться для всех единиц деятельности и не зависит от объекта, от которого он будет вызван, создаем шаблон отчета с типом "Шаблон отчета" (подробнее о типах отчета см. Типы отчетов) с названием "Единицы деятельности без оргединиц" и переходим к его редактированию в Мастере отчетов.

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

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

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

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

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

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

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

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

Результат

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

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

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

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

Driven by DokuWiki