Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:manual:report:examples:parent_top [2013/10/11 07:52] radchenko [Родитель верхнего уровня] |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Родитель верхнего уровня ====== | ||
- | Пример создания отчета "Родитель верхнего уровня". | ||
- | |||
- | Для понимания этой статьи требуется, чтобы читатель знал: | ||
- | * как создавать, настраивать и сохранять фильтры (см. раздел [[/ru/manual/filter]]), | ||
- | * как создавать динамические и статические отчеты, добавлять в них привязки (см. раздел [[/ru/manual/report]]), | ||
- | * как находить параметры справочников и связи между справочника в Объектной модели (см. раздел [[/ru/manual/report/object_model]]). | ||
- | |||
- | Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в программе, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов. | ||
- | ===== Постановка задачи ===== | ||
- | |||
- | Необходимо создать отчет формата Word, который может вызываться от любого процесса. В отчете должна показываться фраза по шаблону: | ||
- | |||
- | <code> | ||
- | Процесс "<Название процесса, от которого выполняется отчет>" входит в ветку "<Название процесса -- ключевого родителя ветки>". | ||
- | </code> | ||
- | |||
- | Под ключевым родителем ветки понимается процесс вида А1, А2, …, Аn. Т.е. это процессы, находящиеся на диаграмме А0. | ||
- | |||
- | ===== Идея решения задачи ===== | ||
- | |||
- | Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчет и как будут выглядеть вставленные данные в отчете (см. [[ru/manual/report/types_anchor]]). И как видно из заданного шаблона, в отчет необходимо вставить данные 2х привязок. | ||
- | |||
- | - <Название процесса, от которого выполняется отчет> - привязка типа "Объект" по параметру "Название". Наиболее частая и первая привязка во всех динамических отчетах. | ||
- | - <Название процесса -- ключевого родителя ветки> - привязка типа "BAND" по списку "Список родителей процесса" с наложенным фильтром. | ||
- | |||
- | **Пояснение к выбору привязки по ключевому родителю.** Ключевой родитель ветки -- это процесс, стоящий выше по ветке процесса, от которого вызывается отчет. Список всех процессов выше выбранного можно получить через нехранимый параметр типа список "Список родителей процесса". | ||
- | |||
- | Так как из списка родителей необходимо отобрать только одного родителя и подать это не в виде списка, а в виде отдельного значения, то необходимо выбрать привязку типа "BAND". | ||
- | |||
- | Наложение фильтра на выбранную привязку оставит в списке только один процесс -- ключевой родитель. | ||
- | |||
- | ===== Создание отчета ===== | ||
- | |||
- | В Мастере отчетов создается отчет по процессу. В шаблоне отчета создается текст по шаблону задачи. Оставляется место, необходимое для последующей вставки привязок. | ||
- | |||
- | ==== Добавление первой привязки ==== | ||
- | |||
- | В место, где необходимо вставить название процесса, от которого вызывается отчет, производится вставка привязки типа "Объект" по параметру "Название". | ||
- | |||
- | ==== Добавление второй привязки ==== | ||
- | |||
- | В место, где необходимо вставить название родителя, производится вставка привязки типа "BAND" по параметру "Список родителей процесса". В настройках сложной в качестве выбранного параметра для вывода выбираем "Название". | ||
- | |||
- | [{{ ru:manual:report:examples:parent_top:pic1.png?nolink | Рисунок 1. Вид настройки сложной привязки по привязке типа BAND (без наложения фильтра).}}] | ||
- | |||
- | ==== Редактирование шаблона ==== | ||
- | |||
- | После добавления привязки в шаблон отчета и компоновки закладок привязки, шаблон отчета будет иметь вид, приведенный ниже. | ||
- | |||
- | [{{ ru:manual:report:examples:parent_top:pic2.png?nolink | Рисунок 2. Вид шаблона отчета.}}] | ||
- | ==== Наложение фильтра на вторую привязку ==== | ||
- | |||
- | В привязке типа "BAND" осталось произвести фильтрацию так, чтобы список содержал только 1 процесс из списка всех родителей-процессов. Ключевым параметром, значения которого являются неповторимыми для процессов одной ветки, является параметр "Уровень в модели". Для процессов вида А1, А2, …, Аn -- значение этого параметра равно 1. | ||
- | |||
- | В окне "Привязки отчетов" через контекстное меню привязки типа "BAND" создаем и сохраняем фильтр по параметру класса с названием "Родитель процесса.Уровень=1" в папке "Пользовательские фильтры". В основном условии фильтра задаются необходимые условия. | ||
- | <startTableBox> | ||
- | ^ Параметр ^ Тип ^ Оператор ^ Значение ^ Не ^ Потомки ^ | ||
- | | Уровень в модели | Значение | = | 1 | | | | ||
- | | Тип процесса | Значение | = | IDEF0 | | | | ||
- | <endTableBox| Таблица 1. Условия фильтра> | ||
- | |||
- | **Пояснение к параметру "Тип процесса"**. Так как этот параметр является хранимым, то это условие по нему позволит сократить время выполнения фильтра, а следовательно и отчета. При этом предполагается, что все процессы этого уровня будут с типом IDEF0. | ||
- | |||
- | [{{ ru:manual:report:examples:parent_top:pic3.png?nolink | Рисунок 3. Вид привязки типа "BAND" с наложенным фильтром.}}] | ||
- | ==== Сохранение отчета ==== | ||
- | |||
- | Сохраняем отчет под названием "Родитель верхнего уровня" в папке "Пользовательские отчеты". | ||
- | |||
- | ===== Результат ===== | ||
- | |||
- | [{{ ru:manual:report:examples:parent_top:pic4.png?nolink | Рисунок 4. Один из возможных вариантов выполнения отчета "Родитель первого уровня".}}] |