Настройка фильтра данных привязки

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

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

Условия фильтра могут быть статическими или динамическими. Поле "Значение" статического условия предопределено заранее при создании фильтра и не меняется во время формирования отчета. В динамическое условие в поле "Значение" можно передавать значения параметров объекта, от которого вызван отчет. Таким образом, в зависимости от выбора объекта в отчете будет получен тот или иной результат фильтра. В одном фильтре можно использовать одновременно статические и динамические условия.

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

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

Выбор фильтра привязки

Выбрать фильтр привязки можно следующими способами:

  1. Сначала создать фильтр, а затем на странице настройки сложной привязки с помощью кнопки Настроить группы Дополнительные настройки перейти на страницу настройки фильтра и нажатием на кнопку выбрать этот фильтр. При этом должны быть соблюдены условия:
    • если фильтр будет работать в привязке типов "Список", "Дерево" или "BAND", то он должен создаваться для того класса, к которому принадлежит параметр объекта привязки;
    • Если фильтр будет работать в привязке типа "Фильтр", то он может создаваться для любого класса;
    • Если фильтр будет работать в корневой привязке типа "Секция", то он может создаваться для любого класса. Если в некорневой - то он должен настраиваться для класса вышележащей привязки.
  2. Создать фильтр для уже готовой привязки, с помощью пункта Создать фильтр по классу параметра контекстного меню привязки в дереве привязок. В этом случае фильтр будет создан по классу того параметра, от которого было вызвано контекстное меню. Созданный фильтр автоматически становится фильтром привязки.

Внимание! В фильтре должны быть заданны условия фильтра (См. подробнее про настройку фильтра в главе Окно фильтра). Для статических условий должно быть задано поле "Значение". Для динамических условий поле "Значение" можно оставить пустым.

Статическое условие

Рассмотрим работу статического условия на примере отчета по физическим лицам, создание которого описано в статье Пример. Фильтр по справочнику "Физические лица". В этом отчете у привязки "Список физических лиц" есть четыре дополнительных привязки. Последняя привязка "Все контакты" обеспечивает вывод в отчете список всех контактов физического лица. Данная привязка имеет тип "Объект". Этой же цели можно добиться, выведя в отчет с помощью привязки типа "Список" список "Контакты" физического лица. На этот список можно будет наложить условие, например, должны выводиться только рабочие телефоны.

Откройте справочник фильтров (Главное меню → Отчеты → Фильтры). Нажмите на кнопку панели инструментов Окна справочника. Выберите класс "Контакты физлиц" (Строки списков → БизнесМодель.КонтактыФизЛиц). В окне названия нового фильтра введите, например, "Фильтр списка контактов". В Окне фильтра на вкладке Условия для параметра "Тип контакта" выберите значение "Рабочий телефон" (Рис. 1). Сохраните фильтр. В параметре "Вид результата" выберите значение "Форма справочника". Сохраните фильтр. Подробнее о создании фильтров описано в главе Фильтры.

Рисунок 1. Задание условия фильтра

В Окне редактирования отчета на странице настройки привязки "Список физических лиц" установите курсор на привязку "Все контакты" и удалите её при помощи кнопки Удалить или пункта меню Удалить выделенные строки в контекстном меню строки с привязкой. Затем нажмите на кнопку Добавить, выберите тип привязки "Список", выберите параметр "Контакты".

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

  • "Тип контакта": тип привязки - "Объект", параметр - "ТипКонтакта";
  • "Контакт": тип привязки - "Объект", параметр - "Контакт".
Рисунок 2. Страница настройки сложной привязки со статическим условием

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

После этого нажмите на кнопку Настроить блока дополнительных настроек для перехода на страницу настройки фильтра и там по кнопке выберите ранее созданный фильтр "Фильтр списка контактов".

Колонки вложенного списка необходимо учесть в шаблоне отчета. Если редактирование привязки запускалось нажатием на кнопку панели инструментов Окна редактирования отчета MS Word, то перечень колонок будет автоматически изменен в соответствии с изменениями, произведенными в привязке. Если же редактирование привязки было запущено из дерева привязок, эти изменения нужно произвести вручную: в таблицу для вывода списка контактов после колонки "Контакт" добавьте колонку. Теперь таблица должна содержать не четыре, а пять колонок. После этого объедините заголовок двух последних колонок (Рис. 3). Сохраните шаблон.

Рисунок 3. Внешний вид привязки со статическим условием в шаблоне отчета

Запустите отчет на выполнение. Это можно сделать из Окна редактирования отчета MS Word нажатием на кнопку панели инструментов. В результате будет получен список физических лиц и их рабочих телефонов (для тех, у кого задан рабочий телефон в списке контактов).

Рисунок 4. Результат выполнения отчета с привязкой со статическим условием

Динамическое условие

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

Описание назначения каждой из колонок этого блока можно посмотреть во всплывающих подсказках к заголовкам колонок (Рис. 5).

Рисунок 5. Страница настройки фильтра

В случае задания в ячейках колонок "Параметр-источник" и "Параметр фильтра" параметров типа "Целое" для ячейки колонки "Параметр фильтра" доступен вызов команды контекстного меню "Задать смещение" В появляющемся по этой команде окне можно задать положительную или отрицательную величину, на которую будет изменено значение параметра из ячейки колонки "Параметр-источник" перед ее подстановкой в "Параметр фильтра".

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


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

С помощью кнопки Открыть свойства фильтра можно просмотреть свойства выбранного фильтра.

Пример. Подстановка объекта отчета в условие фильтра в динамическом условии

В отчете "Должностная инструкция" в привязке "Headed departments" используется фильтр "Оргединицы - Подразделения,где должность явл-ся руководителем", настроенный для справочника "Оргединицы". Этот класс показан в параметре "Класс" в Окне свойств фильтра, вызываемом нажатием на кнопку Открыть свойства фильтра на странице настройки фильтра привязки.

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

При выполнении отчета в это поле будет подставляться объект справочника "Оргединицы", от которого вызвали отчет. На странице Настройка фильтра данных привязки (см. Рис.5) задана следующая подстановка: объект, от которого вызвали отчет (в параметре "Источник данных" выбрано значение "Объект отчета"), подставляется в качестве значения параметра "Параметры должности. Руководитель подразделения" фильтра, наложенного на текущую привязку.

Рисунок 6. Задание условия для параметра "Параметры должности. Руководитель подразделения"

Пример. Подстановка строк списка в условие фильтра с типом фильтрации Список значений

В отчете "Положение о подразделении" в привязке "Activities performed by department employees" используется фильтр "Связи оргединицы с единицей деятельности - не внешние ссылки, исполнители, статусы + условие по родителям + сортировка по иерархическому коду", настроенный для справочника "Связи оргединицы с единицей деятельности". Этот справочник показан в параметре "Класс" в Окне свойств фильтра, вызываемом нажатием на кнопку Открыть свойства фильтра на странице настройки фильтра привязки.

В условии фильтра задано, что значение параметра "Единица деятельности.Все предки с объектом.guid" должно быть пустым (Рис. 7), причем для данной строки применяется тип фильтрации "Список значений".

Рисунок 7. Задание условия на список значений для параметра "Единица деятельности.Все предки с объектом.guid"

При выполнении отчета в это поле будут подставляться значения параметра "Единица деятельности.guid" списка "Все единицы деятельности (категории типа связи "Исполнитель" и "Прочий участник")" объекта, от которого вызвали отчет.

На странице Настройка фильтра данных привязки (см. Рис.5) задана соответствующая подстановка.

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

В отчете с помощью привязки типа "Фильтр" можно вывести параметры сервисных настроек. Например, в отчете "Значения показателя за период" выводится значения дат параметра "Рабочий период", который задается в строке состояния Business Studio или в Настройках пользователя (Главное меню → Главная → Настройки пользователя) на вкладке Дополнительно.

В контекстном меню привязки "Период" выбрать пункт Редактировать основное условие фильтра для просмотра условия фильтра.

Рисунок 8. Переход к основному условию фильтра

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

Рисунок 9. Условие, заданное для параметра "Пользователь"

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

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

Вставка привязки в шаблон отчета производится в соответствии с описанием в главе Вставка привязки в шаблон отчета.

Рисунок 10. Теги привязки "Период"

При выполнении отчета от любого показателя в этот отчёт будут выводиться даты начала и окончания параметра "Рабочий период".

Рисунок 11. Результат выполнения отчета с привязкой "Период"
« ПредыдущаяНа уровень вышеСледующая »
 
Driven by DokuWiki