Различия

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

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

ru:manual:report:optimization_of_report_generation_time [2020/07/15 14:37]
192.168.1.153 [Процесс выборки данных фильтром]
ru:manual:report:optimization_of_report_generation_time [2023/03/16 12:20] (текущий)
Строка 1: Строка 1:
 ====== Оптимизация времени построения отчетов ====== ====== Оптимизация времени построения отчетов ======
  
-Business Studio предоставляет мощный инструмент для получения необходимой информации из бизнес-модели - **Мастер отчетов**.+Business Studio предоставляет мощный инструмент для получения необходимой информации из модели бизнес-архитектуры - **Мастер отчетов**.
  
 **Мастер отчетов** позволяет создавать пользователю отчеты без глубокого погружения в компьютерную область знаний и предоставляет больше времени на решение насущных задач. При этом время выполнения отчета может быть значительным и являться критичным в зависимости от поставленных задач к отчету и от объемов данных. **Мастер отчетов** позволяет создавать пользователю отчеты без глубокого погружения в компьютерную область знаний и предоставляет больше времени на решение насущных задач. При этом время выполнения отчета может быть значительным и являться критичным в зависимости от поставленных задач к отчету и от объемов данных.
Строка 7: Строка 7:
 Ниже описаны основные рекомендации, которые помогут разрабатывать правильные отчеты с точки зрения ожидания их выполнения. Для решения задачи минимизации времени построения отчета необходимо знать и понимать: Ниже описаны основные рекомендации, которые помогут разрабатывать правильные отчеты с точки зрения ожидания их выполнения. Для решения задачи минимизации времени построения отчета необходимо знать и понимать:
    
-  * как выстроены данные о бизнес-модели и как это влияет на скорость получения данных из базы;+  * как хранятся данные модели бизнес-архитектуры и как это влияет на скорость их получения из базы;
   * каким образом отчет получает данные;   * каким образом отчет получает данные;
   * какие наиболее оптимальные пути получения необходимых данных.   * какие наиболее оптимальные пути получения необходимых данных.
Строка 13: Строка 13:
 ===== Объектная модель и скорость получения данных ===== ===== Объектная модель и скорость получения данных =====
  
-Работа Business Studio построена на СУБД MS SQL. Все данные о бизнес-модели хранятся в ней определенным образом. Структуры данных и их связи между собой описаны в **Объектной модели** (см. главу [[/ru/manual/manual]] -> [[/ru/manual/report/object_model]]).+Объекты, из которых состоит модель бизнес-архитектуры хранятся в реляционной СУБД. Классы объектов, их параметры и связи описаны в **Объектной модели** (см. главу [[/ru/manual/manual]] -> [[/ru/manual/object_model/object_relationships]]).
  
 Параметры (данные), которые использует пользователь в своей работе, делятся на: Параметры (данные), которые использует пользователь в своей работе, делятся на:
Строка 43: Строка 43:
   * самой медленной из трех операций является получение нехранимых параметров, так как при каждом обращении необходимо затратить время на их расчет.   * самой медленной из трех операций является получение нехранимых параметров, так как при каждом обращении необходимо затратить время на их расчет.
  
-===== Хранимые фильтры =====+===== Фильтры =====
  
-Очень часто построение отчетов связано с привязками, использующими хранимые фильтры (работа с фильтрами описана в главе [[/ru/manual/filter]]). Поэтому время формирования отчета во многом зависит от выбранных настроек фильтра и поэтому при рассмотрении вопросов времени построения отчетов так много внимания уделяется условиям фильтров.+Очень часто построение отчетов связано с привязками, использующими фильтры (работа с фильтрами описана в главе [[/ru/manual/filter]]). Поэтому время формирования отчета во многом зависит от выбранных настроек фильтра и поэтому при рассмотрении вопросов времени построения отчетов так много внимания уделяется условиям фильтров.
  
 Создание фильтра по справочнику представляется пользователю в виде задания условий на выборку данных из большого списка параметров этого справочника. На самом деле в таком фильтре собирается множество параметров разных связанных справочников. Это обеспечивает удобство и простоту работы по созданию фильтра для пользователя. Платой за это является неоптимальность получения данных, что в ряде случаев является критичным для времени построения отчетов. Создание фильтра по справочнику представляется пользователю в виде задания условий на выборку данных из большого списка параметров этого справочника. На самом деле в таком фильтре собирается множество параметров разных связанных справочников. Это обеспечивает удобство и простоту работы по созданию фильтра для пользователя. Платой за это является неоптимальность получения данных, что в ряде случаев является критичным для времени построения отчетов.
Строка 51: Строка 51:
 ==== Процесс выборки данных фильтром ==== ==== Процесс выборки данных фильтром ====
  
-Допустим, у хранимого фильтра заданы условия по хранимым и нехранимым параметрам. Процесс выборки данных из базы будет следующий:+Допустим, у фильтра заданы условия по хранимым и нехранимым параметрам. Процесс выборки данных из базы будет следующий:
  
   - из базы выбираются все объекты согласно условиям по хранимым параметрам. В итоге формируется "Список 1", который загружается в оперативную память компьютера;   - из базы выбираются все объекты согласно условиям по хранимым параметрам. В итоге формируется "Список 1", который загружается в оперативную память компьютера;
Строка 74: Строка 74:
   * фильтр запустили на выполнение после какого-то времени работы с Business Studio (время может быть меньше, чем максимальное).   * фильтр запустили на выполнение после какого-то времени работы с Business Studio (время может быть меньше, чем максимальное).
  
-Некоторые нехранимые параметры для своих расчетов требуют загрузки в оперативную память компьютера множества параметров (иногда более 90% данных всей базы). Например, параметр "Связи процессов по объектам" процессов.+Некоторые нехранимые параметры для своих расчетов требуют загрузки в оперативную память компьютера множества параметров (иногда более 90% данных всей базы). Например, параметр "Входы и выходы по функцобъектам" деятельности.
  
 ==== Наложение фильтра на привязки со списками ==== ==== Наложение фильтра на привязки со списками ====
Строка 99: Строка 99:
 Если одни и те же данные можно получить фильтрацией по хранимому или нехранимому параметру, то необходимо создавать условия по хранимому параметру. Если одни и те же данные можно получить фильтрацией по хранимому или нехранимому параметру, то необходимо создавать условия по хранимому параметру.
  
-**Пример. Необходимо увидеть все декомпозированные процессы.**+**Пример. Необходимо увидеть все декомпозированные единицы деятельности.**
  
-Задача требует показать все процессы, ниже которых есть какие-либо процессы. Узнать это можно по одному из параметров процессов:+Задача требует показать все единицы деятельности, ниже которых есть какие-либо единицы деятельности. Узнать это можно по одному из параметров:
  
-  * "Количество потомков" - нехранимый параметр (условие - кол-во потомков не равно 0); +  * "Количество дочерних элементов" - нехранимый параметр (условие - кол-во потомков не равно 0); 
-  * "Подпроцессы" - хранимый параметр (условие - подпроцессы в списке есть).+  * "Дочерние элементы" - хранимый параметр (условие - дочерние элементы в списке есть).
  
-Работа фильтра с условием по параметру "Количество потомков":+Работа фильтра с условием по параметру "Количество дочерних элементов":
  
-  - в оперативную память будут загружены **ВСЕ** процессы бизнес-модели; +  - в оперативную память будут загружены **ВСЕ** единицы деятельности из модели бизнес-архитектуры
-  - для каждого процесса выполняется расчет параметра "Количество потомков"; +  - для каждой единицы деятельности выполняется расчет параметра "Количество дочерних элементов"; 
-  - из всех процессов в оперативной памяти будут выбраны те процессы, которые удовлетворяют условиям по параметру "Количество потомков".+  - из всех единиц деятельности в оперативной памяти будут выбраны те единицы деятельности, которые удовлетворяют условиям по параметру "Количество дочерних элементов".
  
-Работа фильтра с условием по параметру "Подпроцессы":+Работа фильтра с условием по параметру "Дочерние элементы":
  
-  - в оперативную память будут загружены процессы, удовлетворяющие условию по параметру "Подпроцессы".+  - в оперативную память будут загружены единицы деятельности, удовлетворяющие условию по параметру "Дочерние элементы".
  
-Как видно из описанного выше, условия в фильтре следует выставлять по хранимому параметру "Подпроцессы".+Как видно из описанного выше, условия в фильтре следует задавать по хранимому параметру "Дочерние элементы".
  
 При решении поставленной задачи также следует обратиться к [[#рекомендация_3_сужать_область_поиска_по_хранимым_параметрам|Рекомендации 3]] - сузить поиск, задав условия для хранимых параметров. А именно: При решении поставленной задачи также следует обратиться к [[#рекомендация_3_сужать_область_поиска_по_хранимым_параметрам|Рекомендации 3]] - сузить поиск, задав условия для хранимых параметров. А именно:
  
-  - отбросить процессы, тип которых не относится к следующим: Папка, Внешняя ссылка, Служебный; +  - отбросить единицы деятельности, тип которых не относится к следующим: Папка, Внешняя ссылка, Служебный; 
-  - отбросить процессы, которые не будут иметь подпроцессы в силу своей природы: Действия, Решения.+  - отбросить единицы деятельности, которые не будут иметь дочерние элементы в силу своей природы: Действия, Решения.
  
-С точки зрения минимизации времени получения данных, на вкладке **Условия** в фильтре по процессам следует выставить следующие условия:+С точки зрения минимизации времени получения данных, на вкладке **Условия** в фильтре по деятельности следует выставить следующие условия:
  
 <startTableBox> <startTableBox>
 ^  Параметр  ^  Тип  ^ Оператор  ^  Значение  ^  Не  ^  Потомки  ^ ^  Параметр  ^  Тип  ^ Оператор  ^  Значение  ^  Не  ^  Потомки  ^
-Подпроцессы | Подфильтр |  =  |   |   |   | +Дочерние элементы | Подфильтр |  =  |   |   |   | 
-| - Процесс | Значение |  =  |   |  +  |   | +| -Единица деятельности | Значение |  =  |   |  +  |   | 
-| Тип процесса | Список значений |  =  |Папка, Внешняя ссылка, Служебный, Действие, Решение |  +  |   |+| Тип | Список значений |  =  |Папка, Внешняя ссылка, Служебный, Действие, Решение |  +  |   |
 <endTableBox| Таблица 1. Условия фильтра> <endTableBox| Таблица 1. Условия фильтра>
  
-==== Рекомендация 2 – Создавать фильтры по "Элементам списков" и Связям ====+==== Рекомендация 2 – Создавать фильтры по "Строкам списков" и Связям ====
  
-Создавать фильтры следует по возможности по "Элементам списков" и справочникам связей, а не по параметрам типа "Список", где:+Создавать фильтры следует по возможности по "Строкам списков" и справочникам связей, а не по параметрам типа "Список", где:
  
-  * "Элементы списков" - корневой раздел в **Объектной модели** (см. статью [[/ru/manual/manual]] -> [[/ru/manual/report/object_model#элементы_списков|Элементы списков]]); +  * "Строки списков" - корневой раздел в **Объектной модели** (см. статью [[/ru/manual/manual]] -> [[/ru/manual/object_model/object_model_sections?&#строки_списков|Строки списков]]); 
-  * Связи - справочники в **Объектной модели** (**Классы -> Общие связи**).+  * Связи - справочники в **Объектной модели** (**Самостоятельные объекты -> Связи**).
  
-Как было указано ранее, параметры типа "Список" являются сами по себе фильтрами. Поэтому вывод списков у объектов в "Класс" или фильтр по таким спискам приводят к созданию подзапросов SQL, что приводит к дополнительным затратам времени на получение необходимой выборки данных. В то же время "Элементы списков" являются просто справочниками, так же как и справочники в **Классах**. Фильтрация по справочнику - чистый запрос SQL, он работает быстрей.+Как было указано ранее, параметры типа "Список" являются сами по себе фильтрами. Поэтому вывод списков у объектов в "Класс" или фильтр по таким спискам приводят к созданию подзапросов SQL, что приводит к дополнительным затратам времени на получение необходимой выборки данных. В то же время "Строки списков" являются просто справочниками, так же как и справочники в **Самостоятельных объектах**. Фильтрация по справочнику - чистый запрос SQL, он работает быстрей.
  
-Эта рекомендация работает почти во всех случаях, когда нужно найти что-то по связям чего-то с чем-то. В случае, если надо найти отсутствие этих связей, то необходимо делать поиск через "Классы".+Эта рекомендация работает почти во всех случаях, когда нужно найти что-то по связям чего-то с чем-то. В случае, если надо найти отсутствие этих связей, то необходимо делать поиск через "Самостоятельные объекты".
  
-**Пример. Необходимо получить список процессов, у которых на вкладке **Нормативно-справочные документы** есть хотя бы один документ.**+**Пример. Необходимо получить список единиц деятельности, у которых на вкладке **Нормативно-справочные документы** есть хотя бы один документ.**
  
 У задачи есть 2 решения: У задачи есть 2 решения:
  
-  - Создать фильтр по справочнику "Процессы" и выставить условия по списку "Нормативно-справочные документы". +  - Создать фильтр по справочнику "Деятельность" и выставить условия по списку "Нормативно-справочные документы". 
-  - Создать фильтр по элементу списков "БизнесМодель.СписокНСДПроцессов" (**Элементы списков -> БизнесМодель.СпискиНСД**).+  - Создать фильтр по строке списков "БизнесМодель.СписокНСДПроцессов" (**Строки списков -> БизнесМодель.СпискиНСД**).
  
-С точки зрения минимизации времени получения данных правильным будет второй путь. "БизнесМодель.СписокНСДПроцессов" содержит только информацию о существующих связях процессов с документами - одна строка показывает связь одного документа с одним процессом. Поэтому условий у фильтра никаких не будет. Следует просто вывести на показ название процесса (параметр "Владелец"). При этом следует понимать, что за одним процессом может быть закреплено несколько документов. Поэтому может быть несколько строк, у которых процессы одинаковые. Это приведет к дублированию информации. Чтобы этого не происходило, необходимо на вкладке **Группировка** выставить группировку по параметру "Владелец". +С точки зрения минимизации времени получения данных правильным будет второй путь. "БизнесМодель.СписокНСДПроцессов" содержит только информацию о существующих связях единиц деятельности с документами - одна строка показывает связь одного документа с одной единицей деятельности. Поэтому условий у фильтра никаких не будет. Следует просто вывести на показ название единицы деятельности (параметр "Владелец"). При этом следует понимать, что за одной единицей деятельности может быть закреплено несколько документов. Поэтому может быть несколько строк, у которых единицы деятельности одинаковые. Это приведет к дублированию информации. Чтобы этого не происходило, необходимо на вкладке **Группировка** выставить группировку по параметру "Владелец". 
  
 Т.е. все что необходимо сделать в фильтре, это выставить группировку. Т.е. все что необходимо сделать в фильтре, это выставить группировку.
Строка 163: Строка 163:
   * Чем меньше данных будет выбрано для обработки, тем быстрее произойдет обработка данных.   * Чем меньше данных будет выбрано для обработки, тем быстрее произойдет обработка данных.
  
-Поэтому необходимо задавать условия по хранимым фильтрам так, чтобы в результаты фильтра попадало больше целевой информации, что сведет к минимуму количество операций для её последующей обработки: расчету нехранимых параметров, дополнительной фильтрации.+Поэтому необходимо задавать условия по фильтрам так, чтобы в результаты фильтра попадало больше целевой информации, что сведет к минимуму количество операций для её последующей обработки: расчету нехранимых параметров, дополнительной фильтрации.
  
-**Пример. Необходимо найти все процессы первого уровня.**+**Пример. Необходимо найти все единицы деятельности первого уровня.**
  
-Ключевым условием в данном случае является поиск значения нехранимого параметра "Уровень".  Это означает, что для всех процессов модели необходимо провести расчет этого параметра и выбрать подходящие по условию.+Ключевым условием в данном случае является поиск значения нехранимого параметра "Уровень".  Это означает, что для всех единиц деятельности модели необходимо провести расчет этого параметра и выбрать подходящие по условию.
  
-Количество таких расчетов можно сократить, если из списка сразу исключить те процессы, которые не могут иметь искомое значение уровня. Это процессы с типом: Действие, Решение, Внешняя ссылка, Служебный. Тип процесса является хранимым параметром, поэтому это подходит для задач сужения области поиска.+Количество таких расчетов можно сократить, если из списка сразу исключить те единицы деятельности, которые не могут иметь искомое значение уровня. Это единицы деятельности с типом: Действие, Решение, Внешняя ссылка, Служебный. Тип единицы деятельности является хранимым параметром, поэтому это подходит для задач сужения области поиска.
  
-С точки зрения минимизации времени получения данных правильными будут вот условия поиска в фильтре по справочнику "Процессы", приведенные в Таблице 2.+С точки зрения минимизации времени получения данных правильными будут вот условия поиска в фильтре по справочнику "Деятельность", приведенные в Таблице 2.
  
 <startTableBox> <startTableBox>
 ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^ ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^
-| Тип процесса | Список значений |  =  |Действие, Решение, Внешняя ссылка, Служебный |  +  |   |+| Тип | Список значений |  =  |Действие, Решение, Внешняя ссылка, Служебный |  +  |   |
 | Уровень | Значение |  =  | 1 |   |   | | Уровень | Значение |  =  | 1 |   |   |
 <endTableBox| Таблица 2. Условия фильтра> <endTableBox| Таблица 2. Условия фильтра>
Строка 181: Строка 181:
 ==== Рекомендация 4 – Не включать опции привязок, если это не требуется ==== ==== Рекомендация 4 – Не включать опции привязок, если это не требуется ====
  
-Если известно, что данные в сложной привязке не будут иметь дублирования или пустых строк, то не рекомендуется выставлять опции:+Если известно, что данные в сложной привязке не будут иметь дублирования или пустых строк, то не рекомендуется задавать опции:
  
   * Удалять повторяющиеся строки;   * Удалять повторяющиеся строки;
Строка 192: Строка 192:
 ==== Рекомендация 5 – Выполнять операции на уровне фильтров (они быстрее), чем на уровне привязок ==== ==== Рекомендация 5 – Выполнять операции на уровне фильтров (они быстрее), чем на уровне привязок ====
  
-По возможности следует настраивать хранимый фильтр так, чтобы полученные данные не содержали дублирования (группировка) или пустых значений (условия). Это позволит не делать исключение дубликатов и пустых строк в настройках привязок.+По возможности следует настраивать фильтр так, чтобы полученные данные не содержали дублирования (группировка) или пустых значений (условия). Это позволит не делать исключение дубликатов и пустых строк в настройках привязок.
  
 Скорость подобных операций при выполнении SQL-запроса выше, и будет меньше информации передаваться по сети между SQL-сервером и компьютером пользователя. Скорость подобных операций при выполнении SQL-запроса выше, и будет меньше информации передаваться по сети между SQL-сервером и компьютером пользователя.
Строка 200: Строка 200:
 Как правило, группировка будет актуальна при работе со списками, потому как они содержат информацию по различным связям и именно там встречаются записи с одинаковыми параметрами. В то же время, повторяющихся объектов в справочниках ("Классы") обычно не бывает. Как правило, группировка будет актуальна при работе со списками, потому как они содержат информацию по различным связям и именно там встречаются записи с одинаковыми параметрами. В то же время, повторяющихся объектов в справочниках ("Классы") обычно не бывает.
  
-**Пример. Получить список всех процессов, у которых есть исполнители.**+**Пример. Получить список всех единиц деятельности, у которых есть исполнители.**
  
-[[##рекомендация_2_создавать_фильтры_по_элементам_списков_и_связям|Согласно рекомендации 2]] решаем, что искать такие процессы правильно по справочнику "Связи субъекта с процессом" (**Классы -> Общие связи -> БизнесМодель.СвязиПроцессов**). Условия фильтра будут такие, как приведены в Таблице 3.+[[##рекомендация_2_создавать_фильтры_по_элементам_списков_и_связям|Согласно рекомендации 2]] решаем, что искать такие единицы деятельности правильно по справочнику "Связи оргединицы с единицей деятельности" (**Самостоятельные объекты -> Связи -> БизнесМодель.СвязиПроцессов**). Условия фильтра будут такие, как приведены в Таблице 3.
  
 <startTableBox> <startTableBox>
 ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^ ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^
 | Тип связи | Подфильтр |  =  |   |   |   | | Тип связи | Подфильтр |  =  |   |   |   |
-| Категория | Значение |  =  | Исполнитель процесса |   |   |  +-Категория типа связи | Значение |  =  | Исполнитель |   |   |  
 <endTableBox| Таблица 3. Условия фильтра> <endTableBox| Таблица 3. Условия фильтра>
  
-Данный справочник содержит информацию по каждой связи процесса с субъектом. Поэтому может быть дублирование информации. Т.е. одна строка содержит информацию только по одному процессу и одному связанному с ним субъекту. Это ситуация, когда у процесса более 1-го исполнителя.+Данный справочник содержит информацию по каждой связи единицы деятельности с оргединицей. Поэтому может быть дублирование информации. Т.е. одна строка содержит информацию только по одной единице деятельности и одной связанной с ней оргединицей. Это ситуация, когда у единицы деятельности более 1-го исполнителя.
  
-Поэтому для отображения данных по результату выполнения фильтра необходимо на вкладке **Группировка** установить флажок напротив параметра "Процесс".+Поэтому для отображения данных по результату выполнения фильтра необходимо на вкладке **Группировка** установить флажок напротив параметра "Единица деятельности".
  
-Если бы группировки в фильтре не было, то в настройках сложной привязки типа "Фильтр" необходимо было бы устанавливать флажок **Удалять повторяющиеся строки**. А это привело бы к загрузке в оперативную память списка с дубликатами процессов.+Если бы группировки в фильтре не было, то в настройках сложной привязки типа "Фильтр" необходимо было бы устанавливать флажок **Удалять повторяющиеся строки**. А это привело бы к загрузке в оперативную память списка с дубликатами единиц деятельности.
  
 ==== Рекомендация 6 - На закладке "Показ" в фильтре выводить хранимые параметры на показ ==== ==== Рекомендация 6 - На закладке "Показ" в фильтре выводить хранимые параметры на показ ====
Строка 240: Строка 240:
 ==== Рекомендация 7 – Параметр условий "Потомки" использовать в справочниках стандартной иерархии ==== ==== Рекомендация 7 – Параметр условий "Потомки" использовать в справочниках стандартной иерархии ====
  
-В условиях фильтра не рекомендуется использовать параметр "Потомки" для справочников с нестандартной иерархией ("Процессы" и "Субъекты"). Этот параметр можно использовать для справочников со стандартной иерархией (все остальные иерархические справочники).+В условиях фильтра не рекомендуется использовать параметр "Потомки" для справочников с нестандартной иерархией ("Деятельность" и "Оргединицы"). Этот параметр можно использовать для справочников со стандартной иерархией (все остальные иерархические справочники).
  
-Работа по признаку "Потомки" в справочниках "Процессы" и "Субъекты" ведется так же, как и работа с нехранимыми параметрами. Этот нехранимый параметр является высоко затратным для расчетов. У других справочников работа с "Потомки" аналогична работе с хранимыми параметрами.+Работа по признаку "Потомки" в справочниках "Деятельность" и "Оргединицы" ведется так же, как и работа с нехранимыми параметрами. Этот нехранимый параметр является высоко затратным для расчетов. У других справочников работа с "Потомки" аналогична работе с хранимыми параметрами.
  
-**Пример. От субъекта получить список сотрудников (Фамилия) нижележащих субъектов. **+**Пример. От оргединицы получить список сотрудников (Фамилия) нижележащих оргединиц. **
  
-В отчете по субъекту эту задачу можно решить двумя путями:+В отчете по оргединице эту задачу можно решить двумя путями:
  
   - Через создание привязки типа "Список" по параметру "Все сотрудники".   - Через создание привязки типа "Список" по параметру "Все сотрудники".
   - Через создание привязки типа "Фильтр":   - Через создание привязки типа "Фильтр":
    
-      * Фильтр создается по справочнику "Связи ФизЛиц с Субъектами" с условием, приведенным в Таблице 5.+      * Фильтр создается по справочнику "Связи физлица с оргединицей" с условием, приведенным в Таблице 5.
  
 <startTableBox> <startTableBox>
 ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^ ^  Параметр  ^  Тип  ^  Оператор  ^  Значение  ^  Не  ^  Потомки  ^
-Субъект  Подфильтр  |  =  |   |   |  +  |+Оргединица | Подфильтр  |  =  |   |   |  +  |
 <endTableBox| Таблица 5. Условия фильтра> <endTableBox| Таблица 5. Условия фильтра>
    
       * Соответствия фильтра приведены в Таблице 6.       * Соответствия фильтра приведены в Таблице 6.
 <startTableBox> <startTableBox>
-^  Название условия фильтра  ^  Параметр класса  ^  Параметр фильтра  ^ +^  Источник данных  ^  Параметр  ^  Параметр фильтра  ^  Название условия фильтра  ^ 
-  | [Объект] | Субъект |+| Объект отчета |   | Оргединица |  |
 <endTableBox| Таблица 6. Соответствия фильтра в настройке сложной привязки> <endTableBox| Таблица 6. Соответствия фильтра в настройке сложной привязки>
  
Строка 276: Строка 276:
    
  
-**Пример. К процессу нужно приложить документ, содержащий значительное количество информации**+**Пример. К единице деятельности нужно приложить документ, содержащий значительное количество информации**
  
 В данном случае рекомендуем сделать следующее: В данном случае рекомендуем сделать следующее:
   * Всю информацию поместить в документ MS Word (*.doc, *.docx).   * Всю информацию поместить в документ MS Word (*.doc, *.docx).
   * Создать бумажный\электронный документ и в поле "Файл бумажного документа" указать ссылку на этот документ.   * Создать бумажный\электронный документ и в поле "Файл бумажного документа" указать ссылку на этот документ.
-  * Поместить данный документ на вкладку "Нормативно-справочные документы" процесса.+  * Поместить данный документ на вкладку "Нормативно-справочные документы" единицы деятельности.
  
 В отчёте нужно создать следующую привязку: В отчёте нужно создать следующую привязку:
Строка 290: Строка 290:
 Такой вариант отчёта будет формироваться быстрее, чем вариант с выводом содержимого полей RTF. Такой вариант отчёта будет формироваться быстрее, чем вариант с выводом содержимого полей RTF.
  
-[<contextnavigator>]+[<contextnavigator>]  
 +  
 +  
 +  
 + 
 +  
 +  
 +  
 +  
 + 
 +  
 +  
 +  
 + 
 +{(rater>id=ru_manual_report_optimization_of_report_generation_time|name=Оптимизация времени построения отчетов|type=vote|trace=ip|headline=off)}
Driven by DokuWiki