Различия

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

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

ru:creating_user_reports:examples:subjects_count [2014/06/16 17:07]
barinova [Вкладка Агрегаты]
ru:creating_user_reports:examples:subjects_count [2019/11/27 16:10] (текущий)
belkin [Вкладка Условия]
Строка 1: Строка 1:
 ====== Количество должностей и подразделений ====== ====== Количество должностей и подразделений ======
 + 
 +Рассмотрим пример создания отчета "Количество должностей и подразделений". 
  
-Пример создания отчета "Количество должностей и подразделений". +Для понимания этой статьи требуется знание того:
- +
-Для понимания этой статьи требуется, чтобы читатель знал:+
   * как создавать, настраивать и сохранять фильтры (см. [[/ru/manual/manual]] -> [[/ru/manual/filter]]),   * как создавать, настраивать и сохранять фильтры (см. [[/ru/manual/manual]] -> [[/ru/manual/filter]]),
   * как создавать динамические и статические отчеты, добавлять в них привязки (см. [[/ru/manual/manual]] -> [[/ru/manual/report]]),   * как создавать динамические и статические отчеты, добавлять в них привязки (см. [[/ru/manual/manual]] -> [[/ru/manual/report]]),
-  * как находить параметры справочников и связи между справочниками в **Объектной модели** (см. [[/ru/manual/manual]] -> [[/ru/manual/report/object_model]]).+  * как находить параметры справочников и связи между справочниками в **Объектной модели** (см. [[ru/creating_user_reports/report/object_model]], [[/ru/manual/manual]] -> [[/ru/manual/report/object_model]]).
  
-Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в программе, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов.+Информация, изложенная ниже, не дает пошаговых инструкций по нажатию кнопок в Business Studio, а дает логику размышлений по решению поставленной задачи с указанием необходимых параметров настройки фильтров и отчетов.
  
 ===== Постановка задачи ===== ===== Постановка задачи =====
  
-Необходимо создать отчет формата Word, который будет запускаться от любого субъекта типа "Должность", "Подразделение" или "Папка". В отчете должна быть показана информация по количеству всех должностей и подразделений, которые находятся ниже по ветке дерева. Информация может быть показана в таблице, приведенной ниже.+Необходимо создать отчет формата MS Word, который будет запускаться от любого субъекта типа "Должность", "Подразделение" или "Папка". В отчете должна быть показана информация по количеству всех должностей и подразделений, которые находятся ниже по иерархии от субъекта, от которого вызван отчет. Информация должна быть представлена в виде таблицы, приведенной ниже.
 <startTableBox> <startTableBox>
-^  Типа субъекта  ^  Кол-во субъектов  ^+^  Тип субъекта  ^  Кол-во субъектов  ^
 | Подразделение |  X  | | Подразделение |  X  |
 | Должность |  Y  | | Должность |  Y  |
Строка 21: Строка 21:
 ===== Идея решения задачи ===== ===== Идея решения задачи =====
  
-По заданными условиям получить информацию напрямую в виде отдельного справочника нельзя, поэтому  для решения задачи необходимо будет выбирать данные из имеющихся справочников.+По заданными условиям нельзя получить информацию напрямую из одного справочника. Для решения задачи необходимо выбирать данные из имеющихся справочников.
  
-Задачи выборки данных решаются через использование в отчетах хранимых фильтров. Кроме того, данные о количественных оценках чего-то в отчеты могут быть доставлены только через фильтры (закладка "Агрегаты") или с использованием кода VBA. Поэтому сначала необходимо создать фильтр, а потом уже создавать привязки в отчете.+Задачи выборки данных решаются через использование в отчетах хранимых фильтров. Данные о количественных оценках в отчеты могут быть вставлены только с использованием фильтров (вкладка **Агрегаты**) или с использованием кода VBA. Сначала необходимо создать фильтр, а потом использовать его при создании привязки в отчете.
  
 Ключевым вопросом при решении является создание правильных условий фильтра. Ключевым вопросом при решении является создание правильных условий фильтра.
  
-Так как в условиях задачи стоит условие на вывод отчета не от всех субъектов, а только от конкретных типов, то для решения этой задачи тоже необходим фильтр.+Так как в условиях задачи стоит условие на вывод отчета не от всех субъектов, а только от субъектов конкретных типов, то для решения этой задачи тоже необходим фильтр.
  
 ===== Создание фильтра "Для отчета кол-ва Д и П" ===== ===== Создание фильтра "Для отчета кол-ва Д и П" =====
Строка 33: Строка 33:
 ==== Класс для построения фильтра ==== ==== Класс для построения фильтра ====
  
-Так как речь идет о создании фильтра для отчета по субъектам, поэтому и фильтр будет создаваться по справочнику "Субъекты".+Речь идет о создании фильтра для отчета по субъектам. Поэтому и фильтр будет создаваться по справочнику "Субъекты".
  
 ==== Вкладка "Условия" ==== ==== Вкладка "Условия" ====
Строка 40: Строка 40:
 <startTableBox> <startTableBox>
 ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^ ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^
-| Тип процесса | Список значений |  =  | Подразделение, Должность, Папка |   |   | +| Тип субъекта| Список значений |  =  | Подразделение, Должность, Папка |   |   | 
-<endTableBox| Таблица 2. Условия фильтра "Для отчета кол-ва Д и П".>+<endTableBox| Таблица 2. Условия фильтра "Для отчета кол-ва Д и П">
  
 ==== Вкладка "Показ" ==== ==== Вкладка "Показ" ====
  
-После создания условий можно закончить настройку фильтра и сохранить его в "Пользовательские фильтры" под названием "Для отчета кол-ва Д  и П". Но чтобы проверить, что настройка выполнена верно, можно вывести на показ параметры и выполнить фильтр.+После создания условий можно закончить настройку фильтра и сохранить его в папке "Пользовательские фильтры" под названием "Для отчета кол-ва Д и П". Чтобы проверить, что настройка выполнена верно, можно вывести на показ параметры и выполнить фильтр.
  
 <startTableBox> <startTableBox>
Строка 57: Строка 57:
 ==== Класс для построения фильтра ==== ==== Класс для построения фильтра ====
  
-Так как в задаче речь идет только о типах субъектов и их количестве, то фильтр необходимо будет создавать по справочнику "Субъекты".+Так как в задаче речь идет о типах субъектов и их количестве, то фильтр необходимо будет создавать по справочнику "Субъекты".
  
 ==== Вкладка "Условия" ==== ==== Вкладка "Условия" ====
Строка 64: Строка 64:
  
   - Условия, отбирающие субъекты только с типами "Должность" и "Подразделение".   - Условия, отбирающие субъекты только с типами "Должность" и "Подразделение".
-  - Условия, указывающие, что субъект, который входит в подсчет количества, находится в нужной ветке. Для этих целей можно использовать параметр типа список "Список родителей субъекта".+  - Условия, указывающие, что субъект, который входит в подсчет количества, находится в нужной ветке иерархии. Для этих целей можно использовать параметр типа писок" -- "Список родителей субъекта".
  
 Согласно указанной ранее логике в фильтре выставляются условия, приведенные ниже. Согласно указанной ранее логике в фильтре выставляются условия, приведенные ниже.
Строка 73: Строка 73:
 | - guid | Значение |  =  |   |   |   | | - guid | Значение |  =  |   |   |   |
 | Тип субъекта | Список значений |  =  | Должность, Подразделение |   |   | | Тип субъекта | Список значений |  =  | Должность, Подразделение |   |   |
-<endTableBox| Таблица 4. Условия фильтра "Кол-во должностей и подразделений".>+<endTableBox| Таблица 4. Условия фильтра "Кол-во должностей и подразделений">
  
-**Пояснение по параметру "Список родителей субъекта".** Считаем, что субъект находится в нужной ветке, если среди его родителей есть субъект, от которого будет вызван отчет. Список, который содержит данные о родителях называется "Список родителей субъекта". Субъект, от которого вызывается отчет, будет определяться в момент вызова этого самого отчета. Поэтому конкретного значения в фильтре указать нельзя. Конкретное указание будет задаваться в настройках соответствия фильтра в **Мастере отчетов**.+**Пояснение по параметру "Список родителей субъекта".** Считаем, что субъект находится в нужной ветке иерархии, если среди его родителей есть субъект, от которого будет вызван отчет. Список, который содержит данные о родителях называется "Список родителей субъекта". Субъект, от которого вызывается отчет, будет определяться в момент вызова этого отчета. Поэтому конкретного значения в фильтре указать нельзя. Конкретное указание будет задаваться в настройках соответствия фильтра в **Мастере отчетов**.
  
 ==== Вкладка "Группировка" ==== ==== Вкладка "Группировка" ====
  
-Найденные по условиям субъекты необходимо будет разделить на 2 группы для будущего подсчета количества: "Должности" и "Подразделения". Для этого на закладке "Группировканеобходимо указать, что группировку необходимо делать по параметру "Тип субъекта".+Найденные по условиям субъекты необходимо будет разделить на 2 группы для будущего подсчета количества: "Должности" и "Подразделения". Для этого на вкладке **Группировка** нужно указать, что группировку необходимо делать по параметру "Тип субъекта".
 <startTableBox> <startTableBox>
 ^  Группировать  ^  Параметр  ^  Шаг  ^ ^  Группировать  ^  Параметр  ^  Шаг  ^
 |  +  | Тип субъекта |   | |  +  | Тип субъекта |   |
-<endTableBox| Таблица 5. Настройка закладки "Группировка" фильтра "Кол-во должностей и подразделений".>+<endTableBox| Таблица 5. Настройки на вкладке "Группировка" фильтра "Кол-во должностей и подразделений">
  
 ==== Вкладка "Агрегаты" ==== ==== Вкладка "Агрегаты" ====
  
-Подсчет субъектов необходимо вести по параметру, который однозначно идентифицирует один субъект от других. Таким параметров является "guid". Поэтому на закладке "Агрегатыподсчет будет именно по этому параметру.+Подсчет субъектов необходимо вести по параметру, который однозначно идентифицирует одного субъекта от других. Таким параметров является "guid". Поэтому на вкладке **Агрегаты** подсчет будет именно по этому параметру.
 <startTableBox> <startTableBox>
 ^  Параметр  ^  Сумма  ^  Максимум  ^  Минимум  ^  Среднее  ^  Количество  ^ ^  Параметр  ^  Сумма  ^  Максимум  ^  Минимум  ^  Среднее  ^  Количество  ^
 | guid |   |   |   |   |  +  | | guid |   |   |   |   |  +  |
-<endTableBox| Таблица 6. Настройка закладки "Агрегаты" фильтра "Кол-во должностей и подразделений".>+<endTableBox| Таблица 6. Настройки на вкладке "Агрегаты" фильтра "Кол-во должностей и подразделений">
  
 ==== Вкладка "Показ" ==== ==== Вкладка "Показ" ====
  
-Нет необходимости выставлять что-либо на закладке "Показ", так как настройка этой закладки была предопределена настройками на закладках "Группировкаи "Агрегаты". Внешне она будет настроена так, как показано ниже.+На вкладке **Показ** нет необходимости выставлять что-либо, так как настройка этой вкладки была предопределена настройками на вкладках **Группировка** и **Агрегаты**. Внешне она будет настроена так, как показано ниже.
  
 <startTableBox> <startTableBox>
Строка 101: Строка 101:
 |   | Количество (guid) | |   | Количество (guid) |
 |  +  | Тип субъекта | |  +  | Тип субъекта |
-<endTableBox| Таблица 7. Вид настройки параметров на закладке "Показ" фильтра "Кол-во должностей и подразделений".>+<endTableBox| Таблица 7. Вид настройки параметров на вкладке "Показ" фильтра "Кол-во должностей и подразделений">
  
 ==== Сохранение фильтра ==== ==== Сохранение фильтра ====
  
-Сохраняем фильтр с названием " Кол-во должностей и подразделений ". Место сохранения -- "Пользовательские фильтры".+Сохраняем фильтр с названием "Кол-во должностей и подразделений". Место сохранения -- папка "Пользовательские фильтры".
  
 ===== Создание отчета ===== ===== Создание отчета =====
Строка 113: Строка 113:
 ==== Добавление привязки ==== ==== Добавление привязки ====
  
-Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчет и как будут выглядеть вставленные данные в отчете (см. [[/ru/manual/manual]] -> [[ru/manual/report/types_anchor]]).+Тип привязки в отчете определяет то, откуда именно будут браться данные (источник данных) для вставки в выполняемый отчети как будут выглядеть вставленные данные в отчете (см. [[/ru/manual/manual]] -> [[ru/manual/report/types_anchor]]).
  
 Исходя из того, что наши данные получаются из фильтра и по условиям задачи должны выглядеть как список (таблица), определяем тип привязки -- "Фильтр". В качестве конкретного фильтра выбирается ранее созданный и сохраненный фильтр "Кол-во должностей и подразделений". Исходя из того, что наши данные получаются из фильтра и по условиям задачи должны выглядеть как список (таблица), определяем тип привязки -- "Фильтр". В качестве конкретного фильтра выбирается ранее созданный и сохраненный фильтр "Кол-во должностей и подразделений".
  
-Для тогочтобы указать конкретный вызываемый субъект, от которого зависит выполнение фильтра, необходимо настроить соответствия фильтра.+Для того чтобы указать конкретный вызываемый субъект, от которого зависит выполнение фильтра, необходимо настроить соответствия фильтра.
  
 <startTableBox> <startTableBox>
 ^  Название условия фильтра  ^  Параметр класса  ^  Параметр фильтра  | ^  Название условия фильтра  ^  Параметр класса  ^  Параметр фильтра  |
 |   | [Объект].guid | СписокРодителей.guid | |   | [Объект].guid | СписокРодителей.guid |
