Отбор в отчётах 1С 8.3: от простого фильтра до групп условий и вариантов
Содержание
Чтобы установить отбор в отчёте 1С 8.3, откройте отчёт, нажмите Настройки (в регламентированных отчётах БП 3.0 — Показать настройки), перейдите на вкладку отборов, добавьте поле, выберите вид сравнения и значение, отметьте флажок строки и нажмите Сформировать. Так решаются повседневные задачи: отчёт по одному контрагенту, складу, сотруднику.
Сложнее, когда нужна фильтрация по нескольким условиям сразу, по датам с точностью до дня или по итоговой сумме. Для каждого из этих случаев есть свой приём. Механизм общий для платформы: все современные отчёты в БП 3.0, ЗУП 3.1 и УТ 11 построены на системе компоновки данных (СКД), поэтому отбор настраивается одинаково.
Где в отчёте 1С искать отбор
В отчётах на СКД есть два уровня фильтров.
Быстрые отборы — поля прямо в шапке отчёта над табличной частью. Обычно это организация, период, иногда склад или подразделение. Заполнили поле, нажали Сформировать — готово.
Полная панель настроек — открывается кнопкой. Здесь можно отфильтровать по любому полю, которое есть в источнике данных отчёта, а не только по тем, что вынесены в шапку.
| Тип отчёта | Как открыть настройки | Где отбор |
|---|---|---|
| ОСВ, Анализ счёта, Карточка счёта, Обороты счёта (БП 3.0) | кнопка Показать настройки | вкладка Отбор |
| Универсальные отчёты на БСП (большинство в ЗУП 3.1, УТ 11, часть в БП 3.0) | кнопка Настройки | вкладка Отборы |
| Внешние и самописные отчёты | зависит от разработчика | чаще всего та же кнопка Настройки |
В отчётах на БСП форма настроек работает в двух режимах: простом и расширенном. Переключатель вида находится в верхней части формы настроек. В простом режиме видны только подготовленные разработчиком поля. Расширенный режим открывает весь конструктор: произвольные поля, группы условий, структуру отчёта.
Если нужного поля нет в списке отборов, первым делом переключитесь в расширенный режим. Чаще всего поле там есть, просто скрыто в простом.
Как установить отбор в отчёте 1С: пошагово
Разберём на примере: нужна оборотно-сальдовая ведомость по счёту 60 только по одному поставщику.
- Откройте
Отчёты → Стандартные отчёты → Оборотно-сальдовая ведомость по счёту. - Укажите период и счёт 60.
- Нажмите
Показать настройкии перейдите на вкладкуОтбор. - Нажмите
Добавить— появится новая строка условия. - В колонке поля выберите
Контрагент. Доступные поля показаны деревом: у ссылочных полей есть «плюсик», через него можно добраться до реквизитов, напримерКонтрагент.ИНН. - В колонке вида сравнения оставьте
Равно. - В колонке значения выберите поставщика из справочника.
- Проверьте флажок слева от строки — он должен стоять.
- Нажмите
Сформировать.
Флажок использования — частая ловушка. Строка отбора может быть заполнена, но выключена, и тогда она не влияет на результат. Удобно держать в настройках несколько заготовленных условий и включать нужное флажком, не удаляя остальные.
Виды сравнения и когда какой брать
Вид сравнения определяет, как 1С сравнивает поле со значением. Выбор неочевиден, особенно для справочников с папками.
| Вид сравнения | Когда использовать | Пример |
|---|---|---|
| Равно / Не равно | одно конкретное значение | Склад = «Основной» |
| В списке / Не в списке | несколько значений, перечисленных вручную | Контрагент в списке: три поставщика |
| В группе / Не в группе | папка справочника вместе со всеми вложенными элементами | Номенклатура в группе «Канцтовары» |
| В группе из списка | несколько папок сразу | группы «Канцтовары» и «Хозтовары» |
| Больше, Меньше, Больше или равно, Меньше или равно | числа и даты | Сумма больше 100 000 |
| Содержит / Не содержит | часть строки | Наименование содержит «ООО» |
| Начинается с | префикс | Артикул начинается с «АК-» |
| Подобно | шаблон: % — любые символы, _ — один символ | Номер подобно «%-0_» |
| Заполнено / Не заполнено | проверка пустоты | Статья затрат не заполнена |
Для плана счетов логика та же: условие Счёт в группе 60 захватит 60.01, 60.02 и все остальные субсчета. А Счёт равно 60 покажет только обороты, проведённые на сам счёт 60 без субсчёта, — обычно это пустой отчёт.
Отбор «Равно» по папке справочника почти всегда возвращает пустоту. Документы ссылаются на элементы, а не на папки. Для групп номенклатуры, контрагентов и счетов берите В группе.
Отбор по реквизиту, а не по самому полю
Через раскрытие ссылочного поля можно фильтровать по свойствам объекта. Несколько полезных примеров:
- 🏢
Контрагент.ИННначинается с «77» — все контрагенты с московским ИНН; - 📦
Номенклатура.ВидНоменклатурыравно «Услуги» — только услуги; - 👤
Сотрудник.Подразделениев группе «Производство» — работники цеха.
Глубина раскрытия зависит от схемы отчёта. Если реквизит не раскрывается, значит, разработчик ограничил доступные поля.
Сложные условия: группы «И», «ИЛИ», «НЕ»
По умолчанию все строки отбора соединяются через «И»: запись попадёт в отчёт, только если выполнены все условия одновременно. Для «или» нужны группы условий. Они доступны в расширенном режиме настроек.
Как собрать группу:
- Добавьте условия, которые должны объединяться.
- Выделите их и выполните команду группировки условий (кнопка на панели отборов или пункт контекстного меню по правой кнопке).
- Выберите тип группы:
Группа "И",Группа "ИЛИ"илиГруппа "НЕ". - Условия окажутся внутри группы. Внешние строки по-прежнему работают как «И».
Пример задачи: продажи по складу «Основной», где покупатель — либо из папки «Розница», либо сумма документа больше 500 000.
И
├── Склад Равно «Основной»
└── Группа "ИЛИ"
├── Контрагент В группе «Розница»
└── СуммаДокумента Больше 500 000
Группа "НЕ" инвертирует всё, что в неё вложено. Это удобно, когда проще описать исключение: «все контрагенты, кроме трёх сетей из папки и кроме служебных».
Отбор по итогам: «покажи только тех, у кого больше миллиона»
Общий отбор отчёта работает по исходным записям. Если поставить Сумма больше 1 000 000, 1С отбросит отдельные документы меньше миллиона, а не контрагентов с оборотом меньше миллиона.
Для фильтрации по итогу группировки отбор ставят не на весь отчёт, а на конкретную группировку:
- В расширенном режиме откройте вкладку
Структура. - Выделите группировку, например
Контрагент. - В её собственных настройках откройте отбор и задайте условие по ресурсу:
Сумма больше 1 000 000.
Теперь 1С сначала просуммирует обороты по каждому контрагенту и только потом отсечёт мелких. Это аналог HAVING в SQL.
| Задача | Где ставить отбор |
|---|---|
| Выбросить отдельные документы или строки | общий отбор отчёта |
| Выбросить контрагентов, товары, сотрудников по итоговой сумме | отбор группировки на вкладке Структура |
| Ограничить остатки на дату | параметр периода, а не отбор (см. ниже) |
Конструктор отборов: расширенный режим и пользовательские поля
Расширенный режим настроек — по сути тот же конструктор, что у программиста в Конфигураторе, только в пользовательском режиме. Новичку достаточно трёх вкладок.
- 🔎 Отборы — условия, группы условий, флажки использования.
- 📋 Поля и сортировки — какие колонки выводить и в каком порядке сортировать строки.
- 🌳 Структура — группировки отчёта и их собственные отборы.
Пользовательское поле-выражение
Когда нужного поля нет совсем, его можно вычислить. В настройках СКД есть пользовательские поля двух видов: поле-выбор (набор условий «если — то») и поле-выражение (формула). Например, поле-выбор «Размер сделки» со значениями «Крупная» для сумм от 500 000 и «Обычная» для остальных. Потом по этому полю можно и группировать, и фильтровать.
Поле-выбор безопаснее для новичка: условия задаются той же формой, что и обычный отбор, синтаксис набирать не нужно.
Отбор программно: для разработчиков
Если отчёт открывается из кода и должен сразу показать данные по нужному объекту, отбор задают через компоновщик настроек:
Отбор = КомпоновщикНастроек.Настройки.Отбор;
Элемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Элемент.ПравоеЗначение = Контрагент;
Элемент.Использование = Истина;
Группа = Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
Группа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
Группа.Использование = Истина;
Условие = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Условие.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад");
Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
Условие.ПравоеЗначение = СписокСкладов; // СписокЗначений
Условие.Использование = Истина;
Имя в ПолеКомпоновкиДанных — это путь к полю из схемы, через точку для реквизитов: "Контрагент.ИНН". Если такого поля в схеме нет, отбор при формировании не применится, поэтому имя сверяйте с вкладкой наборов данных в схеме.
Отбор по датам и периодам
С датами две особенности, которые дают «пропавшие» документы.
Первая — время. Дата в 1С хранится вместе со временем. Условие Дата меньше или равно 31.03.2026 1С понимает как «не позже 31.03.2026 0:00:00». Документ от 31 марта, проведённый в 14:30, в отчёт не попадёт.
Как избежать:
- Ставьте
Меньше 01.04.2026вместоМеньше или равно 31.03.2026. - Или указывайте время явно:
31.03.2026 23:59:59. - Или используйте стандартный период вместо пары условий — он сам берёт конец дня.
Вторая — параметр или отбор. В большинстве отчётов период задаётся параметрами «Начало периода» и «Конец периода». Это не то же самое, что отбор по полю Период.
| Способ | Что делает | Подходит для |
|---|---|---|
| Параметр периода (поле в шапке или на вкладке параметров) | ограничивает выборку на уровне запроса, корректно считает начальные и конечные остатки | оборотки, остатки, ОСВ, анализ счёта |
Отбор по полю Период или Дата | фильтрует уже полученные записи | журналы, реестры документов, списки операций |
Если в отчёте об остатках вместо параметра поставить отбор по полю Период, начальное сальдо посчитается неверно или исчезнет вовсе. Для оборотно-сальдовых отчётов период меняйте только в параметрах.
Стандартные периоды
Кнопка выбора периода (три точки рядом с полем) открывает форму с готовыми вариантами: месяц, квартал, полугодие, год. Там же можно выбрать скользящие варианты вроде «этот месяц» или «прошлый квартал».
Скользящий период стоит сохранить в вариант отчёта. Тогда отчёт «Продажи за прошлый месяц» каждый раз будет открываться с правильными датами, без ручной правки.
Как сохранить настройки отбора в вариант отчёта
Настроенный отбор не обязательно собирать каждый раз заново. В отчётах на БСП есть варианты — именованные наборы настроек: отборы, поля, сортировки, структура.
Как сохранить:
- Настройте отчёт и проверьте результат.
- Откройте меню
Ещёв форме отчёта и выберите команду сохранения варианта. - Введите понятное название: «Продажи — розница — больше 500 тыс.».
- Отметьте, кому вариант доступен: только вам или всем пользователям.
- Сохраните.
Открыть сохранённый вариант можно через команду выбора варианта в том же меню Ещё. Варианты, доступные всем, появляются и в панели отчётов раздела.
Что стоит держать в вариантах:
- 📊 регулярные отчёты руководителю с одинаковым набором отборов;
- 📅 отчёты со скользящим периодом: «прошлый месяц», «этот квартал»;
- 🔁 сложные группы условий, которые долго собирать заново.
Не перезаписывайте типовой вариант своими отборами — сохраните новый под своим названием. Тогда исходные настройки всегда останутся под рукой, а коллеги не получат ваш фильтр вместо привычного отчёта.
Если отборы «сбились» и отчёт ведёт себя странно, в меню Ещё есть команда сброса или восстановления стандартных настроек варианта. Она возвращает отчёт к поставке разработчика.
Почему отбор не срабатывает
Типовые симптомы и что проверить: