Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:manual:report:types_anchor:anchor_data_filter_settings [2020/09/18 15:19] 192.168.1.155 [Динамическое условие] |
ru:manual:report:types_anchor:anchor_data_filter_settings [2023/03/16 12:20] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Настройка фильтра данных привязки ====== | ====== Настройка фильтра данных привязки ====== | ||
+ | |||
Параметр типа "Фильтр" может использоваться в привязках типа "Список", "Дерево", "BAND", "Фильтр". С его помощью можно отфильтровать список объектов этих привязок так, чтобы в отчет выводились только нужные объекты. В привязках типа "Секция" фильтр используется как условие показа секции. | Параметр типа "Фильтр" может использоваться в привязках типа "Список", "Дерево", "BAND", "Фильтр". С его помощью можно отфильтровать список объектов этих привязок так, чтобы в отчет выводились только нужные объекты. В привязках типа "Секция" фильтр используется как условие показа секции. | ||
- | Фильтром в структуре привязки служит фильтр, который рекомендуется настроить заранее, до настройки привязки. Фильтры создаются в справочнике "Хранимые фильтры" ({{bslink>Главное меню → Отчеты → Хранимые фильтры|ShowRibbonPageOrItem?c639ba43-ff15-4caf-ab36-0d938fe0a7a3;5f301d3f-d375-43a1-86d9-995ca3615998:Item}}). Для фильтра привязки можно использовать любой доступный вид фильтра (см. [[ru/manual/filter/stored_filter]]). | + | Фильтром в структуре привязки служит фильтр, который рекомендуется настроить заранее, до настройки привязки. Фильтры создаются в справочнике "Фильтры" ({{bslink>Главное меню → Отчеты → Фильтры|ShowRibbonPageOrItem?c639ba43-ff15-4caf-ab36-0d938fe0a7a3;5f301d3f-d375-43a1-86d9-995ca3615998:Item}}). Для фильтра привязки можно использовать любой доступный вид фильтра (см. [[ru/manual/filter/stored_filter]]). |
Условия фильтра могут быть статическими или динамическими. Поле "Значение" статического условия предопределено заранее при создании фильтра и не меняется во время формирования отчета. В динамическое условие в поле "Значение" можно передавать значения параметров объекта, от которого вызван отчет. Таким образом, в зависимости от выбора объекта в отчете будет получен тот или иной результат фильтра. В одном фильтре можно использовать одновременно статические и динамические условия. | Условия фильтра могут быть статическими или динамическими. Поле "Значение" статического условия предопределено заранее при создании фильтра и не меняется во время формирования отчета. В динамическое условие в поле "Значение" можно передавать значения параметров объекта, от которого вызван отчет. Таким образом, в зависимости от выбора объекта в отчете будет получен тот или иной результат фильтра. В одном фильтре можно использовать одновременно статические и динамические условия. | ||
== == | == == | ||
- | **Внимание!** В случае, если требуется использовать в пользовательских отчетах фильтры из поставляемых с Business Studio отчетов (такая ситуация возникает, например, если пользовательский отчет создавался копированием отчета, поставляемого с Business Studio) рекомендуется делать копии этих фильтров, перемещать эти копии за пределы папки "Фильтры отчетов\СТУ" (например, в папку "Пользовательские фильтры"), назначить для соответствующих привязок отчета эти копии вместо поставляемых с Business Studio фильтров и работать в дальнейшем с копиями фильтров. Разработчик Business Studio оставляет за собой право перезаписывать фильтры при обновлении программы. | + | **Внимание!** В случае, если требуется использовать в пользовательских отчетах фильтры из поставляемых с Business Studio отчетов (такая ситуация возникает, например, если пользовательский отчет создавался копированием отчета, поставляемого с Business Studio) рекомендуется делать копии этих фильтров, перемещать эти копии за пределы папки "Фильтры по умолчанию" (например, в папку "Пользовательские фильтры"), назначить для соответствующих привязок отчета эти копии вместо поставляемых с Business Studio фильтров и работать в дальнейшем с копиями фильтров. Разработчик Business Studio оставляет за собой право перезаписывать фильтры при обновлении программы. |
+ | |||
+ | Подробнее об этом см. в [[ru/manual/administration/change_and_use_default_data]]. | ||
==== ==== | ==== ==== | ||
Строка 28: | Строка 30: | ||
Рассмотрим работу статического условия на примере отчета по физическим лицам, создание которого описано в статье [[ru/manual/report/types_anchor/type_filter#пример_фильтр_по_справочнику_физические_лица|Пример. Фильтр по справочнику "Физические лица"]]. В этом отчете у привязки "Список физических лиц" есть четыре дополнительных привязки. Последняя привязка "Все контакты" обеспечивает вывод в отчете список всех контактов физического лица. Данная привязка имеет тип "Объект". Этой же цели можно добиться, выведя в отчет с помощью привязки типа "Список" список "Контакты" физического лица. На этот список можно будет наложить условие, например, должны выводиться только рабочие телефоны. | Рассмотрим работу статического условия на примере отчета по физическим лицам, создание которого описано в статье [[ru/manual/report/types_anchor/type_filter#пример_фильтр_по_справочнику_физические_лица|Пример. Фильтр по справочнику "Физические лица"]]. В этом отчете у привязки "Список физических лиц" есть четыре дополнительных привязки. Последняя привязка "Все контакты" обеспечивает вывод в отчете список всех контактов физического лица. Данная привязка имеет тип "Объект". Этой же цели можно добиться, выведя в отчет с помощью привязки типа "Список" список "Контакты" физического лица. На этот список можно будет наложить условие, например, должны выводиться только рабочие телефоны. | ||
- | Откройте справочник фильтров (**Главное меню -> Отчеты -> Хранимые фильтры**). Нажмите на кнопку {{common/icons/06.png?nolink}} панели инструментов **Окна справочника**. Выберите класс "Контакты физлиц" (Элементы списков -> БизнесМодель.КонтактыФизЛиц). В окне названия нового фильтра введите, например, "Фильтр списка контактов". В **Окне фильтра** на вкладке **Условия** для параметра "Тип контакта" выберите значение "Рабочий телефон" (Рис. 1). Сохраните фильтр. В параметре "Вид результата" выберите значение "Форма справочника". Сохраните фильтр. Подробнее о создании фильтров описано в главе [[ru/manual/filter/stored_filter]]. | + | Откройте справочник фильтров (**Главное меню -> Отчеты -> Фильтры**). Нажмите на кнопку {{common/icons/06.png?nolink}} панели инструментов **Окна справочника**. Выберите класс "Контакты физлиц" (Строки списков -> БизнесМодель.КонтактыФизЛиц). В окне названия нового фильтра введите, например, "Фильтр списка контактов". В **Окне фильтра** на вкладке **Условия** для параметра "Тип контакта" выберите значение "Рабочий телефон" (Рис. 1). Сохраните фильтр. В параметре "Вид результата" выберите значение "Форма справочника". Сохраните фильтр. Подробнее о создании фильтров описано в главе [[ru/manual/filter/stored_filter]]. |
Строка 41: | Строка 43: | ||
- | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0002.png?nolink |Рисунок 2. Страница настройки сложной привязки со статическим условием}}] | + | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0002.png?nolink |Рисунок 2. Страница настройки сложной привязки со статическим условием }}] |
Добавить эти привязки можно либо нажав на кнопку **Добавить**, либо нажав на кнопку {{common/right.png?nolink}} в дереве **Параметры объекта**, либо перетащив мышью нужный параметр. | Добавить эти привязки можно либо нажав на кнопку **Добавить**, либо нажав на кнопку {{common/right.png?nolink}} в дереве **Параметры объекта**, либо перетащив мышью нужный параметр. | ||
Строка 59: | Строка 61: | ||
===== Динамическое условие ===== | ===== Динамическое условие ===== | ||
- | Чтобы настроить динамическое условие, необходимо на странице **Настройка фильтра данных привязки** заполнить данные в блоке **Подстановка значений**. | + | Чтобы настроить динамическое условие, необходимо на странице **Настройка фильтра данных привязки** заполнить данные в блоке **Соответствия фильтра**. |
Описание назначения каждой из колонок этого блока можно посмотреть во всплывающих подсказках к заголовкам колонок (Рис. 5). | Описание назначения каждой из колонок этого блока можно посмотреть во всплывающих подсказках к заголовкам колонок (Рис. 5). | ||
[{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0005.png?nolink |Рисунок 5. Страница настройки фильтра}}] | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0005.png?nolink |Рисунок 5. Страница настройки фильтра}}] | ||
+ | |||
+ | В случае задания в ячейках колонок "Параметр-источник" и "Параметр фильтра" параметров типа "Целое" для ячейки колонки "Параметр фильтра" доступен вызов команды контекстного меню "Задать смещение" В появляющемся по этой команде окне можно задать положительную или отрицательную величину, на которую будет изменено значение параметра из ячейки колонки "Параметр-источник" перед ее подстановкой в "Параметр фильтра". | ||
== == | == == | ||
- | **Внимание!** Нельзя использовать в отчетах один и тот же фильтр с разными настройками в блоке ***Подстановка значений*. В этом случае настройки в фильтре могут объединяться, и результат выполнения отчета будет неверным. | + | **Внимание!** Нельзя использовать в отчетах один и тот же фильтр с разными настройками в блоке **Соответствия фильтра**. В этом случае настройки в фильтре могут объединяться, и результат выполнения отчета будет неверным. |
==== ==== | ==== ==== | ||
\\ | \\ | ||
С помощью кнопки **Создать фильтр с учетом класса привязки** {{common/icons/06.png?nolink}} производится создание нового фильтра для данной привязки. | С помощью кнопки **Создать фильтр с учетом класса привязки** {{common/icons/06.png?nolink}} производится создание нового фильтра для данной привязки. | ||
- | С помощью кнопки **Открыть свойства хранимого фильтра** {{common/icons/05.png?nolink}} можно просмотреть свойства выбранного фильтра. | + | С помощью кнопки **Открыть свойства фильтра** {{common/icons/05.png?nolink}} можно просмотреть свойства выбранного фильтра. |
- | ===== Пример. Использование зарезервированных слов в динамическом условии ===== | + | ===== Пример. Подстановка объекта отчета в условие фильтра в динамическом условии ===== |
- | В отчете "Должностная инструкция" в привязке "Возглавляемые подразделения" используется фильтр "Субъекты-Подразделения,где должность явл-ся руководителем", настроенный для справочника "Субъекты". Этот справочник показан в параметре "Класс" в **Окне свойств** фильтра, вызываемом нажатием на кнопку **Открыть свойства хранимого фильтра** {{common/icons/05.png?nolink}} на странице настройки фильтра привязки. | + | В отчете "Должностная инструкция" в привязке "Headed departments" используется фильтр "Оргединицы - Подразделения,где должность явл-ся руководителем", настроенный для справочника "Оргединицы". Этот класс показан в параметре "Класс" в **Окне свойств** фильтра, вызываемом нажатием на кнопку **Открыть свойства фильтра** {{common/icons/05.png?nolink}} на странице настройки фильтра привязки. |
В условии фильтра задано, что значение параметра "Параметры должности. Руководитель подразделения" должно быть пустым (Рис. 6). | В условии фильтра задано, что значение параметра "Параметры должности. Руководитель подразделения" должно быть пустым (Рис. 6). | ||
+ | |||
+ | При выполнении отчета в это поле будет подставляться объект справочника "Оргединицы", от которого вызвали отчет. На странице **Настройка фильтра данных привязки** (см. Рис.5) задана следующая подстановка: объект, от которого вызвали отчет (в параметре "Источник данных" выбрано значение "Объект отчета"), подставляется в качестве значения параметра "Параметры должности. Руководитель подразделения" фильтра, наложенного на текущую привязку. | ||
+ | |||
+ | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0006.png?nolink |Рисунок 6. Задание условия для параметра "Параметры должности. Руководитель подразделения"}}] | ||
- | При выполнении отчета в это поле будет подставляться объект справочника "Субъекты", от которого вызвали отчет. На странице настройки соответствий фильтра (см. Рис.5) задано соответствие: объект, от которого вызвали отчет (обозначен словом [Объект]), подставляется в качестве значения параметра "Параметры должности. Руководитель подразделения" (обозначен системным названием ПараметрыПодразделения.Руководитель, генерируемым автоматически при выборе параметра в данном поле по кнопке {{common/3dot.png?nolink}}) фильтра, наложенного на текущую привязку. | + | ===== Пример. Подстановка строк списка в условие фильтра с типом фильтрации Список значений ===== |
+ | В отчете "Положение о подразделении" в привязке "Activities performed by department employees" используется фильтр "Связи оргединицы с единицей деятельности - не внешние ссылки, исполнители, статусы + условие по родителям + сортировка по иерархическому коду", настроенный для справочника "Связи оргединицы с единицей деятельности". Этот справочник показан в параметре "Класс" в **Окне свойств** фильтра, вызываемом нажатием на кнопку **Открыть свойства фильтра** {{common/icons/05.png?nolink}} на странице настройки фильтра привязки. | ||
- | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0006.png?nolink |Рисунок 6. Задание условия для параметра "guid"}}] | + | В условии фильтра задано, что значение параметра "Единица деятельности.Все предки с объектом.guid" должно быть пустым (Рис. 7), причем для данной строки применяется тип фильтрации "Список значений". |
+ | |||
+ | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0007.png?nolink |Рисунок 7. Задание условия на список значений для параметра "Единица деятельности.Все предки с объектом.guid"}}] | ||
+ | |||
+ | При выполнении отчета в это поле будут подставляться значения параметра "Единица деятельности.guid" списка "Все единицы деятельности (категории типа связи "Исполнитель" и "Прочий участник")" объекта, от которого вызвали отчет. | ||
+ | |||
+ | На странице **Настройка фильтра данных привязки** (см. Рис.5) задана соответствующая подстановка. | ||
===== Пример. Вывод сервисных настроек с помощью фильтра ===== | ===== Пример. Вывод сервисных настроек с помощью фильтра ===== | ||
Строка 91: | Строка 106: | ||
- | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/change_anchor_data_filter_settings0007.png?nolink |Рисунок 7. Переход к основному условию фильтра}}] | + | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/change_anchor_data_filter_settings0007.png?nolink |Рисунок 8. Переход к основному условию фильтра}}] |
На вкладке **Условия** задано условие выбора текущего пользователя. Значение параметра "Пользователь" равно константе [База.ПользовательОб]. Подробнее о подстановке констант в условия фильтра описано в статье [[ru/manual/filter/filter_element#использование_системных_констант_в_фильтре|Использование системных констант в фильтре]]. | На вкладке **Условия** задано условие выбора текущего пользователя. Значение параметра "Пользователь" равно константе [База.ПользовательОб]. Подробнее о подстановке констант в условия фильтра описано в статье [[ru/manual/filter/filter_element#использование_системных_констант_в_фильтре|Использование системных констант в фильтре]]. | ||
- | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0008.png?nolink |Рисунок 8. Условие, заданное для параметра "Пользователь"}}] | + | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/autot_anchor_data_filter_settings0008.png?nolink |Рисунок 9. Условие, заданное для параметра "Пользователь"}}] |
На вкладке **Показ** отмечены для показа параметры "Дата начала периода", "Дата конца периода". | На вкладке **Показ** отмечены для показа параметры "Дата начала периода", "Дата конца периода". | ||
Строка 105: | Строка 120: | ||
- | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/lang_anchor_data_filter_settings0009.png?nolink |Рисунок 9. Теги привязки "Период"}}] | + | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/lang_anchor_data_filter_settings0009.png?nolink |Рисунок 10. Теги привязки "Период"}}] |
При выполнении отчета от любого показателя в этот отчёт будут выводиться даты начала и окончания параметра "Рабочий период". | При выполнении отчета от любого показателя в этот отчёт будут выводиться даты начала и окончания параметра "Рабочий период". | ||
- | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/lang_anchor_data_filter_settings0010.png?nolink |Рисунок 10. Результат выполнения отчета с привязкой "Период"}}] | + | [{{ ru/manual/report/types_anchor/anchor_data_filter_settings/lang_anchor_data_filter_settings0010.png?nolink |Рисунок 11. Результат выполнения отчета с привязкой "Период"}}] |
Строка 118: | Строка 133: | ||
[<contextnavigator>] | [<contextnavigator>] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {(rater>id=ru_manual_report_types_anchor_anchor_data_filter_settings|name=Настройка фильтра данных привязки|type=vote|trace=ip|headline=off)} |