Вставка в шаблон отчета Секции сокрытия пустых привязок
Распространена ситуация, когда надо скрыть пустые таблицы или часть документа с незаполненным полем. Для этого не обязательно вставлять привязку в секцию и накладывать на секцию условие. В шаблон отчета можно вставить разделы, вывод которых будет зависеть от заполнения данными определенной таблицы или переменной. Если в результате выполнения отчета данные останутся незаполненными, то такой раздел будет полностью удален из отчета. Для этого в шаблоне создается специальная Секция сокрытия (далее в тексте просто секция). Область секции ограничивается метками начала и конца секции. Начало и конец секции добавляются с помощью закладки «Секции сокрытия» в окне «Вставка привязки».
Рис. 11.4.39
Между метками начала и конца секции может размещаться не только таблица для вывода данных, но и текст, и любые другие привязки к данным для вывода различной информации.
Пример секции сокрытия можно видеть в шаблоне отчета объектов «Положение о подразделении». Здесь системные названия закладок начала и конца секции выглядят так:
«С_СтруктЕд_Н», «С_СтруктЕд_К».
Где «СтруктЕд» – это системное название привязки типа «Список». Выберите название привязки и нажмите на кнопку «Перейти». Курсор будет установлен на закладку в таблице, специально созданной для данной привязки.
Если эта таблица останется не заполненной при выполнении отчета для какого-либо субъекта, то вся область отчета, включая статический текст, ограниченная закладками начала и конца секции, будет удалена из отчета. В отчете «Положение о подразделении» в этом случае будет полностью удален пункт «Структурные единицы».
Параметр «Фильтр» в структуре привязки
Параметр «Фильтр» может использоваться в привязках типа «Список», «Дерево» и «BAND», а для привязки типа «Фильтр» он является основным параметром. С его помощью в отчете можно получить список элементов, удовлетворяющих заданному условию.
Фильтром в структуре привязки служит хранимый фильтр, который должен быть настроен заранее, до настройки привязки. Фильтры создаются в справочнике хранимых фильтров (Главное меню –> Отчеты –> Хранимые фильтры). Для фильтра привязки можно использовать любой доступный вид фильтра (см. п. 10.3 Хранимые ).
В дополнительных привязках привязки «Список» (или Дерево, Бэнд, Фильтр) также может быть задан фильтр. Другими словами, для параметров каждого вложенного списка может быть задан свой фильтр.
Фильтр привязки может быть статическим или динамическим. Результат выполнения статического фильтра не зависит от выбора элемента, для которого формируется отчет. При работе же динамического фильтра параметры элемента, от которого вызван отчет, подставляются в фильтр и служат условиями отбора данных. Таким образом, в зависимости от выбора элемента в отчете будет получен тот или иной результат.
Настройка статического фильтра
Чтобы настроить статический фильтр, необходимо создать хранимый фильтр, и затем на странице настройки сложной привязки по кнопке «Фильтр» выбрать этот хранимый фильтр.
Пример. Статический фильтр
Рассмотрим работу статического фильтра на базе отчета по физическим лицам, создание которого описано в п. 11.4.8 «Тип привязки «Фильтр». В этом отчете у привязки «СписокФЛ» есть четыре дополнительных привязки. Последняя привязка «ВсеКонтакты» обеспечивает вывод в отчете список всех контактов физического лица. На этот список можно наложить условие, например: должны выводиться только рабочие телефоны.
Откройте справочник хранимых фильтров: Главное меню –> Отчеты –> Хранимые фильтры. Щелкните по значку на панели инструментов окна справочника. Выберите класс «Контакты физлиц» (Элементы списков –> БизнесМодель.КонтактыФизЛиц). В окне названия нового фильтра введите, например, «Фильтр списка контактов». В окне «Фильтр» на закладке «Условия» для параметра «Тип контакта» выберите значение «Рабочий телефон». Сохраните фильтр. В поле «Вид результата» выберите «Форма справочника». Сохраните фильтр. Подробнее о создании фильтров см. п. 10.3 «Хранимые ».
Рис. 11.4.40
В мастере отчетов на странице настройки привязки «СписокФЛ» установите курсор на привязку «ВсеКонтакты» и удалите её (кнопка «Удалить» или пункт «Удалить строку» в контекстном меню). Затем по кнопке «Добавить» создайте новую привязку типа «Фильтр», выберите ранее созданный хранимый фильтр «Фильтр списка контактов».
Рис. 11.4.41
Далее на странице настройки сложной привязки добавьте две привязки:
· «Тип контакта»: тип привязки «объект», параметр «ТипКонтакта»;
· «Контакт»: тип привязки «объект», параметр «Контакт».
Добавить эти привязки можно либо перейдя по кнопке «Добавить», либо из дерева «Параметры объекта» по кнопке , либо перетащив мышью.
Когда на странице настройки сложной привязки «СписокФЛ» появится вложенный список, можно переименовать его в «Контакты».
Колонки вложенного списка необходимо учесть в шаблоне отчета. Откройте шаблон отчета щелчком по кнопке «Редактировать шаблон» на конечной странице отчета. В таблицу добавьте после колонки «Контакт» добавьте колонку, теперь таблица должна содержать не четыре, а пять колонок. Объедините заголовок двух последних колонок. Сохраните шаблон.
Рис. 11.4.42
Также можно перегенерировать шаблона по кнопке «Генерация шаблона» для применения внесенных в настройку привязок изменений.
Запустите отчет на выполнение. Это можно сделать из мастера отчетов щелчком по кнопке «Просмотр отчет» на конечной странице. В результате будет получен список физических лиц и их рабочих телефонов.
Рис. 11.4.43