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


Вывод подпроцессов, кроме блоков «Решение», с сортировкой по автокоду

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

Требуется построить отчет для процесса, в котором будет выводиться перечень его подпроцессов, отсортированных по автокоду. При этом блоков «Решение» в перечне подпроцессов быть не должно. В отчет пусть выводятся название процесса, от которого вызывается отчет, и перечень его подпроцессов. Перечень подпроцессов должен выводиться в таблице с одним столбцом – «Название» (Рис.1).

Рис.1. Примерный вид отчета

Планирование логики извлечения информации с помощью Объектной модели

Отчет необходимо будет вызывать для процесса. Следовательно, отчет будет построен по классу «Процессы». В отчет нужно выводить подпроцессы выбранного процесса.

Для того чтобы понять, каким образом для процесса представлены подпроцессы, необходимо открыть справочник «Объектная модель» (Справочники ?> Объектная модель) и найти в нем класс «Процессы». В этом классе для хранения списка подпроцессов предусмотрен специальный параметр-список – «Подпроцессы» (системное название класса параметра-списка – «БизнесМодель.Подпроцессы») (Рис.2). Этот параметр-список и нужно использовать в отчете.

Рис.2. Параметр-список «Подпроцессы» в классе «Процессы»

В Объектной модели можно перейти по ссылке к классу «БизнесМодель.Подпроцессы» (Рис.3). В этом классе интересны параметры «Владелец» и «Процесс». Параметр «Владелец» по умолчанию скрыт. Его можно отобразить, нажав кнопку «Показывать все параметры».

Рис.3. Параметры класса «БизнесМодель.Подпроцессы»

В данном классе для каждого подпроцесса есть информация, какой процесс для него является родительским (параметр «Владелец»), и информация о самом подпроцессе (параметр «Процесс»). Параметр «Процесс» ? это ссылка на элемент класса «Процессы», т.к. каждый подпроцесс – это элемент класса «Процессы».

Отобрать среди всех подпроцессов процессы, отличные от блоков «Решение», можно при помощи фильтра, построенного по классу «БизнесМодель.Подпроцессы». В этом фильтре нужно наложить для подпроцесса или внутри параметра «Процесс» условие на параметр «Тип процесса». Перечень подпроцессов должен быть отсортирован по автокоду. Чтобы посмотреть, какой параметр предусмотрен для автокода подпроцесса или процесса, необходимо перейти по ссылке от параметра «Процесс» к классу «Процессы» (Рис.4).

Рис.4. Параметр «Автокод для сортировки» в классе «Процессы»

«Автокод процесса» ? это параметр типа «Строка». Если сортировать по этому параметру, то например, процесс с кодом «А1.10» встретится раньше в списке, чем процесс с кодом «А1.2». Для сортировки по автокоду следует использовать специальный параметр – «Автокод для сортировки», в сортировке по которому будет исключено указанное неудобство.

Настройка привязок

ШАГ 1 ? Запуск Мастера отчетов и настройка условий применения отчета

Отчет с перечнем подпроцессов выбранного процесса будет динамическим, т.е. информация в нем будет меняться в зависимости от того, от какого процесса будет вызван отчет. Для создания отчета необходимо запустить Мастер отчетов (Отчеты ?> Мастер отчетов).

Отчет будет использоваться для всех объектов класса «Процессы» и название отчета должно отображаться в контекстном меню «Отчеты», вызываемом от процесса (Рис.5). После указания условий применения отчета нужно нажать кнопку «Далее».

Рис.5. Указание условий применения отчета

ШАГ 2 – Выбор класса объектов, от которых будет вызываться отчет

На данном шаге необходимо указать, для объектов какого класса будет сформирован отчет. Отчет будет использоваться для всех объектов класса «Процессы», следовательно, в открывшемся окне нужно выбрать в дереве классов класс «Процессы» и нажать кнопку «Далее» (Рис.6) для перехода к следующему шагу.

Рис.6. Выбор класса «Процессы» в качестве источника данных для отчета

ШАГ 3 – Выбор типа привязки для привязки к параметру «Название»

Для вывода названия процесса, от которого вызывается отчет, необходимо создать первую привязку к параметру «Название». Параметр «Название» ? это параметр типа «Строка». Для вывода таких параметров в отчет предусмотрена привязка типа «Объект» (Рис.7).

Invalid Link
Рис.7. Выбор привязки типа «Объект» для параметра «Название»

Для перехода к следующему шагу необходимо нажать кнопку «Далее».

ШАГ 4 ? Выбор источника данных для привязки к параметру «Название»

Информация о названии процесса будет меняться в зависимости от процесса, от которого будет вызван отчет. Этот процесс и будет использоваться в качестве источника данных для привязки «Название». Поэтому привязка «Название» будет динамической (Рис.8). По умолчанию выбран тип «Динамическая привязка к данным».

Invalid Link
Рис.8. Выбор источника данных для привязки к параметру «Название»

Для перехода к следующему шагу необходимо нажать кнопку «Далее».

ШАГ 5 – Выбор параметра «Название»

В открывшемся окне слева отображается дерево источников данных. В нем в качестве «Объекта» подразумевается элемент того класса, для которого будет строиться отчет. В данном случае – это процесс. Справа приводится перечень параметров, которые можно связать с привязкой. В перечне параметров нужно найти параметр «Название» и выделить его (Рис.9). Для удобства поиска можно отсортировать перечень параметров по колонке «Название» щелчком левой клавиши мыши по заголовку данной колонки. Название выбранного параметра дополнительно отображается в поле «Выбрано». Для перехода к следующему шагу необходимо нажать кнопку «Далее».

Рис.9. Выбор параметра «Название» для процесса, от которого будет вызван отчет

ШАГ 6 – Указание описания привязки к параметру «Название»

На следующем шаге нужно указать описание привязки к параметру «Название» (Рис.10). Данное описание будет подставлено после генерации шаблона отчета рядом с привязкой.

Дополнительно в данном окне выводится полный путь к данной привязке: «Процессы.Название». Это означает, что в классе «Процессы» выбран параметр «Название».

Рис.10. Указание описания привязки для параметра «Название»

Для перехода к следующему шагу необходимо нажать кнопку «Далее».

ШАГ 7 – Указание названия привязки к параметру «Название»

Когда выполнены все шаги по созданию привязки, открывается окно со структурой привязок отчета (Рис.11).

Рис.11. Созданная привязка к параметру «Название»

Это окно разделено на 2 части. Слева – иерархия привязок (в данном случае привязка пока одна). Справа ? для выделенной привязки указывается вся информация о ней: заданное описание (его можно изменить в поле «Описание привязки»), фильтр (если таковой наложен на данную привязку), выбранный тип привязки и путь к параметру, с которым связана данная привязка. Для других типов привязки может дополнительно отображаться и другая информация.

В этом окне для привязки к параметру «Название» необходимо задать название привязки, которое должно подсказывать, к какому параметру осуществляется привязка. Это позволит быстро ориентироваться в структуре отчета, когда привязок будет существенно больше. В названии привязки не должно быть пробелов и управляющих символов.

ШАГ 8 – Добавление новой привязки к параметру-списку «Подпроцессы»

Вторую привязку, связанную с параметром-списком «Подпроцессы», можно добавить по кнопке «Новая привязка» или через контекстное меню (Рис.12). Также для добавления привязки можно использовать горячую клавишу «INSERT».

Invalid Link
Рис.12. Создание новой привязки с использованием контекстного меню

ШАГ 9 – Выбор типа привязки для привязки к параметру-списку «Подпроцессы»

Для вывода строк параметра типа «Список» в виде таблицы предусмотрена специальная привязка типа «Список». Ее и нужно использовать для создания привязки к параметру-списку «Подпроцессы» (Рис.13).

Invalid Link
Рис.13. Выбор привязки типа «Список» для параметра-списка «Подпроцессы»

Для перехода к следующему шагу необходимо нажать кнопку «Далее».

ШАГ 10 ? Выбор источника данных для привязки к параметру-списку «Подпроцессы»

Информация о подпроцессах будет меняться в зависимости от процесса, от которого будет вызван отчет. Этот процесс будет использоваться в качестве источника данных для привязки к параметру-списку «Подпроцессы». Поэтому данная привязка будет динамической (Рис.14).

Invalid Link
Рис.14. Выбор источника данных для привязки к параметру-списку «Подпроцессы»

К следующему шагу необходимо перейти при помощи кнопки «Далее».

ШАГ 11 – Выбор параметра-списка «Подпроцессы»

Для источника данных «Объект», т.е. для процесса, от которого будет вызван отчет, необходимо в перечне параметров выделить параметр-список «Подпроцессы» (Рис.15) и нажать кнопку «Далее» для перехода к следующему шагу.

Рис.15. Выбор параметра-списка «Подпроцессы»

ШАГ 12 – Настройка фильтра для привязки к параметру-списку «Подпроцессы»

В отчет в перечень подпроцессов должны попадать только такие подпроцессы, которые не являются блоками «Решение». Ограничить перечень подпроцессов данным условием можно при помощи фильтра, построенного по классу «БизнесМодель.Подпроцессы».

Построить фильтр можно из Мастера отчетов. Для этого в открывшемся окне в области «Дополнительные настройки» нужно нажать кнопку «Настроить» (Рис.16).

Рис.16. Переход к настройкам фильтра для привязки к параметру-списку «Подпроцессы»

В окне настройки фильтра данной привязки нужно указать фильтр, при помощи которого нужно ограничить перечень выводимых подпроцессов. В данном случае фильтр еще не создан. Его можно создать при помощи кнопки «Создать фильтр с учетом класса привязки» (Рис.17).

Рис.17. Область выбора фильтра данных привязки к параметру-списку «Подпроцессы»

В открывшемся окне нужно указать название создаваемого фильтра (Рис.18) и нажать кнопку «ОК».

Рис.18. Указание названия создаваемого фильтра

Далее необходимо выделить папку, в которую следует сохранить новый фильтр, и нажать кнопку «Выбрать» (Рис.19).

Рис.19. Выбор папки для сохранения создаваемого фильтра

Теперь можно перейти к указанию условия фильтра. Это можно сделать в открывшемся окне свойств созданного фильтра по гиперссылке «Основное условие» (Рис.20).

Рис.20. Переход к условию фильтра

Нужно указать условие, что среди всех подпроцессов нужны только те, которые не относятся к блокам «Решение». Т.е. условие необходимо наложить на параметр «Тип процесса». Фильтр строится по классу «БизнесМодель.Подпроцессы», так как создание фильтра было выполнено из настроек привязки к параметру-списку «Подпроцессы».

Параметр «Тип процесса» в этом классе находится на уровень ниже, чем параметр «Процесс». К параметру «Тип процесса» можно перейти, нажав на «» рядом с параметром «Процесс» (Рис.21).

Рис.21. Переход к параметру «Процесс»

На закладке «Условия» нужно найти параметр «Тип процесса» и задать условие. Сначала можно задать обратное условие: значение параметра «Тип процесса» должно быть равно «Решение». Для этого нужно указать в столбце «Тип» в выпадающем списке «Значение», в столбце «Оператор» ? «=», в столбце «Значение» ? «Решение». Чтобы задать отрицание данного условия в столбце «Не» нужно поставить галочку (Рис.22).

Рис.22. Наложение условия на параметр «Тип процесса»

На закладке «Показ» нужно перейти к параметру «Процесс», нажав на «» рядом с этим параметром, и задать сортировку по параметру «Автокод для сортировки». Для этого нужно выделить параметр «Автокод для сортировки» в перечне параметров и нажать на кнопку «Добавить сортировку» (Рис.23).

Рис.23. Задание сортировки по параметру «Автокод для сортировки»

После указания условия и сортировки нужно нажать на кнопку «». В окне свойств фильтра нужно также нажать кнопку «Сохранить» (Рис.24).

Рис.24. Сохранение созданного фильтра

С дополнительной информацией о построении фильтров можно ознакомиться в Фильтры.

Название фильтра, по которому настроена привязка «Подпроцессы», появляется в окне настройки фильтра (Рис.25).

Рис.25. Выбранный фильтр для привязки к параметру-списку «Подпроцессы»

Для возврата на страницу настройки привязки к параметру-списку «Подпроцессы» нужно нажать кнопку «Далее». На этой странице название выбранного фильтра видно в области «Дополнительные настройки» (Рис.26).

Рис.26. Фильтр, указанный для привязки к параметру-списку «Подпроцессы»

ШАГ 13 – Выбор параметра «Название» для привязки к параметру-списку «Подпроцессы»

На данном шаге необходимо добавить дополнительную привязку к названию подпроцесса. В перечень параметров нужно добавить первую привязку к параметру «Название». Фильтр построен по классу «БизнесМодель.Подпроцессы». Следовательно «Объект» здесь – это элемент класса вышестоящей привязки или элемент класса «БизнесМодель.Подпроцессы». Параметр «Название» находится внутри параметра «Процесс». Параметр «Процесс» необходимо развернуть в дереве параметров, выделить параметр «Название» и, удерживая левую клавишу мыши, перенести параметр в область «Выбранные параметры» (Рис.27).

Для данной привязки можно было бы использовать объектный параметр «Процесс» (параметр типа «Объект»). В этом случае в отчет будет выводиться название объектного параметра, т.е. название процесса. При формировании HTML-навигатора для объектных параметров подставляется гиперссылка, если объект присутствует в дереве навигатора. Т.е. при формировании HTML-навигатора, в который для процессов попадал бы рассматриваемый отчет, при использовании параметра «Процесс» название подпроцесса выглядело бы как гиперссылка, а при использовании параметра «Название» гиперссылки не будет.

Рис.27. Выбор параметра «Название» для подпроцесса

ШАГ 14 – Указание названия привязки к параметру «Название» для привязки к параметру-списку «Подпроцессы»

Для добавленной привязки необходимо указать название. Щелчком левой клавиши мыши внутри поля «Название» можно перейти в режим редактирования и указать название данной привязки (Рис.28).

Рис.28. Указание названия привязки к параметру «Название» для подпроцесса

Для перехода к следующему шагу необходимо нажать кнопку «Далее».

ШАГ 15 – Указание названия привязки к параметру-списку «Подпроцессы»

Когда выполнены все шаги по созданию привязки, открывается окно со структурой привязок отчета (Рис.29).

Рис.29. Созданная привязка к параметру-списку «Подпроцессы»

В этом окне для привязки к параметру-списку «Подпроцессы» необходимо задать название привязки, которое должно подсказывать, к какому параметру осуществляется привязка. Это позволит быстро ориентироваться в структуре отчета, когда привязок будет существенно больше. В названии привязки не должно быть пробелов и управляющих символов.

Выделив дополнительную привязку «Название», по ней тоже можно увидеть в Мастере отчетов всю необходимую информацию (Рис.30).

Invalid Link
Рис.30. Созданная привязка к параметру «Название» для привязки «Подпроцессы»

ШАГ 16 – Указание названия отчета

Для сохранения созданного отчета нужно предварительно указать его название (Рис.31).

Invalid Link
Рис.31. Указание названия отчета

ШАГ 17 – Сохранение отчета

Именованный отчет необходимо сохранить при помощи кнопки «». После нажатия на данную кнопку будет предложено выбрать папку в справочнике «Отчеты объектов», в которую нужно сохранить отчет. Данную папку необходимо выделить и нажать кнопку «Выбрать» (Рис.32).

Invalid Link
Рис.32. Сохранение отчета в папке «Пользовательские отчеты»

ШАГ 18 – Генерация шаблона отчета

Для того чтобы сформировать шаблон отчета с автоматически расставленными привязками, необходимо нажать на кнопку «» (Рис.33).

Invalid Link
Рис.33. Выполнение автоматической генерации шаблона

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

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

После завершения генерации система предложит запустить отчет для просмотра. Если это нужно – следует нажать кнопку «Да» (Рис.34).

Invalid Link
Рис.34. Сообщение с предложением о запуске отчета для просмотра

Если отчет запущен для просмотра, предлагается для просмотра отчета сначала выбрать, для какого процесса этот отчет будет строиться, т.к. отчет является динамическим.

Для этого в открывшемся окне необходимо выделить интересующий процесс и нажать кнопку «» (Рис.35).

Рис.35. Выбор процесса для просмотра отчета

Если после генерации шаблона нет необходимости просматривать отчет, то в окне с предложением о просмотре отчета (см. Рис.34), нужно нажать кнопку «Нет».

ШАГ 19 – Редактирование шаблона отчета

Перейти к просмотру и редактированию шаблона отчета можно при помощи кнопки «».

Шаблон отчета, сформированный в формате MS Word, с расставленными привязками, будет содержать на первой странице титульный лист с названием отчета. На второй странице последовательно будут расставлены привязки (Рис.36).

Invalid Link
Рис.36. Привязки отчета, расставленные в шаблоне после генерации

Можно отключить создание титульного листа при генерации.

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

Средствами MS Word можно отформатировать данный шаблон. После внесения изменений в шаблон отчета, окно MS Word можно закрыть. Если изменения были внесены, при закрытии редактор MS Word выдаст сообщение, изображенное на Рис.37.

Invalid Link
Рис.37. Сохранение шаблона

Для сохранения внесенных изменений необходимо нажать кнопку «Да». Сохранить изменения в шаблоне также можно по кнопке «Сохранить» в окне MS Word до закрытия окна с шаблоном.

ШАГ 20 – Закрытие Мастера отчета

После того, как созданный отчет сохранен, шаблон сгенерирован и при необходимости изменен формат шаблона, нужно нажать на кнопку «». Мастер отчетов будет закрыт, а изменения отчета – сохранены.

Для повторного открытия структуры данного отчета необходимо зайти в справочник «Отчеты объектов» (Отчеты ?> Отчеты объектов) и выделить в навигаторе слева папку, в которую был сохранен отчет. Справа отобразится перечень отчетов, находящихся в данной папке. Необходимо выделить интересующий отчет и зайти в его свойства. В результате структура отчета будет открыта в окне Мастера отчетов.

Пример работы отчета

Фрагмент отчета, построенного, например, для процесса «A4.2.2.3 Выполнение строительно-монтажных работ», показан на Рис.38.

Рис.38. Фрагмент сформированного отчета «Подпроцессы процесса»
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki