Различия

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

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

ru:manual:report:examples:parent_top [2022/09/01 11:30]
belkin удалено
— (текущий)
Строка 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/object_model/object_model_main_principles]]). 
- 
-Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в программе, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов. 
- 
-===== Постановка задачи ===== 
- 
-Необходимо создать отчет формата MS Word, который может вызываться от любой единицы деятельности. В отчете должно выводиться предложение, которое будет формироваться по такому шаблону: 
- 
-//Единица деятельности "<Название единицы деятельности, от которого выполняется отчет>" входит в ветку "<Название единицы деятельности -- ключевого родителя ветки>".// 
- 
-Под ключевым родителем ветки понимается единица деятельности вида А1, А2, …, Аn. Т.е. это единица деятельности, находящийся на диаграмме А0. 
- 
-===== Идея решения задачи ===== 
- 
-Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчет и как будут выглядеть вставленные данные в отчете (см. [[/ru/manual/manual]] -> [[ru/manual/report/types_anchor]]). Как видно из заданного шаблона предложения, в отчет необходимо вставить данные двух привязок. 
- 
-  - <Название единицы деятельности, от которой выполняется отчет> - привязка типа "Объект" по параметру "Название". Наиболее частая и первая привязка во всех отчетах объекта. 
-  - <Название единицы деятельности -- ключевого родителя ветки> - привязка типа "BAND" по списку "Предки" с фильтром. 
- 
-**Пояснение к выбору привязки по ключевому родителю.** Ключевой родитель ветки -- это единица деятельности, стоящая выше по ветке, от которого вызывается отчет. Список всех единиц деятельности, выше выбранной, можно получить через нехранимый параметр "Предки" типа "Список". 
- 
-Так как из списка родителей необходимо отобрать только одного родителя, и представить эти данные не в виде списка, а в виде отдельного значения, то необходимо выбрать привязку типа "BAND". 
- 
-Добавление фильтра к выбранной привязке оставит в списке только одну единицу деятельности -- ключевой родитель. 
- 
-===== Создание отчета ===== 
- 
-В **Мастере отчетов** создается отчет по единице деятельности. В шаблоне отчета создается текст по заданному ранее формату (шаблону). Оставляется место, необходимое для последующей вставки привязок. 
- 
-==== Добавление первой привязки ==== 
- 
-В место, где необходимо вставить название единицы деятельности, от которого вызывается отчет, производится вставка привязки типа "Объект" по параметру "Название". 
- 
-==== Добавление второй привязки ==== 
- 
-В место, где необходимо вставить название родителя, производится вставка привязки типа "BAND" по параметру "Предки". В настройках сложной привязки в качестве выбранного параметра для вывода выбираем "Название". 
- 
-[{{ ru/manual/report/examples/parent_top/parent_top_01.png?nolink | Рисунок 1. Вид настройки сложной привязки по привязке типа BAND (без добавления фильтра) }}]  
- 
-==== Редактирование шаблона ==== 
- 
-После добавления привязки в шаблон отчета и компоновки закладок привязки, шаблон отчета будет иметь вид, приведенный ниже. 
- 
-[{{ ru/manual/report/examples/parent_top/parent_top_02.png?nolink | Рисунок 2. Вид шаблона отчета}}] 
- 
-==== Добавление фильтра ко второй привязке ==== 
- 
-В привязке типа "BAND" осталось произвести фильтрацию так, чтобы список содержал только 1 единицу деятельности из списка всех предков. Ключевым параметром, значения которого являются неповторимыми для единиц деятельности одной ветки, является параметр "Уровень в модели". Для единиц деятельности вида А1, А2, …, Аn -- значение этого параметра равно 1. 
- 
-В окне **Привязки отчетов** через контекстное меню привязки типа "BAND" создаем и сохраняем фильтр по параметру класса с названием "Родитель.Уровень=1" в папке "Пользовательские фильтры". В основном условии фильтра задаются необходимые условия. 
-<startTableBox> 
-^ Параметр ^ Тип ^ Оператор ^ Значение ^ Не ^ Потомки ^ 
-| Уровень в модели | Значение |  =  | 1 |   |   | 
-| Тип | Значение |  =  | IDEF0 |   |   | 
-<endTableBox| Таблица 1. Условия фильтра> 
- 
-**Пояснение к параметру "Тип"**. Так как этот параметр является хранимым, то это условие по нему позволит сократить время выполнения фильтра, а следовательно, и время выполнения отчета. При этом предполагается, что все единицы деятельности этого уровня будут с типом IDEF0. 
- 
-[{{ ru/manual/report/examples/parent_top/parent_top_03.png?nolink | Рисунок 3. Вид привязки типа "BAND" с настроенным фильтром}}]  
- 
-==== Сохранение отчета ==== 
- 
-Сохраняем отчет под названием "Родитель верхнего уровня" в папке "Пользовательские шаблоны отчетов". 
- 
-===== Результат ===== 
- 
-Пример одного из возможных результатов выполнения отчета "Родитель первого уровня" приведен на Рис. 4. 
- 
-[{{ ru/manual/report/examples/parent_top/parent_top_04.png?nolink | Рисунок 4. Пример выполнения отчета "Родитель первого уровня"}}]  
- 
-[<contextnavigator>]  
-  
-  
-  
- 
-  
-  
-  
-  
- 
-{(rater>id=ru_manual_report_examples_parent_top|name=Родитель верхнего уровня|type=vote|trace=ip|img=:taggic.png|headline=off)} 
Driven by DokuWiki