Это старая версия документа.


Параметр «Фильтр» в структуре привязки

Параметр «Фильтр» может использоваться в привязках типа «Список», «Дерево» и «BAND», а для привязки типа «Фильтр» он является основным параметром. С его помощью в отчете можно получить список элементов, удовлетворяющих заданному условию.

Фильтром в структуре привязки служит хранимый фильтр, который должен быть настроен заранее, до настройки привязки. Фильтры создаются в справочнике хранимых фильтров (Главное меню –> Отчеты –> Хранимые фильтры). Для фильтра привязки можно использовать любой доступный вид фильтра (см. Хранимые фильтры).

В дополнительных привязках привязки «Список» (или Дерево, Бэнд, Фильтр) также может быть задан фильтр. Другими словами, для параметров каждого вложенного списка может быть задан свой фильтр.

Фильтр привязки может быть статическим или динамическим. Результат выполнения статического фильтра не зависит от выбора элемента, для которого формируется отчет. При работе же динамического фильтра параметры элемента, от которого вызван отчет, подставляются в фильтр и служат условиями отбора данных. Таким образом, в зависимости от выбора элемента в отчете будет получен тот или иной результат.

Внимание: В случае, если требуется использовать в пользовательских отчетах фильтры из поставляемых с Business Studio отчетов (такая ситуация возникает, например, если пользовательский отчет создавался копированием поставляемого с Business Studio отчета) рекомендуется делать копии этих фильтров, перемещать эти копии за пределы папки «Фильтры отчетов\СТУ» (например, в папку «Пользовательские фильтры»), назначить для соответствующих привязок отчета эти копии вместо поставляемых с Business Studio фильтров и работать в дальнейшем с копиями фильтров. Разработчик Business Studio оставляет за собой право перезаписывать фильтры при обновлении программы.

Настройка статического фильтра

Чтобы настроить статический фильтр, необходимо создать хранимый фильтр, и затем на странице настройки сложной привязки по кнопке «Фильтр» выбрать этот хранимый фильтр.

Пример. Статический фильтр

Рассмотрим работу статического фильтра на базе отчета по физическим лицам, создание которого описано в Тип привязки "Фильтр". В этом отчете у привязки «СписокФЛ» есть четыре дополнительных привязки. Последняя привязка «ВсеКонтакты» обеспечивает вывод в отчете список всех контактов физического лица. На этот список можно наложить условие, например: должны выводиться только рабочие телефоны.

Откройте справочник хранимых фильтров: Главное меню –> Отчеты –> Хранимые фильтры. Щелкните по значку на панели инструментов окна справочника. Выберите класс «Контакты физлиц» (Элементы списков –> БизнесМодель.КонтактыФизЛиц). В окне названия нового фильтра введите, например, «Фильтр списка контактов». В окне «Фильтр» на закладке «Условия» для параметра «Тип контакта» выберите значение «Рабочий телефон». Сохраните фильтр. В поле «Вид результата» выберите «Форма справочника». Сохраните фильтр. Подробнее о создании фильтров см. Хранимые фильтры.

Рис. 1

В мастере отчетов на странице настройки привязки «СписокФЛ» установите курсор на привязку «ВсеКонтакты» и удалите её (кнопка «Удалить» или пункт «Удалить строку» в контекстном меню). Затем по кнопке «Добавить» создайте новую привязку типа «Фильтр», выберите ранее созданный хранимый фильтр «Фильтр списка контактов».

Рис. 2

Далее на странице настройки сложной привязки добавьте две привязки:

  • «Тип контакта»: тип привязки «объект», параметр «ТипКонтакта»;
  • «Контакт»: тип привязки «объект», параметр «Контакт».

Добавить эти привязки можно либо перейдя по кнопке «Добавить», либо из дерева «Параметры объекта» по кнопке , либо перетащив мышью.

Когда на странице настройки сложной привязки «СписокФЛ» появится вложенный список, можно переименовать его в «Контакты».

Колонки вложенного списка необходимо учесть в шаблоне отчета. Откройте шаблон отчета щелчком по кнопке «Редактировать шаблон» на конечной странице отчета. В таблицу добавьте после колонки «Контакт» добавьте колонку, теперь таблица должна содержать не четыре, а пять колонок. Объедините заголовок двух последних колонок. Сохраните шаблон.

