Различия

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

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

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