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




Единицы деятельности без оргединиц

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат

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

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

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

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

 
Driven by DokuWiki