Различия

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

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

ru:creating_user_reports:examples:parent_top [2020/07/23 16:28]
192.168.1.126 удалено
— (текущий)
Строка 1: Строка 1:
-====== Родитель верхнего уровня ====== 
-  
-Рассмотрим пример создания отчета "Родитель верхнего уровня". 
  
-Для понимания этой статьи требуется знание того: 
-  * как создавать, настраивать и сохранять фильтры (см. [[/ru/manual/manual]] -> [[/ru/manual/filter]]), 
-  * как создавать динамические и статические отчеты, добавлять в них привязки (см. [[/ru/manual/manual]] -> [[/ru/manual/report]]), 
-  * как находить параметры справочников и связи между справочниками в **Объектной модели** ({{bslink>Главное меню → Отчеты → Объектная модель|ShowRibbonPageOrItem?c639ba43-ff15-4caf-ab36-0d938fe0a7a3;730e73fb-b31c-4f50-b9d6-49d7c04fee67:Item}}) (см. [[/ru/manual/manual]] -> [[/ru/manual/report/object_model]]). 
- 
-Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в программе, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов. 
- 
-===== Постановка задачи ===== 
- 
-Необходимо создать отчет формата MS Word, который может вызываться от любого процесса. В отчете должно выводиться предложение, которое будет формироваться по шаблону: 
- 
-<code> 
-Процесс "<Название процесса, от которого выполняется отчет>" входит в ветку "<Название процесса -- ключевого родителя ветки>". 
-</code> 
- 
-Под ключевым родителем ветки понимается процесс вида А1, А2, …, Аn. Т.е. это процесс, находящийся на диаграмме А0. 
- 
-===== Идея решения задачи ===== 
- 
-Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчет и как будут выглядеть вставленные данные в отчете (см. [[/ru/manual/manual]] -> [[ru/manual/report/types_anchor]]). Как видно из заданного шаблона предложения, в отчет необходимо вставить данные двух привязок. 
- 
-  - <Название процесса, от которого выполняется отчет> - привязка типа "Объект" по параметру "Название". Наиболее частая и первая привязка во всех динамических отчетах. 
-  - <Название процесса -- ключевого родителя ветки> - привязка типа "BAND" по списку "Список родителей процесса" с фильтром. 
- 
-**Пояснение к выбору привязки по ключевому родителю.** Ключевой родитель ветки -- это процесс, стоящий выше по ветке процесса, от которого вызывается отчет. Список всех процессов, выше выбранного, можно получить через нехранимый параметр "Список родителей процесса" типа "Список". 
- 
-Так как из списка родителей необходимо отобрать только одного родителя, и представить эти данные не в виде списка, а в виде отдельного значения, то необходимо выбрать привязку типа "BAND". 
- 
-Добавление фильтра к выбранной привязке оставит в списке только один процесс -- ключевой родитель. 
- 
-===== Создание отчета ===== 
- 
-В **Мастере отчетов** создается отчет по процессу. В шаблоне отчета создается текст по заданному ранее формату (шаблону). Оставляется место, необходимое для последующей вставки привязок. 
- 
-==== Добавление первой привязки ==== 
- 
-В место, где необходимо вставить название процесса, от которого вызывается отчет, производится вставка привязки типа "Объект" по параметру "Название". 
- 
-==== Добавление второй привязки ==== 
- 
-В место, где необходимо вставить название родителя, производится вставка привязки типа "BAND" по параметру "Список родителей процесса". В настройках сложной привязки в качестве выбранного параметра для вывода выбираем "Название". 
- 
-[{{ ru:creating_user_reports:examples:parent_top:change_pic1.png?nolink | Рисунок 1. Вид настройки сложной привязки по привязке типа BAND (без добавления фильтра)}}]  
- 
-==== Редактирование шаблона ==== 
- 
-После добавления привязки в шаблон отчета и компоновки закладок привязки, шаблон отчета будет иметь вид, приведенный ниже. 
- 
-[{{ ru:creating_user_reports:examples:parent_top:lang_pic2.png?nolink | Рисунок 2. Вид шаблона отчета}}] 
- 
-==== Добавление фильтра ко второй привязке ==== 
- 
-В привязке типа "BAND" осталось произвести фильтрацию так, чтобы список содержал только 1 процесс из списка всех родителей-процессов. Ключевым параметром, значения которого являются неповторимыми для процессов одной ветки, является параметр "Уровень в модели". Для процессов вида А1, А2, …, Аn -- значение этого параметра равно 1. 
- 
-В окне **Привязки отчетов** через контекстное меню привязки типа "BAND" создаем и сохраняем фильтр по параметру класса с названием "Родитель процесса.Уровень=1" в папке "Пользовательские фильтры". В основном условии фильтра задаются необходимые условия. 
-<startTableBox> 
-^ Параметр ^ Тип ^ Оператор ^ Значение ^ Не ^ Потомки ^ 
-| Уровень в модели | Значение |  =  | 1 |   |   | 
-| Тип процесса | Значение |  =  | IDEF0 |   |   | 
-<endTableBox| Таблица 1. Условия фильтра> 
- 
-**Пояснение к параметру "Тип процесса"**. Так как этот параметр является хранимым, то это условие по нему позволит сократить время выполнения фильтра, а следовательно, и время выполнения отчета. При этом предполагается, что все процессы этого уровня будут с типом IDEF0. 
- 
-[{{ ru:creating_user_reports:examples:parent_top:change_pic3.png?nolink | Рисунок 3. Вид привязки типа "BAND" с настроенным фильтром}}]  
- 
-==== Сохранение отчета ==== 
- 
-Сохраняем отчет под названием "Родитель верхнего уровня" в папке "Пользовательские отчеты". 
- 
-===== Результат ===== 
- 
-Пример одного из возможных результатов выполнения отчета "Родитель первого уровня" приведен на Рис. 4. 
- 
-[{{ ru:creating_user_reports:examples:parent_top:lang_pic4.png?nolink | Рисунок 4. Пример выполнения отчета "Родитель первого уровня"}}]  
- 
-[<contextnavigator>] 
Driven by DokuWiki