Различия

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

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

ru:creating_user_reports:typical_tasks_reports:class_process:sort_sub_proces [2020/07/29 13:28]
192.168.1.126 удалено
— (текущий)
Строка 1: Строка 1:
-====== Вывод подпроцессов, кроме блоков "Решение", с сортировкой по иерархическому коду ====== 
  
-===== Постановка задачи ===== 
- 
-Требуется построить отчет для процесса, в котором будет выводиться перечень его подпроцессов, отсортированных по иерархическому коду. При этом блоков "Решение" в перечне подпроцессов быть не должно. В отчет пусть выводятся название процесса, от которого вызывается отчет, и перечень его подпроцессов. Перечень подпроцессов должен выводиться в таблице с одним столбцом - "Название" (//Рис. 1//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/lang_sort_sub_proces_167.png?nolink |Рисунок 1}}] 
- 
-===== Планирование логики извлечения информации с помощью Объектной модели ===== 
- 
-Отчет необходимо будет вызывать для процесса. Следовательно, отчет будет построен по справочнику "Процессы". В отчет нужно выводить подпроцессы выбранного процесса. 
- 
-Для того чтобы понять, каким образом для процесса представлены подпроцессы, откройте **Объектную модель** ({{bslink>Главное меню → Отчеты → Объектная модель|ShowRibbonPageOrItem?c639ba43-ff15-4caf-ab36-0d938fe0a7a3;730e73fb-b31c-4f50-b9d6-49d7c04fee67:Item}}) и в разделе "Классы" найдите справочник "Процессы". В этом справочнике для хранения списка подпроцессов предусмотрен специальный параметр с типом "Список" - "Подпроцессы" (//Рис. 2//). Этот параметр и нужно использовать в отчете. 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/cmdt_sort_sub_proces_169.png?nolink |Рисунок 2}}] 
- 
-В **Объектной модели** при помощи контекстного меню параметра перейдите по ссылке к классу "БизнесМодель.Подпроцессы" (//Рис. 3//). В этом классе интересны параметры "Владелец" и "Процесс". Параметр "Владелец" по умолчанию скрыт. Чтобы его отобразить, нажмите на кнопку **Показывать все параметры** {{common/icons/161.png?nolink}}. 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/cmdt_sort_sub_proces_171.png?nolink |Рисунок 3}}] 
- 
-В данном классе для каждого подпроцесса есть информация, какой процесс для него является родительским (параметр "Владелец"), и информация о самом подпроцессе (параметр "Процесс"). Параметр "Процесс" - это ссылка на объект справочника "Процессы", т.к. каждый подпроцесс - это объект справочника "Процессы". 
- 
-Отобрать среди всех подпроцессов процессы, отличные от блоков "Решение", можно при помощи фильтра, построенного по классу "БизнесМодель.Подпроцессы". В этом фильтре нужно наложить для подпроцесса или внутри параметра "Процесс" условие на параметр "Тип процесса". Перечень подпроцессов должен быть отсортирован по иерархическому коду. Чтобы посмотреть, какой параметр предусмотрен для иерархического кода подпроцесса или процесса, перейдите по ссылке от параметра "Процесс" к справочнику "Процессы" (//Рис. 4//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/cmdt_sort_sub_proces_173_1.png?nolink |Рисунок 4}}] 
- 
-"Иерархический код" - это параметр типа "Строка". Если сортировать по этому параметру, то например, процесс с кодом "А1.10" встретится раньше в списке, чем процесс с кодом "А1.2". Для сортировки по иерархическому коду следует использовать специальный параметр - "Иерархический код для сортировки", в сортировке по которому будет исключено указанное неудобство. 
- 
-===== Настройка привязок ===== 
- 
-**ШАГ 1. Запуск Мастера отчетов и настройка условий применения отчета** 
- 
-Для построения нового отчета в главном меню программы нажмите **Новый отчет** ({{bslink>Главное меню → Отчеты → Новый отчет|ShowRibbonPageOrItem?c639ba43-ff15-4caf-ab36-0d938fe0a7a3;da158e8c-2ae6-45fc-a661-1e68b21e9f2e:Item}}). Откроется **Мастер отчетов**. Укажите название отчета. 
- 
-Отчет будет использоваться для всех объектов справочника "Процессы" (установлен флажок **Использовать для всех объектов класса…**). Название отчета будет отображаться в контекстном меню "Отчеты", вызываемом от процесса (установлен флажок **Показывать в контекстном меню "Отчеты" объекта**) (//Рис. 5//).  
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/autot_sort_sub_proces_175.png?nolink |Рисунок 5}}] 
- 
-Для перехода к следующему шагу построения отчета нажмите на кнопку **Далее**. 
- 
-**ШАГ 2. Выбор класса объектов, от которых будет вызываться отчет** 
- 
-На данном шаге необходимо указать, для объектов какого справочника будет сформирован отчет. Отчет будет использоваться для всех объектов справочника "Процессы", следовательно, в открывшемся окне выделите в дереве справочник "Процессы" (//Рис. 6//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_177.png?nolink |Рисунок 6}}] 
- 
-Для перехода к следующему шагу нажмите на кнопку **Далее**, в результате чего будет открыт шаблон отчета в **Окне редактирования отчета**. 
- 
-Для создания новой привязки нажмите на кнопку {{ru/common/new.png?&nolink}} панели инструментов **Окна редактирования отчета**. 
- 
-**ШАГ 3. Выбор типа привязки для привязки к параметру "Название"** 
- 
-Для вывода названия процесса, от которого вызывается отчет, необходимо создать первую привязку к параметру "Название". Параметр "Название" - это параметр типа "Строка". Для вывода таких параметров в отчет предусмотрен тип привязки "Объект" (//Рис. 7//). 
- 
-[{{ ru/creating_user_reports/report/change_report_014.png?nolink |Рисунок 7}}] 
- 
-Для перехода к следующему шагу построения отчета нажмите на кнопку **Далее**. 
- 
-**ШАГ 4. Выбор источника данных для привязки к параметру "Название"** 
- 
-Информация о названии процесса будет меняться в зависимости от процесса, от которого будет вызван отчет. Этот процесс и будет использоваться в качестве источника данных для привязки "Название". Поэтому привязка "Название" будет динамической. По умолчанию выбран тип "Динамическая привязка к данным" (//Рис. 8//). 
- 
-[{{ ru/creating_user_reports/report/change_report_015.png?nolink |Рисунок 8}}] 
- 
-Для перехода к следующему шагу нажмите на кнопку **Далее**. 
- 
-**ШАГ 5. Выбор параметра "Название"** 
- 
-В открывшемся окне слева отображается дерево источников данных. В нем в качестве "Объекта" подразумевается объект того справочника, для которого будет строиться отчет. В данном случае - это процесс. Справа приводится перечень параметров, которые можно связать с привязкой. В перечне параметров выделите параметр "Название" (//Рис. 9//). Для удобства поиска можно отсортировать перечень параметров по колонке **Название** щелчком левой клавиши мыши по заголовку данной колонки. Название выбранного параметра дополнительно отображается в поле **Выбрано**. Для перехода к следующему шагу нажмите на кнопку **Далее**. 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_179.jpg?nolink |Рисунок 9}}] 
- 
-**ШАГ 6. Указание названия привязки к параметру "Название"** 
- 
-На следующем шаге укажите название привязки к параметру "Название" (//Рис. 10//). Дополнительно в данном окне выводится полный путь к данной привязке: "Процессы.Название". Это означает, что в справочнике "Процессы" был выбран параметр "Название". 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_180.png?nolink |Рисунок 10}}] 
- 
-Для перехода к следующему шагу нажмите на кнопку **Далее**. 
- 
-**ШАГ 7. Редактирование внешнего вида привязки к параметру "Название"** 
- 
-Когда выполнены все шаги по созданию привязки, открывается **Окно редактирования отчета** с шаблоном отчета. По умолчанию в **Окне редактирования отчета** дерево привязок скрыто, и шаблон отчета занимает всю область **Окна редактирования отчета**, что удобно при редактировании шаблона. Чтобы вывести на показ дерево привязок, нажмите западающую кнопку **Показать/скрыть дерево привязок** {{common/icons/35.png?&nolink}}. Повторное нажатие на кнопку скроет дерево привязок. 
- 
-В открывшемся дереве привязок отображается одна привязка (//Рис. 11//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/autot_sort_sub_proces_182.png?nolink |Рисунок 11}}] 
- 
-Внесите изменения в шаблон отчета: укажите заголовок, который будет отображаться рядом с тегом привязки в шаблоне, например, "Название процесса" (//Рис. 12//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_239.png?nolink |Рисунок 12}}] 
- 
-**ШАГ 8. Добавление новой привязки к параметру "Подпроцессы"** 
- 
-Для добавления второй привязки, связанной с параметром "Подпроцессы", установите курсор в шаблоне отчета на следующий абзац текста и нажмите на кнопку **Новая**. 
- 
-**ШАГ 9. Выбор типа привязки для привязки к параметру "Подпроцессы"** 
- 
-Для вывода строк параметра типа "Список" в виде таблицы предусмотрен специальный тип привязки "Список". Выберите радиокнопку **Список** (//Рис. 13//). 
- 
-[{{ ru/creating_user_reports/report/change_report_016.png?nolink |Рисунок 13}}] 
- 
-Для перехода к следующему шагу нажмите на кнопку **Далее**. 
- 
-**ШАГ 10. Выбор источника данных для привязки к параметру "Подпроцессы"** 
- 
-Информация о подпроцессах будет меняться в зависимости от процесса, от которого будет вызван отчет. Этот процесс будет использоваться в качестве источника данных для привязки к параметру "Подпроцессы". Поэтому данная привязка будет динамической (//Рис. 14//). 
- 
-[{{ ru/creating_user_reports/report/change_report_015.png?nolink |Рисунок 14}}] 
- 
-Для перехода к следующему шагу нажмите на кнопку **Далее**. 
- 
-**ШАГ 11. Выбор параметра "Подпроцессы"** 
- 
-Для источника данных "Объект", т.е. для процесса, от которого будет вызван отчет, в перечне параметров выделите параметр "Подпроцессы" (//Рис. 15//) и нажмите на кнопку **Далее**. 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_188.png?nolink |Рисунок 15}}] 
- 
-**ШАГ 12. Настройка фильтра для привязки к параметру "Подпроцессы"** 
- 
-В отчет в перечень подпроцессов должны попадать только такие подпроцессы, которые не являются блоками "Решение". Ограничить перечень подпроцессов можно при помощи фильтра, построенного по классу "БизнесМодель.Подпроцессы". 
- 
-Построить фильтр можно, не выходя из **Окна редактирования отчета**. Для этого в открывшемся окне в области **Дополнительные настройки** нажмите на кнопку **Настроить** (//Рис. 16//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_190.png?nolink |Рисунок 16}}] 
- 
-В окне настройки фильтра данной привязки нужно указать фильтр, при помощи которого нужно ограничить перечень выводимых подпроцессов. В данном случае фильтр еще не создан. Для создания нажмите на кнопку **Создать фильтр с учетом класса привязки** {{common/icons/06.png?nolink}} (//Рис. 17//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_194.png?nolink |Рисунок 17}}] 
- 
-В открывшемся окне укажите название создаваемого фильтра (//Рис. 18//) и нажмите на кнопку **ОК**. 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/autot_sort_sub_proces_196_1.png?nolink |Рисунок 18}}] 
- 
-Далее выделите папку, в которую следует сохранить новый фильтр, и нажмите на кнопку **Выбрать** (//Рис. 19//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_198.png?nolink |Рисунок 19}}] 
- 
-Теперь можно перейти к заданию условия фильтра. Для этого в **Окне свойств** созданного фильтра нажмите гиперссылку **Основное условие** (//Рис. 20//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_200_1.png?nolink |Рисунок 20}}] 
- 
-Нужно указать условие: среди всех подпроцессов нужны только те, которые не относятся к блокам "Решение". Т.е. условие необходимо наложить на параметр "Тип процесса". Фильтр строится по классу "БизнесМодель.Подпроцессы", так как создание фильтра было выполнено из настроек привязки к параметру "Подпроцессы". 
- 
-Параметр "Тип процесса" в этом классе находится на уровень ниже, чем параметр "Процесс". Нажмите на "плюс" слева от параметра "Процесс" (//Рис. 21//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_204.png?nolink |Рисунок 21}}] 
- 
-На вкладке **Условия** нужно найти параметр "Тип процесса" и задать условие. Сначала можно задать обратное условие: значение параметра "Тип процесса" должно быть равно "Решение". Для этого в столбце **Тип** в выпадающем списке выберите "Значение", в столбце **Оператор** - "=", в столбце **Значение** - "Решение". Чтобы задать отрицание данного условия в столбце **Не** установите флажок (//Рис. 22//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_206.png?nolink |Рисунок 22}}] 
- 
-На вкладке **Показ** нажмите на "плюс" рядом с параметром "Процесс", и задайте сортировку по параметру "Иерархический код для сортировки". Для этого выделите параметр "Иерархический код для сортировки" и нажмите на кнопку **Добавить сортировку** {{common/down.png?nolink}} (//Рис. 23//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_210_1.png?nolink |Рисунок 23}}] 
- 
-После указания условия и сортировки нажмите на кнопку **Сохранить**. В **Окне свойств** фильтра также нажмите на кнопку **Сохранить** (//Рис. 24//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_214_1.png?nolink |Рисунок 24}}] 
- 
-==  == 
-**Внимание!** С дополнительной информацией о построении фильтров можно ознакомиться в главе [[ru/manual/manual]] -> [[ru/manual/filter]]. С информацией об использовании операторов на вкладке **Условия** можно ознакомиться в главе [[ru/manual/filter/filter_element]]. 
-===== ===== 
-\\ 
-Название фильтра, по которому настроена привязка "Подпроцессы", появляется в **Окне редактирования отчета** (//Рис. 25//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_216_1.png?nolink |Рисунок 25}}] 
- 
-Для возврата на страницу настройки привязки к параметру "Подпроцессы" нажмите на кнопку **Далее**. На этой странице название выбранного фильтра отображается в области **Дополнительные настройки** (//Рис. 26//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_218_1.png?nolink |Рисунок 26}}] 
- 
-**ШАГ 13. Выбор параметра "Название" для привязки к параметру "Подпроцессы"** 
- 
-На данном шаге необходимо добавить дополнительную привязку к названию подпроцесса. В перечень параметров нужно добавить привязку к параметру "Название". Фильтр построен по классу "БизнесМодель.Подпроцессы". Параметр "Название" находится внутри параметра "Процесс". В дереве параметров разверните дерево от параметра "Процесс", выделите параметр "Название" и, удерживая левую клавишу мыши, перетяните параметр в область **Дочерние привязки** (//Рис. 27, 28//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_220.png?nolink |Рисунок 27}}] 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_222.png?nolink |Рисунок 28}}] 
- 
-==  == 
-**Внимание!** Для данной привязки можно было бы использовать объектный параметр "Процесс" (параметр типа "Объект"). В этом случае в отчет будет выводиться название объектного параметра, т.е. название процесса. При формировании HTML-публикации для объектных параметров подставляется гиперссылка, если объект присутствует в дереве публикации. Т.е. при формировании HTML-публикации, в который для процессов попадал бы рассматриваемый отчет, при использовании параметра "Процесс" название подпроцесса выглядело бы как гиперссылка, а при использовании параметра "Название" гиперссылки не будет. 
-===== ===== 
-\\ 
- 
-Для перехода к следующему шагу нажмите на кнопку **Далее**. 
- 
-**ШАГ 14. Сохранение отчета** 
- 
-Когда выполнены все шаги по созданию привязки, открывается **Окно редактирования отчета** с шаблоном отчета (//Рис. 29//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/sort_sub_proces_224.png?nolink |Рисунок 29}}] 
- 
-Отчет необходимо сохранить. Для этого на панели инструментов **Окна редактирования отчета** нажмите на кнопку **Сохранить отчет** {{common/icons/19.png?nolink}}. После нажатия на данную кнопку будет предложено выбрать папку в справочнике "Отчеты объектов", в которую нужно сохранить отчет. Выделите папку "Пользовательские отчеты" и нажмите на кнопку **Выбрать** (//Рис. 30//). 
- 
-[{{ ru/creating_user_reports/report/change_report_019.png?nolink |Рисунок 30}}] 
- 
-**ШАГ 15. Проверка работоспособности отчета** 
- 
-Чтобы проверить работоспособность отчета, его необходимо выполнить. Это можно сделать, не выходя из **Окна редактирования отчета**. На панели инструментов **Окна редактирования отчета** нажмите на кнопку {{ru/common/exe.png?&nolink}}. В открывшемся окне выделите процесс, для которого будет сформирован данный отчет, и нажмите на кнопку **Выбрать** (//Рис. 31//). 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/change_sort_sub_proces_233.png?nolink |Рисунок 31}}] 
- 
-**ШАГ 16. Закрытие Окна редактирования отчета** 
- 
-После того, как отчет создан, проверка его работоспособности выполнена, шаблон при необходимости откорректирован, нажмите на кнопку {{ru/common/save.png?nolink}}. **Окно редактирования отчета** будет закрыто, а изменения отчета - сохранены. 
- 
-Для повторного открытия структуры данного отчета откройте справочник **Отчеты объектов** ({{bslink>Главное меню → Отчеты → Отчеты объектов|ShowRibbonPageOrItem?c639ba43-ff15-4caf-ab36-0d938fe0a7a3;21fcf3cb-1c42-4a13-b642-d2e6b02d3497:Item}}), выделите слева в дереве ту папку, в которую был сохранен отчет. Справа отобразится перечень отчетов, находящихся в данной папке. Выделите необходимый отчет и нажмите на кнопку {{ru/common/properties.png?nolink}}. 
- 
-===== Пример работы отчета ===== 
- 
-Фрагмент отчета, построенного, например, для процесса "A4.2.2.3 Выполнение строительно-монтажных работ", показан на //Рис. 32//. 
- 
-[{{ ru/creating_user_reports/typical_tasks_reports/class_process/sort_sub_proces/lang_sort_sub_proces_238.png?nolink |Рисунок 32}}] 
- 
-[<contextnavigator>] 
Driven by DokuWiki