-<endTableBox| Таблица 8. Настройка соответствий фильтра "Кол-во должностей и подразделений".>+<endTableBox| Таблица 8. Настройка соответствий фильтра "Кол-во должностей и подразделений">
  
-**Пояснение к настройке "Параметр фильтра"**. В фильтре на закладке "Условиябыло оставлено пустое место в параметре типа список "Список родителей субъекта" по параметру "guid". Поэтому и в параметрах фильтра необходимо выбрать этот же параметр. Тем самым мы говорим, что из фильтра необходимо брать к рассмотрению именно это условие -- guid из списка родителей субъекта.+**Пояснение к настройке "Параметр фильтра"**. В фильтре на вкладке **Условия** было оставлено пустое место в параметре "Список родителей субъекта" по параметру "guid". Поэтому и в параметрах фильтра необходимо выбрать этот же параметр. Тем самым мы говорим, что из фильтра необходимо брать к рассмотрению именно это условие -- guid из списка родителей субъекта.
  
-**Пояснение к настройке "Параметр класса"**.  [Объект] -- это тот субъект, от которого будет вызываться отчет. Но для подстановки в условия фильтра необходимо брать не целый объект, а его параметр "guid". Поэтому  и указываем [Объект].guid.+**Пояснение к настройке "Параметр класса"**.  [Объект] -- это тот субъект, от которого будет вызываться отчет. Но для подстановки в условия фильтра необходимо брать не целый объект, а его параметр "guid". Поэтому и указываем [Объект].guid.
  
 **Пояснение к настройке  "Название условия фильтра"**. Так как фильтр содержит лишь основное условие, поэтому ничего в этой ячейке не указываем. **Пояснение к настройке  "Название условия фильтра"**. Так как фильтр содержит лишь основное условие, поэтому ничего в этой ячейке не указываем.
  
-В окне "Настройка сложной привязки к данным" делаем переименование параметра "Количество (guid)" в "Кол-во субъектов".+В окне "Настройка сложной привязки к данным" делаем переименование названия привязки "Количество (guid)" в "Кол-во субъектов".
  
-[{{ ru:creating_user_reports:examples:subjects_count:pic1.png?nolink | Рисунок 1. Вид окна "Настройка сложной привязки к даннымпосле всех необходимых настроек.}}] +[{{ ru:creating_user_reports:examples:subjects_count:pic1.png?nolink | Рисунок 1. Вид окна **Настройка сложной привязки к данным** после всех необходимых настроек}}] 
  
 ==== Редактирование шаблона ==== ==== Редактирование шаблона ====
  
-В шаблоне отчета вносим необходимые внешние изменения, а так же добавляем привязку типа "Объект" по параметру "Название", чтобы было ясно от какого субъекта вызывается отчета и оформляем соответственно в шаблоне. Сохраняем и выполняем отчет.+В шаблоне отчета вносим необходимые изменения в оформление, а так же добавляем привязку типа "Объект" к параметру "Название", чтобы было ясноот какого субъекта вызывается отчет. Оформляем добавленную привязку в шаблоне. Сохраняем и выполняем отчет.
  
-[{{ ru:creating_user_reports:examples:subjects_count:pic2.png?nolink | Рисунок 2. Вид привязки типа фильтр "Процессы без единого субъекта" в окне шаблона отчета.}}] +[{{ ru:creating_user_reports:examples:subjects_count:pic2.png?nolink | Рисунок 2. Вид привязки "Процессы без единого субъекта" типа "Фильтр" в окне шаблона отчета}}] 
  
 ===== Результат ===== ===== Результат =====
  
-[{{ ru:creating_user_reports:examples:subjects_count:pic3.png?nolink | Рисунок 3. Один из возможных вариантов выполнения отчета+Пример одного из возможных результатов выполнения отчета "Количество должностей и подразделений" приведен на Рис. 3.
-}}]  +
-===== Рекомендация =====+
  
-Для того, чтобы быть уверенным в правильности всех выполненных шагов, рекомендуется для тестирования выбрать небольшое подразделение, где легко подсчитать количество должностей и подразделений.+[{{ ru:creating_user_reports:examples:subjects_count:pic3.png?nolink | Рисунок 3. Пример выполнения отчета оличество должностей и подразделений"}}] 
 + 
 +===== Рекомендация =====
  
 +Для того чтобы быть уверенным в правильности всех выполненных шагов, рекомендуется для тестирования выбрать подразделение, где можно самостоятельно подсчитать количество должностей и подразделений, и проверить полученный результат с результатом в отчете.
  
  
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki