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


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

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

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

Рисунок 1

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

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

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

Рисунок 2

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

Рисунок 3

В данном классе для каждого подпроцесса есть информация, какой процесс для него является родительским (параметр "Владелец"), и информация о самом подпроцессе (параметр "Процесс"). Параметр "Процесс" - это ссылка на объект справочника "Процессы", т.к. каждый подпроцесс - это объект справочника "Процессы".

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

Рисунок 4

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

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

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

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

Отчет будет использоваться для всех объектов справочника "Процессы" (установлен флажок Использовать для всех объектов класса…). Название отчета будет отображаться в контекстном меню "Отчеты", вызываемом от процесса (установлен флажок Показывать в контекстном меню "Отчеты" объекта) (Рис. 5).

Рисунок 5

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

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

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

Рисунок 6

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

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

Рисунок 7

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

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

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

Рисунок 8

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

ШАГ 5. Выбор параметра "Название"

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

Рисунок 9

ШАГ 6. Указание названия привязки к параметру "Название"

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

Рисунок 10

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

ШАГ 7. Редактирование внешнего вида привязки к параметру "Название"

Когда выполнены все шаги по созданию привязки, открывается окно Мастера отчетов с шаблоном отчета. По умолчанию в окне Мастера отчетов дерево привязок скрыто, и шаблон отчета занимает всю область окна Мастера отчетов, что удобно при редактировании шаблона. Чтобы вывести на показ дерево привязок, нажмите западающую кнопку Показать/скрыть дерево привязок. Повторное нажатие на кнопку скроет дерево привязок.

В открывшемся дереве привязок отображается одна привязка (Рис. 11).

Рисунок 11

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

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

Для добавления второй привязки, связанной с параметром "Подпроцессы", установите курсор в шаблоне отчета на следующий абзац текста и нажмите кнопку Новая.

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

Для вывода строк параметра типа "Список" в виде таблицы предусмотрен специальный тип привязки "Список". Выберите радиокнопку "Список" (Рис. 13).

Рисунок 13

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

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

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

Рисунок 14

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

ШАГ 11. Выбор параметра "Подпроцессы"

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

Рисунок 15

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

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

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

Рисунок 16

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

Рисунок 17

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

Рисунок 18

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

Рисунок 19

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

Рисунок 20

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рисунок 32. Сохранение отчета в папке "Пользовательские отчеты"

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

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

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

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

Внимание!

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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