К статье
Практический материал

Отчеты и Аналитика · 12 мин

Как отобразить отбор в отчете 1С: настройка и вывод в шапку

Как вывести отбор в отчете 1С на СКД: настройка параметров, отображение отборов в шапке отчета, быстрые и пользовательские отборы, типичные ошибки.

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

В 1С отборы в отчетах чаще всего строятся на системе компоновки данных (СКД), а поведение отбора определяется настройками в конфигураторе и в пользовательском режиме. В зависимости от задачи отбор может выводиться в форме отчета, в шапке сформированного табличного документа, в отдельной панели быстрых настроек или быть скрыт от пользователя вовсе.

Ниже разобраны практические сценарии: как включить отображение отбора в типовом отчете, как вывести значения отборов в шапку результата, как настроить отборы в СКД в конфигураторе и что проверить, если отбор «не срабатывает».

Как включить отбор в типовом отчете в режиме предприятия

В типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP) большинство отчетов построено на СКД, и настройка отбора выполняется без изменения конфигурации. Откройте отчет и найдите кнопку «Настройки» или «Показать настройки» — обычно она расположена в командной панели формы отчета.

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

После нажатия «Сформировать» отчет пересчитается с учетом отбора. Если поле отбора нужно видеть прямо на форме, не открывая настройки, — его нужно перевести в разряд быстрых (пользовательских) отборов, о чем ниже.

Порядок действий
  1. 1
    Откройте отчет и нажмите «Настройки» (или «Ещё — Изменить вариант»)
  2. 2
    Перейдите на закладку «Отбор»
  3. 3
    Найдите поле в списке доступных и добавьте его в отбор
  4. 4
    Включите флажок использования, задайте вид сравнения и значение
  5. 5
    Нажмите «Завершить редактирование» и сформируйте отчет

Как вывести отбор в шапку сформированного отчета

Частая задача — чтобы в печатной форме отчета было видно, по каким условиям он сформирован: период, организация, примененные фильтры. За это отвечает параметр вывода «Отбор» в настройках СКД.

В режиме предприятия откройте расширенные настройки варианта отчета (кнопка «Ещё» в окне настроек — «Расширенная настройка», либо «Изменить вариант отчета»). На закладке «Другие настройки» найдите параметр «Отбор». У него есть свойство «Расположение» (или «Выводить»):

  • Не выводить — значения отборов в результат не попадают;
  • Авто — платформа решает сама, обычно выводит кратко;
  • Отдельно — отборы выводятся отдельным блоком в шапке отчета;
  • Вместе — отборы выводятся вместе с другими параметрами вывода.

Установите значение «Отдельно» и сформируйте отчет — в верхней части табличного документа появится строка вида «Отбор: Организация Равно "ООО Ромашка"». Аналогично управляется вывод параметров (например, периода) через параметр вывода «Параметры данных».

Быстрые отборы на форме отчета

Быстрый отбор — это поле фильтра, которое пользователь видит сразу на форме отчета, без открытия окна настроек. Например, поля «Организация» и «Склад» над табличным документом.

Чтобы сделать отбор быстрым в пользовательском режиме, откройте «Изменить вариант отчета», найдите нужный отбор и в его свойствах установите режим отображения «Быстрый доступ» (в ряде конфигураций — кнопка «Показывать в шапке отчета» или переключатель «Обычный / Быстрый / Недоступный»). После сохранения варианта поле появится на форме.

В конфигураторе то же самое задается в схеме компоновки данных: на закладке «Настройки» в свойствах элемента отбора устанавливается «Режим отображения — Быстрый доступ». Для программного управления используется свойство РежимОтображения элемента отбора со значением РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ.

Настройка отборов в конфигураторе (СКД)

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

На закладке «Отбор» добавьте поля, по которым разрешена фильтрация. Поле станет доступно для отбора, только если оно присутствует в наборе данных (запросе) или является вычисляемым. Для каждого элемента отбора можно задать вид сравнения по умолчанию, значение и режим отображения.

Отдельный момент — параметры виртуальных таблиц. Если фильтрация возможна на уровне запроса (например, параметр «Период» у регистра накопления или условие в виртуальной таблице остатков), правильнее передавать условие туда, а не накладывать отбор СКД на уже выбранные данные. Это существенно ускоряет отчет на больших объемах. Для этого в настройках СКД у соответствующего параметра снимается флажок «Ограничение доступности», и отбор по этому полю платформа автоматически транслирует в параметр виртуальной таблицы.

bsl
// Программная установка отбора в настройках СКД
Настройки = Отчет.КомпоновщикНастроек.Настройки;
ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Организация;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;

Отбор не срабатывает: что проверить

Ситуация, когда отбор установлен, а данные не фильтруются, встречается часто. Проверяйте по порядку.

Во-первых, убедитесь, что у элемента отбора включен флажок «Использование» — отбор можно добавить, но оставить выключенным. Во-вторых, проверьте, что отбор наложен на правильном уровне: если отбор добавлен внутрь группировки, он действует только на неё, а не на весь отчет. В-третьих, сверьте поле: в отчете может быть несколько похожих полей (например, «Организация» шапки документа и «Организация» регистратора), и фильтр поставлен не по тому.

Ещё одна причина — вид сравнения. «В группе» для папки справочника отберет элементы этой папки, а «Равно» по папке не отберет ничего, потому что сами папки в данных не встречаются. Также проверьте, не переопределяется ли ваш отбор пользовательскими настройками, сохраненными ранее: сбросьте настройки кнопкой «Стандартные настройки» и сформируйте отчет заново.

Контрольные точки

Как проверить результат

Флажок у элемента отбора
Норма

Флажок установлен, значение заполнено

Тревожный признак

Отбор добавлен, но флажок снят — фильтр не действует

Уровень отбора
Норма

Отбор в общих настройках отчета

Тревожный признак

Отбор внутри группировки — действует локально

Шапка отчета
Норма

В шапке видна строка с условием отбора

Тревожный признак

Строки нет — проверьте параметр вывода «Отбор»

Фиксированные и скрытые отборы

Иногда отбор нужно задать, но не показывать пользователю — например, ограничить отчет только проведенными документами или конкретным видом операций. Для этого отбор добавляется в настройки варианта с режимом отображения «Недоступный»: пользователь его не видит и не может отключить.

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

Учитывайте: скрытый отбор — частая причина «пропавших» данных. Если коллега сохранил вариант с недоступным отбором по своей организации, другие пользователи будут видеть пустой или неполный отчет без объяснимой причины. Проверяйте состав настроек перед тем, как делать вывод, что «данные в базе отсутствуют».

Типичные ошибки
01
Отбор добавлен, но не включен флажок использования — отчет формируется по всем данным
02
Отбор наложен внутри группировки, а не на весь отчет — фильтруется только часть строк
03
Сохранен личный вариант с устаревшим отбором — другие настройки «сбиваются» при каждом открытии
04
Отбор по полю, которого нет в наборе данных СКД — поле недоступно в списке, пользователь думает, что отчет сломан
05
Фильтрация отбором СКД вместо параметров виртуальной таблицы — отчет на больших объемах работает медленно

Программное отображение и управление отбором

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

Элементы отбора находятся в коллекции Настройки.Отбор.Элементы. Чтобы найти существующий элемент, перебирают коллекцию и сравнивают ЛевоеЗначение с нужным полем компоновки. Режимы отображения: Авто, БыстрыйДоступ, Обычный, Недоступный. Значение «Недоступный» полностью убирает элемент из пользовательского интерфейса, при этом отбор продолжает действовать.

При работе с формой отчета учитывайте, что пользовательские настройки хранятся отдельно от основных настроек компоновщика. Если отбор выведен в пользовательские настройки (быстрый доступ), изменять его нужно через ПользовательскиеНастройки, иначе программно установленное значение будет перекрыто тем, что ввел пользователь ранее.

Сравнение вариантов

Отбор в настройках СКД

Гибко, доступно пользователю без программирования; минус — фильтрация после выборки, медленнее на больших данных

Параметры виртуальных таблиц

Быстро, условие уходит в запрос к СУБД; ограничение — работает только для полей, поддерживаемых виртуальной таблицей

Фиксированный (недоступный) отбор

Гарантирует ограничение данных для всех пользователей варианта; минус — скрыт, может вводить в заблуждение при анализе

Сохранение варианта отчета с отборами

Чтобы не настраивать отборы каждый раз, сохраните их как вариант отчета. После настройки нажмите «Ещё — Сохранить вариант отчета» (или «Сохранить настройки»), задайте понятное имя, например «Продажи — склад №2», и при необходимости отметьте вариант как общий, если у вас есть соответствующие права.

Сохраненный вариант запоминает состав отборов, их значения, режимы отображения и параметры вывода, включая вывод отборов в шапку. При следующем открытии отчета выберите нужный вариант из списка — все условия применятся автоматически.

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

Итог

Что важно запомнить

Отбор добавляется на закладке «Отбор» в настройках отчета, выводится в шапку через параметр вывода «Отбор», переводится на форму режимом «Быстрый доступ», а скрывается режимом «Недоступный». Если отбор не работает — проверьте флажок использования, уровень наложения и сохраненные пользовательские настройки.

Частые вопросы

Почему в списке доступных полей нет нужного поля для отбора?

Поле доступно для отбора, только если оно есть в наборе данных схемы компоновки и не отключено разработчиком. Если поля нет, его нужно добавить в запрос схемы в конфигураторе либо проверить, не снят ли у поля флажок доступности для отбора в настройках СКД.

Как убрать строку с отборами из печатной формы отчета?

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

Отбор по периоду не работает — отчет показывает все даты. Что делать?

В отчетах на СКД период обычно задается параметром «Период» (или «НачалоПериода»/«КонецПериода»), а не отбором по полю «Период». Проверьте закладку «Параметры» в настройках и убедитесь, что параметры заполнены и включены. Отбор по полю «Период» может фильтровать уже сгруппированные данные иначе, чем ожидается.

Можно ли задать отбор сразу по нескольким значениям?

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

Почему у коллеги тот же отчет показывает другие данные?

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

Как отобразить отбор в отчете, открываемом из внешнего файла?

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