Рис. 3

Также можно перегенерировать шаблона по кнопке «Генерация шаблона» для применения внесенных в настройку привязок изменений.

Запустите отчет на выполнение. Это можно сделать из мастера отчетов щелчком по кнопке «Просмотр отчет» на конечной странице. В результате будет получен список физических лиц и их рабочих телефонов.

Рис. 4

Настройка динамического фильтра

Чтобы настроить динамический фильтр, необходимо создать хранимый фильтр определенного класса элементов и заполнить данные на странице настройки соответствий с фильтром в структуре привязки.

Если динамический фильтр будет работать в привязке типа «Фильтр», то хранимый фильтр настраивается для любого класса.

Если динамический фильтр будет работать в привязке типов «Список», «Дерево» или «BAND», то хранимый фильтр настраивается для класса, к которому принадлежит параметр объекта привязки.

Если динамический фильтр будет работать в привязке типа «Секция», то хранимый фильтр настраивается для класса вышележащей привязки. Если секция корневая – для любого класса.

В поле «Название условия фильтра» вводится название условия сложного фильтра, по которому настраивается соответствие. Для фильтров, не содержащих дополнительных условий это поле можно оставить пустым. В поле «Параметр класса» нужно выбрать параметр, значение которого будет подставляться в условие фильтра. В поле «Параметр фильтра» выбирается тот параметр, на который наложено условие фильтра в хранимом фильтре.

Описание использования зарезервированных слов [Объект] и [ГруппаФильтра] дано на странице настройки соответствий фильтра (Рис. 5).

Внимание: Нельзя использовать в отчете один и тот же фильтр с разной настройкой соответствий. В этом случае соответствия в фильтре могут объединяться, и результат отчета будет получен неверный.

Рис. 5

С помощью кнопки «Создать фильтр с учетом класса привязки» производится создание нового фильтра для данной привязки.

По кнопке «Открыть свойства хранимого фильтра» можно просмотреть свойства выбранного фильтра.

Пример. Использование зарезервированных слов в динамическом фильтре

Используемый в отчете «Положение о подразделении в привязке «Действия» хранимый фильтр «Запрос по классу: Субъекты-Нижележащие» настроен для класса «Субъекты» (класс показан в поле «Путь» на странице настройки сложной привязки фильтра).

В условии фильтра задано, что параметр «guid» должен быть не пустым (Рис. 6).

Рис. 6

При выполнении отчета в это поле будет подставляться guid Субъекта, от которого вызвали отчет. На странице настройки соответствий фильтра задано два соответствия: первое – объект, от которого вызвали отчет (обозначен словом [Объект]), подставляется в группу фильтра (обозначена словом [Группа фильтра]); второе – идентификатор объекта, от которого вызвали отчет (слово [Объект].guid) должен быть равен идентификатору элемента фильтра (guid). На Рис. 6 показана страница настройки данного фильтра.

Пример. Вывод сервисных настроек с помощью фильтра

В отчете с помощью привязки «фильтр» можно вывести параметры Сервисных настроек. Например, в отчете «Значения показателя за период» выводится значения дат параметра «Тип периода» (пункт Главного меню «Сервис –> Настройки пользователя», гиперссылка Дополнительно).

Рис. 7

В контекстном меню привязки «Период» выбрать пункт «Редактировать основное условие фильтра» для просмотра условия фильтра. На закладке Условия задано условие выбора текущего пользователя, Значение параметра «Пользователь» равно константе [База.Пользователь]. Подробнее о подстановке констант в условия фильтра см. Использование системных констант в фильтре.

Рис. 8

На закладке «Показ» отмечены для показа параметры «Дата начала периода», «Дата конца периода».

Привязка «Период» настроена как BAND по фильтру «Интервал дат для отчета по целям», список соответствий пуст. На странице свойств привязки «Период» настроены дополнительные привязки по параметрам, выбранным на закладке «Показ» в фильтре.

В шаблоне отчета привязки вставлены по их системным названиям: «BND_Период_Начало» и «BND_Период_Окончание». Их можно увидеть в окне «Вставить привязку» на закладке «Поля».

Рис. 9

При выполнении отчета от любого показателя, в этот отчёт будут выводиться даты начала и окончания «Типа периода». Например, в параметре «Тип периода» выбрано «За это полугодие».

Рис. 10
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki