Различия

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

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

ru:manual:report:types_anchor:param_filter [2012/08/01 17:48]
admin [Настройка динамического фильтра]
ru:manual:report:types_anchor:param_filter [2017/11/08 15:50] (текущий)
Строка 1: Строка 1:
-====== Параметр «Фильтр» в структуре привязки ======+====== Параметр типа "Фильтрв структуре привязки ======
  
-Параметр «Фильтр» может использоваться в привязках типа «Список»«Дерево» и «BAND»а для привязки типа «Фильтр» он является основным параметром. С его помощью в отчете можно получить список элементов, удовлетворяющих заданному условию.+Параметр типа "Фильтрможет использоваться в привязках типа "Список""Дерево""BAND", "Фильтр". С его помощью можно отфильтровать список объектов этих привязок такчтобы в отчет выводились только нужные объекты. В привязках типа "Секция" фильтр используется как условие показа секции.
  
-Фильтром в структуре привязки служит хранимый фильтр, который должен быть настроен заранее, до настройки привязки. Фильтры создаются в справочнике хранимых фильтров (Главное меню --> Отчеты --> Хранимые фильтры). Для фильтра привязки можно использовать любой доступный вид фильтра (см. [[ru/manual/filter/stored_filter]]).+Фильтром в структуре привязки служит фильтр, который рекомендуется настроить заранее, до настройки привязки. Фильтры создаются в справочнике ранимые фильтры" (**Главное меню -> Отчеты -> Хранимые фильтры**). Для фильтра привязки можно использовать любой доступный вид фильтра (см. [[ru/manual/filter/stored_filter]]).
  
-В дополнительных привязках привязки «Список» (или Дерево, Бэнд, Фильтр) также может быть задан фильтрДругими словамидля параметров каждого вложенного списка может быть задан свой фильтр.+Условия фильтра могут быть статическими или динамическими. Поле "Значение" статического условия предопределено заранее при создании фильтра и не меняется во время формирования отчетаВ динамическое условие в поле "Значение" можно передавать значения параметров объекта, от которого вызван отчет. Таким образом, в зависимости от выбора объекта в отчете будет получен тот или иной результат фильтра. В одном фильтре можно использовать одновременно статические и динамические условия.
  
-Фильтр привязки может быть статическим или динамическим. Результат выполнения статического фильтра не зависит от выбора элемента, для которого формируется отчет. При работе же динамического фильтра параметры элементаот которого вызван отчетподставляются в фильтр и служат условиями отбора данных. Таким образом, в зависимости от выбора элемента в отчете будет получен тот или иной результат.+== Внимание! == 
 +В случае, если требуется использовать в пользовательских отчетах фильтры из поставляемых с Business Studio отчетов (такая ситуация возникает, например, если пользовательский отчет создавался копированием отчета, поставляемого с Business Studio) рекомендуется делать копии этих фильтров, перемещать эти копии за пределы папки "Фильтры отчетов\СТУ" (например, в папку "Пользовательские фильтры")назначить для соответствующих привязок отчета эти копии вместо поставляемых с Business Studio фильтров и работать в дальнейшем с копиями фильтров. Разработчик Business Studio оставляет за собой право перезаписывать фильтры при обновлении программы. 
 +==== ====
  
-===== Настройка статического фильтра =====+===== Выбор фильтра привязки =====
  
-Чтобы настроить статический фильтрнеобходимо создать хранимый фильтри затем на странице настройки сложной привязки по кнопке «Фильтр» выбрать этот хранимый фильтр.+Выбрать фильтр привязки можно следующими способами: 
 +  - Сначала создать фильтр, а затем на странице настройки сложной привязки с помощью кнопки **Настроить** группы **Дополнительные настройки** перейти на страницу настройки фильтра и нажатием на кнопку {{common/3dot.png?nolink}} выбрать этот фильтр. При этом должны быть соблюдены условия: 
 +    *  если фильтр будет работать в привязке типов "Список", "Дерево" или "BAND", то он должен создаваться для того класса, к которому принадлежит параметр объекта привязки; 
 +    *  Если фильтр будет работать в привязке типа "Фильтр", то он может создаваться для любого класса; 
 +    *  Если фильтр будет работать в корневой привязке типа "Секция", то он может создаваться для любого класса. Если в некорневой - то он должен настраиваться для класса вышележащей привязки. 
 +  - Создать фильтр для уже готовой привязки, с помощью пункта **Создать фильтр по классу параметра** контекстного меню привязки в дереве привязок. В этом случае фильтр будет создан по классу того параметра, от которого было вызвано контекстное меню. Созданный фильтр автоматически становится фильтром привязки.
  
-===== Пример. Статический фильтр =====+== Внимание! == 
 +В фильтре должны быть заданны условия фильтра (См. подробнее про настройку фильтра в главе [[ru/manual/filter/filter_element]])Для статических условий должно быть задано поле "Значение". Для динамических условий поле "Значение" можно оставить пустым. 
 +==== ====
  
-Рассмотрим работу статического фильтра на базе отчета по физическим лицам, создание которого описано в [[ru/manual/report/types_anchor/type_filter]]. В этом отчете у привязки «СписокФЛ» есть четыре дополнительных привязки. Последняя привязка «ВсеКонтакты» обеспечивает вывод в отчете список всех контактов физического лица. На этот список можно наложить условие, например: должны выводиться только рабочие телефоны.+===== Статическое условие =====
  
-Откройте справочник хранимых фильтров: Главное меню --> Отчеты --> Хранимые фильтры. Щелкните по значку {{ru/manual/report/types_anchor/param_filter/image1235.png?21x21&nolink}} на панели инструментов окна справочника. Выберите класс «Контакты физлиц» (Элементы списков --&gtБизнесМодель.КонтактыФизЛиц). В окне названия нового фильтра введите, например, «Фильтр списка контактов». В окне «Фильтр» на закладке «Условия» для параметра «Тип контакта» выберите значение «Рабочий телефон». Сохраните фильтр. В поле «Вид результата» выберите «Форма справочника». Сохраните фильтр. Подробнее о создании фильтров см. [[ru/manual/filter/stored_filter]].+Рассмотрим работу статического условия на примере отчета по физическим лицам, создание которого описано в статье [[ru/manual/report/types_anchor/type_filter#пример_фильтр_по_справочнику_физические_лица|Пример. Фильтр по справочнику "Физические лица"]]. В этом отчете у привязки "Список физических лицесть четыре дополнительных привязки. Последняя привязка "Все контактыобеспечивает вывод в отчете список всех контактов физического лица. Данная привязка имеет тип "Объект". Этой же цели можно добиться, выведя в отчет с помощью привязки типа "Список" список онтакты" физического лица. На этот список можно будет наложить условие, например, должны выводиться только рабочие телефоны.
  
-[{{ ru/manual/report/types_anchor/param_filter/image1251.png?616x249&nolink |Рис. 1}}]+Откройте справочник фильтров (**Главное меню -> Отчеты -> Хранимые фильтры**). Нажмите на кнопку {{common/icons/06.png?nolink}} панели инструментов **Окна справочника**. Выберите класс "Контакты физлиц" (Элементы списков -> БизнесМодель.КонтактыФизЛиц). В окне названия нового фильтра введите, например, "Фильтр списка контактов". В **Окне фильтра** на вкладке **Условия** для параметра "Тип контакта" выберите значение ";Рабочий телефон" (Рис. 1). Сохраните фильтр. В параметре "Вид результата" выберите значение "Форма справочника". Сохраните фильтр. Подробнее о создании фильтров описано в главе [[ru/manual/filter/stored_filter]].
  
-В мастере отчетов на странице настройки привязки «СписокФЛ» установите курсор на привязку «ВсеКонтакты» и удалите её (кнопка «Удалить» или пункт «Удалить строку» в контекстном меню). Затем по кнопке «Добавить» создайте новую привязку типа «Фильтр», выберите ранее созданный хранимый фильтр «Фильтр списка контактов».+[{{ ru/manual/report/types_anchor/param_filter/image1251.png?nolink |Рисунок 1. Задание условия фильтра}}] 
  
-[{{ ru/manual/report/types_anchor/param_filter/image1253.png?667x349&nolink |Рис. 2}}]+В **Мастере отчетов** на странице настройки привязки "Список физических лиц" установите курсор на привязку "Все контакты" и удалите её при помощи кнопки **Удалить** или пункт меню **Удалить выделенные строки** в контекстном меню строки с привязкойЗатем нажмите на кнопку **Добавить**, выберите тип привязки "Список", выберите параметр "Контакты".
  
-Далее на странице настройки сложной привязки добавьте две привязки:+Далее на странице настройки сложной привязки (Рис. 2) добавьте две привязки:
  
-  * «Тип контакта»: тип привязки «объект», параметр «ТипКонтакта»+  * "Тип контакта": тип привязки - "Объект", параметр - "ТипКонтакта"
-  * «Контакт»: тип привязки «объект», параметр «Контакт».+  * "Контакт": тип привязки - "Объект", параметр - "Контакт".
  
-Добавить эти привязки можно либо перейдя по кнопке «Добавить», либо из дерева «Параметры объекта» по кнопке {{ru/manual/report/types_anchor/param_filter/image1256.png?32x24&nolink}}, либо перетащив мышью.+[{{ ru/manual/report/types_anchor/param_filter/image1253.png?nolink |Рисунок 2. Страница настройки сложной привязки со статическим условием}}]
  
-Когда на странице настройки сложной привязки «СписокФЛ» появится вложенный списокможно переименовать его в «Контакты».+Добавить эти привязки можно либо нажав на кнопку **Добавить**, либо нажав на кнопку {{common/right.png?nolink}} в дереве **Параметры объекта**, либо перетащив мышью нужный параметр.
  
-Колонки вложенного списка необходимо учесть в шаблоне отчета. Откройте шаблон отчета щелчком по кнопке «Редактировать шаблон» на конечной странице отчета. В таблицу добавьте после колонки «Контакт» добавьте колонку, теперь таблица должна содержать не четыре, а пять колонок. Объедините заголовок двух последних колонок. Сохраните шаблон.+После этого нажмите на кнопку **Настроить** блока дополнительных настроек для перехода на страницу настройки фильтра и там по кнопке {{common/3dot.png?nolink}} выберите ранее созданный фильтр "Фильтр списка контактов".
  
-[{{ ru/manual/report/types_anchor/param_filter/image1257.png?509x74&nolink |Рис. 3}}]+Колонки вложенного списка необходимо учесть в шаблоне отчета. Если редактирование привязки запускалось нажатием на кнопку {{ru/common/properties.png?nolink}} панели инструментов **Мастера отчетов**, то перечень колонок будет автоматически изменен в соответствии с изменениями, произведенными в привязке. Если же редактирование привязки было запущено из дерева привязок, эти изменения нужно произвести вручную: в таблицу для вывода списка контактов после колонки "Контакт" добавьте колонку. Теперь таблица должна содержать не четыре, а пять колонок. После этого объедините заголовок двух последних колонок (Рис. 3). Сохраните шаблон.
  
-Также можно перегенерировать шаблона по кнопке «Генерация шаблона» для применения внесенных в настройку привязок изменений.+[{{ ru/manual/report/types_anchor/param_filter/image1257.png?nolink |Рисунок 3. Внешний вид привязки со статическим условием в шаблоне отчета}}]
  
-Запустите отчет на выполнение. Это можно сделать из мастера отчетов щелчком по кнопке «Просмотр отчет» на конечной странице. В результате будет получен список физических лиц и их рабочих телефонов.+Запустите отчет на выполнение. Это можно сделать из **Мастера отчетов** нажатием на кнопку {{ru/common/exe.png?nolink}} панели инструментов. В результате будет получен список физических лиц и их рабочих телефонов (для тех, у кого задан рабочий телефон в списке контактов).
  
-[{{ ru/manual/report/types_anchor/param_filter/image1259.png?503x84&nolink |Рис4}}]+[{{ ru/manual/report/types_anchor/param_filter/image1259.png?nolink |Рисунок 4. Результат выполнения отчета с привязкой со статическим условием}}]
  
-===== Настройка динамического фильтра =====+===== Динамическое условие =====
  
-Чтобы настроить динамический фильтр, необходимо создать хранимый фильтр определенного класса элементов и заполнить данные на странице настройки соответствий с фильтром в структуре привязки.+Чтобы настроить динамическое условие, необходимо на странице **Настройка фильтра данных привязки** заполнить данные в блоке **Подстановка значений**.
  
-Если динамический фильтр будет работать в привязке типа «Фильтр», то хранимый фильтр настраивается для любого класса.+В поле **Название условия фильтра** вводится название дополнительного условия фильтра (названия должны точно совпадать), в рамках которого происходит описанная далее подстановка. Если подстановка происходит в рамках основного условия фильтраэто поле не заполняется. В поле **Параметр-источник** нужно выбрать параметр, значение которого будет подставляться в условие фильтра. В поле **Параметр фильтра** выбирается тот параметр фильтра, в значение которого будет подставлено значение параметра.
  
-Если динамический фильтр будет работать в привязке типов «Список», «Дерево» или «BAND», то хранимый фильтр настраивается для класса, к которому принадлежит параметр объекта привязки.+Описание использования зарезервированных слов [Объект] и руппаФильтра] дано на странице настройки соответствий фильтра ис. 5).
  
-Если динамический фильтр будет работать в привязке типа «Секция», то хранимый фильтр настраивается для класса вышележащей привязки. Если секция корневая -- для любого класса.+[{{ ru/manual/report/types_anchor/param_filter/image1261.png?nolink |Рисунок 5. Страница настройки фильтра}}]
  
-В поле «Название условия фильтра» вводится название условия сложного фильтра, по которому настраивается соответствие. Для фильтров, не содержащих дополнительных условий это поле можно оставить пустым. В поле «Параметр класса» нужно выбрать параметр, значение которого будет подставляться в условие фильтра. В поле «Параметр фильтра» выбирается тот параметр, на который наложено условие фильтра в хранимом фильтре.+== Внимание! == 
 +Нельзя использовать в отчете один и тот же фильтр с разной настройкой соответствий. В этом случае соответствия в фильтре могут объединяться, и результат выполнения отчета будет неверным. 
 +==== ==== 
 +\\ 
 +С помощью кнопки **Создать фильтр с учетом класса привязки** {{common/icons/06.png?nolink}} производится создание нового фильтра для данной привязки.
  
-Описание использования зарезервированных слов [Объект] и [ГруппаФильтра] дано на странице настройки соответствий фильтра (Рис. 5).+С помощью кнопки **Открыть свойства хранимого фильтра** {{common/icons/05.png?nolink}} можно просмотреть свойства выбранного фильтра.
  
-**Внимание:** Нельзя использовать в отчете один и тот же фильтр с разной настройкой соответствий. В этом случае соответствия в фильтре могут объединяться, и результат отчета будет получен неверный.+===== Пример. Использование зарезервированных слов в динамическом условии =====
  
-[{{ ru/manual/report/types_anchor/param_filter/image1261.png?661x448&nolink ис. 5}}]+В отчете "Должностная инструкция" в привязке "Возглавляемые подразделения" используется фильтр "Субъекты-Подразделения,где должность явл-ся руководителем", настроенный для справочника "Субъекты". Этот справочник показан в параметре "Класс" в **Окне свойств** фильтра, вызываемом нажатием на кнопку **Открыть свойства хранимого фильтра** {{common/icons/05.png?nolink}} на странице настройки фильтра привязки
  
-С помощью кнопки {{ru/manual/report/types_anchor/param_filter/image1263.png?21x21&nolink}} **«Создать фильтр с учетом класса привязки»** производится создание нового фильтра для данной привязки.+В условии фильтра задано, что значение параметра араметры должности. Руководитель подразделениядолжно быть пустым (Рис. 6).
  
-По кнопке {{ru/manual/report/types_anchor/param_filter/image1265.png?21x21&nolink}} **«Открыть свойства хранимого фильтра»** можно просмотреть свойства выбранного фильтра.+При выполнении отчета в это поле будет подставляться объект справочника "Субъекты", от которого вызвали отчет. На странице настройки соответствий фильтра (см. Рис.5) задано соответствие: объект, от которого вызвали отчет (обозначен словом [Объект]), подставляется в качестве значения параметра "Параметры должности. Руководитель подразделения" (обозначен системным названием ПараметрыПодразделения.Руководитель, генерируемым автоматически при выборе параметра в данном поле по кнопке {{common/3dot.png?nolink}}) фильтра, наложенного на текущую привязку.
  
-===== Пример. Использование зарезервированных слов в динамическом фильтре =====+[{{ ru/manual/report/types_anchor/param_filter/image1267.png?nolink |Рисунок 6. Задание условия для параметра "guid"}}]
  
-Используемый в отчете «Положение о подразделении в привязке «Действия» хранимый фильтр «Запрос по классу: Субъекты-Нижележащие» настроен для класса «Субъекты» (класс показан в поле «Путь» на странице настройки сложной привязки фильтра).+===== Пример. Вывод сервисных настроек с помощью фильтра =====
  
-В условии фильтра задано, что параметр «guid» должен быть не пустым (Рис. 6).+В отчете с помощью привязки типа "Фильтр" можно вывести параметры сервисных настроек. Напримерв отчете "Значения показателя за период" выводится значения дат параметра "Рабочий период", который задается в строке состояния Business Studio или в **Настройках пользователя** (**Главное меню -> Главная -> Настройки пользователя** -> вкладка **Дополнительно**).
  
-[{{ ru/manual/report/types_anchor/param_filter/image1267.png?608x264&nolink |Рис. 6}}]+В контекстном меню привязки "Период" выбрать пункт **Редактировать основное условие фильтра** для просмотра условия фильтра.
  
-При выполнении отчета в это поле будет подставляться guid Субъекта, от которого вызвали отчет. На странице настройки соответствий фильтра задано два соответствия: первое -- объект, от которого вызвали отчет (обозначен словом [Объект]), подставляется в группу фильтра (обозначена словом [Группа фильтра]); второе -- идентификатор объекта, от которого вызвали отчет (слово [Объект].guid) должен быть равен идентификатору элемента фильтра (guid). На Рис. 6 показана страница настройки данного фильтра.+[{{ ru/manual/report/types_anchor/param_filter/image1269.png?nolink |Рисунок 7. Переход к основному условию фильтра}}]
  
-===== Пример. Вывод сервисных настроек с помощью фильтра =====+На вкладке **Условия** задано условие выбора текущего пользователя. Значение параметра "Пользователь" равно константе [База.ПользовательОб]. Подробнее о подстановке констант в условия фильтра описано в статье [[ru/manual/filter/filter_element#использование_системных_констант_в_фильтре|Использование системных констант в фильтре]].  
 + 
 +[{{ ru/manual/report/types_anchor/param_filter/image1271.png?nolink |Рисунок 8. Условие, заданное для параметра "Пользователь"}}] 
 + 
 +На вкладке **Показ** отмечены для показа параметры "Дата начала периода", "Дата конца периода". 
 + 
 +Привязка "Период" настроена как привязка типа "BAND по фильтру" с фильтром "Интервал дат для отчета по целям". Список соответствий пуст. На странице свойств привязки "Период" настроены дополнительные привязки по параметрам, выбранным на вкладке "Показ" в фильтре. 
 + 
 +Вставка привязки в шаблон отчета производится в соответствии с описанием в главе [[ru/manual/report/insert_anchor]].
  
-В отчете с помощью привязки «фильтр» можно вывести параметры Сервисных настроек. Например, в отчете «Значения показателя за период» выводится значения дат параметра «Тип периода» (пункт Главного меню «Сервис --&gtНастройки пользователя», гиперссылка //__Дополнительно__//).+[{{ ru/manual/report/types_anchor/param_filter/image1273.png?nolink |Рисунок 9Теги привязки ериод"}}]
  
-[{{ ru/manual/report/types_anchor/param_filter/image1269.png?648x340&nolink |Рис7}}]+При выполнении отчета от любого показателя в этот отчёт будут выводиться даты начала и окончания параметра &quotабочий период".
  
-В контекстном меню привязки «Период» выбрать пункт «Редактировать основное условие фильтра» для просмотра условия фильтра. На закладке Условия задано условие выбора текущего пользователя, Значение параметра «Пользователь» равно константе [База.Пользователь]. Подробнее о подстановке констант в условия фильтра см. [[ru/manual/filter/filter_element#использование_системных_констант_в_фильтре|Использование системных констант в фильтре]].+[{{ ru/manual/report/types_anchor/param_filter/image1275.png?nolink |Рисунок 10. Результат выполнения отчета с привязкой "Период"}}]
  
-[{{ ru/manual/report/types_anchor/param_filter/image1271.png?614x309&nolink |Рис. 8}}] 
  
-На закладке «Показ» отмечены для показа параметры «Дата начала периода», «Дата конца периода». 
  
-Привязка «Период» настроена как BAND по фильтру «Интервал дат для отчета по целям», список соответствий пуст. На странице свойств привязки «Период» настроены дополнительные привязки по параметрам, выбранным на закладке «Показ» в фильтре. 
  
-В шаблоне отчета привязки вставлены по их системным названиям: «BND_Период_Начало» и «BND_Период_Окончание». Их можно увидеть в окне «Вставить привязку» на закладке «Поля». 
  
-[{{ ru/manual/report/types_anchor/param_filter/image1273.png?590x256&nolink |Рис. 9}}]+[<contextnavigator>;]
  
-При выполнении отчета от любого показателя, в этот отчёт будут выводиться даты начала и окончания «Типа периода». Например, в параметре «Тип периода» выбрано «За это полугодие». 
  
-[{{ ru/manual/report/types_anchor/param_filter/image1275.png?597x52&nolink |Рис. 10}}] 
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki