Как сделать отбор данных в отчёте 1С 8.3
📋 Содержание
Отбор в отчёте 1С — это условие, которое оставляет в отчёте только нужные строки: одного контрагента, один склад, документы за период, суммы выше порога. Всё остальное отчёт просто не показывает.
Настроить отбор в 1С 8.3 можно двумя путями: быстро — прямо в шапке отчёта, или через расширенную настройку варианта, где доступны все виды сравнения и условия по нескольким реквизитам сразу. Разработчику доступен третий путь — программный отбор в системе компоновки данных (СКД).
Ниже — как поставить отбор в любом стандартном отчёте (ОСВ, карточка счёта, анализ субконто), чем главный отбор отличается от отбора группировки, и как открыть отчёт с отбором из кода.
💡 Если нужно просто «показать по одному контрагенту» — это быстрый отбор, две-три секунды. Всё сложнее (несколько условий, «в списке», «содержит») — расширенная настройка. Программирование нужно только для внешних обработок и автозапуска.
Что такое отбор и чем он отличается от параметра
В отчёте на СКД есть два похожих механизма, которые новички путают.
- 🔎 Отбор — фильтрует уже полученные строки по значению поля. Работает как «оставить только те, где Контрагент = ООО „Ромашка“».
- ⚙️ Параметр — подставляется в запрос отчёта ещё до выборки данных. Классические параметры —
Период,Организация. Их отчёт использует, чтобы вообще не тянуть лишнее из базы.
Разница практическая: параметр по периоду ускоряет отчёт, потому что база отдаёт меньше данных. Отбор по контрагенту чаще применяется уже к результату. В большинстве стандартных отчётов период задаётся параметром, а контрагент/склад/номенклатура — отбором.
⚠️ Отбор по вычисляемому полю (например, по ресурсу-итогу) ведёт себя не так, как отбор по обычному реквизиту. Об этом — в разделе про поля-ресурсы ниже.
Быстрый отбор: самый простой способ
Быстрые отборы вынесены прямо в шапку отчёта — это поля выбора над таблицей. Их разработчик заранее пометил как «доступные в быстром доступе».
Порядок такой:
- Откройте отчёт (например,
Отчёты → Оборотно-сальдовая ведомость). - Задайте
ПериодиОрганизацию. - В строке быстрых отборов выберите значение — контрагента, счёт, склад.
- Нажмите
Сформировать.
Если нужного поля в шапке нет, а справа от полей отбора есть маленькая кнопка со стрелкой или Показать настройки — разверните панель и добавьте отбор оттуда.
Быстрый отбор всегда работает по виду сравнения Равно. Нужно «не равно», «в списке», «больше» — переходите к расширенной настройке.
Расширенная настройка: отбор в отчёте по полной
Здесь доступны все возможности компоновщика. Путь к настройкам одинаков почти во всех типовых конфигурациях (Бухгалтерия, ЗУП, УТ):
- Сформируйте отчёт.
- Нажмите
Ещё → Прочее → Изменить вариант отчётаили кнопкуНастройки(иногдаПоказать настройки → Расширенный вид). - Перейдите на вкладку
Отбор. - В левой колонке — доступные поля, в правой — условия отбора. Перетащите поле или нажмите
Добавить новый элемент. - Выберите поле,
Вид сравненияи значение. - Поставьте галочку
Использование, чтобы условие сработало. Завершить редактирование→Сформировать.
💡 Галочка
Использование— главная причина «отбор не работает». Условие добавлено, значение задано, а галочка снята — отчёт его игнорирует.
Ниже — визард по расширенному отбору, если делаете это первый раз.
Ещё → Изменить вариант отчёта (или Настройки). Перейдите на вкладку Отбор.Контрагент.Регион.Использование, завершите редактирование и нажмите Сформировать.Виды сравнения: какое условие выбрать
Вид сравнения — это оператор отбора. Полный набор в СКД:
| Вид сравнения | Что делает | Пример |
|---|---|---|
| Равно | Точное совпадение | Организация = ООО «Ромашка» |
| Не равно | Всё, кроме значения | Склад ≠ Основной |
| В списке | Любое из перечисленных | Контрагент в списке из 5 фирм |
| Не в списке | Всё, кроме перечисленных | Кроме трёх спорных договоров |
| В группе | Значение входит в группу справочника | Номенклатура в группе «Материалы» |
| В группе из списка | Входит в одну из групп | Товары из групп «А» и «Б» |
| Больше / Больше или равно | Порог снизу | Сумма ≥ 100 000 |
| Меньше / Меньше или равно | Порог сверху | Остаток < 0 |
| Содержит | Подстрока в тексте | Комментарий содержит «возврат» |
| Не содержит | Без подстроки | Наименование без слова «списание» |
| Заполнено / Не заполнено | Проверка на пустоту | Договор не заполнен |
Пара практичных приёмов:
- ➕ «В списке» удобнее, чем несколько отдельных условий
Равночерез ИЛИ — и настраивается быстрее. - 🔍 «Содержит» ищет по подстроке без учёта регистра — хорош для поиска по комментарию или наименованию.
- 📁 «В группе» тянет всю иерархию папки справочника, включая вложенные группы. «Равно» на группе так не работает — вернёт пусто или только саму группу.
Отбор по нескольким реквизитам и условия И / ИЛИ
Когда условий несколько, важно, как они объединяются. По умолчанию все элементы отбора соединяются логическим И — строка попадёт в отчёт, только если выполнены все условия сразу.
Чтобы получить ИЛИ или вложенную логику, используйте группы отбора:
- На вкладке
ОтборнажмитеСгруппировать условия(илиДобавить новую группу). - Выберите тип группы:
Группа И,Группа ИЛИ,Группа НЕ. - Перетащите или добавьте элементы внутрь группы.
Пример: показать документы, где Склад = Основной И (Сумма > 100 000 ИЛИ Контрагент в списке VIP). Внешняя группа — И, внутри неё группа ИЛИ с двумя условиями.
Отбор по реквизиту через точку — отдельная сила компоновщика. Раскройте поле плюсиком и берите вложенный реквизит: Контрагент.Регион, Номенклатура.ВидНоменклатуры, Договор.ВидДоговора. Так фильтруют, например, «всех контрагентов из одного региона», не перечисляя их вручную.
⚠️ Отбор «через точку» работает, только если поле реально есть в наборе данных отчёта. Если реквизита нет в структуре — в списке доступных полей его не будет, и придётся дорабатывать сам отчёт.
Главный отбор отчёта и отбор группировки
В СКД отбор бывает двух уровней, и это ключевой момент для сложных отчётов.
Главный отбор отчёта применяется ко всей выборке целиком. Он живёт на верхнем уровне настроек и влияет на все данные и все группировки.
Отбор группировки задаётся внутри конкретной группировки (строки или колонки) и действует только на неё. Одна и та же группировка может отфильтровать свои значения, не трогая остальной отчёт.
Разница на примере ОСВ по счёту 62:
- Главный отбор
Организация = Ромашка→ весь отчёт только по этой организации. - Отбор группировки «Контрагенты», где оставили только должников → в разрезе контрагентов видно должников, но итоги и другие разрезы могут считаться иначе.
У отбора группировки есть тип применения: к иерархии, к элементам, к элементам и иерархии. От него зависит, отфильтруются ли группы-родители вместе с дочерними строками. По умолчанию 1С применяет отбор к элементам — и иногда итоги «не сходятся» именно из-за этого.
Отбор. Задайте виды сравнения и, при необходимости, группы И/ИЛИ.Особенности отбора по полям-ресурсам
Ресурсы в СКД — это итоговые числовые поля: суммы, количества, обороты. Отбор по ним ведёт себя иначе, чем по обычному реквизиту.
- Отбор по ресурсу применяется после подсчёта итога, а не к отдельным записям. Условие
Сумма > 0отфильтрует группировки, у которых итог больше нуля, а не каждую строку. - Поэтому «оставить контрагентов с ненулевым сальдо» правильно делать именно отбором по ресурсу на нужной группировке.
- Если поставить такой отбор на неверном уровне, из итога исчезнут строки, и общий итог может «поехать».
💡 Хотите видеть только должников в ОСВ — не перечисляйте их вручную. Поставьте отбор группировки «Контрагенты» по ресурсу
Сальдо кон. Дт > 0. Список пересобирается сам при каждом формировании.
Программный отбор: открыть отчёт СКД с отбором из кода
Это для разработчиков — когда отчёт запускается из обработки, по кнопке формы или по расписанию. Отбор задаётся в компоновщике настроек.
Добавление элемента отбора в код:
Отчет = Отчеты.ОборотноСальдоваяВедомость.Создать();
Настройки = Отчет.КомпоновщикНастроек.Настройки;
НовыйОтбор = Настройки.Отбор.Элементы.Добавить(
Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
НовыйОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйОтбор.ПравоеЗначение = ВыбранныйКонтрагент;
НовыйОтбор.Использование = Истина;
Ключевые моменты:
ЛевоеЗначение— этоПолеКомпоновкиДанныхс именем поля ровно так, как оно названо в схеме СКД.ВидСравненияберётся из системного перечисленияВидСравненияКомпоновкиДанных—Равно,ВСписке,Больше,Содержити т. д.Использование = Истинаобязательно, иначе отбор добавлен, но выключен.- Для отбора «в списке» в
ПравоеЗначениекладутСписок значенийили массив.
Чтобы прокинуть отбор в пользовательские настройки (те, что видит пользователь и может менять), у элемента задают уникальный ИдентификаторПользовательскойНастройки и добавляют его в КомпоновщикНастроек.ПользовательскиеНастройки. Так отбор переживёт сохранение варианта отчёта.
Общий каркас открытия внешнего/встроенного отчёта с отбором:
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("КлючВарианта", "Основной");
ОткрытьФорму("Отчет.ОборотноСальдоваяВедомость.Форма",
ПараметрыФормы);
// далее в форме отчёта настроить Отбор компоновщика
// и вызвать КомпоновщикНастроек / СформироватьОтчет
Сохранение варианта отчёта с отбором
Настроили отбор — сохраните, чтобы не повторять каждый раз.
- После настройки нажмите
Ещё → Сохранить вариант отчёта. - Дайте имя, например
ОСВ 62 — только должники. - Выберите доступность: только вам или всем пользователям.
Сохранённый вариант появится в списке вариантов отчёта. Отбор, сортировка, оформление — всё запомнится. Настройки конкретного пользователя (пользовательские) хранятся отдельно от структуры варианта, поэтому один вариант могут по-своему донастраивать разные сотрудники.
Типичные ошибки при настройке отбора
- ❌ Снята галочка
Использование. Условие есть, но не работает. Самая частая причина «отбор не применяется». - ❌ Отбор вместо параметра периода. Ставят отбор по дате, хотя нужен параметр
Период. Отчёт тянет лишние данные и тормозит. - ❌
Равнона группе справочника. Чтобы захватить всю папку с вложениями, нужен вид сравненияВ группе, а неРавно. - ❌ Отбор по ресурсу на неверном уровне. Условие по итогу поставили не на ту группировку — итоги «поехали».
- ❌ Отбор в главном, где нужен отбор группировки. Пропадает не тот разрез, что ожидали.
- ❌ Старый отбор с прошлого раза. Забыли снять — отчёт «внезапно пустой». Проверьте панель отборов перед формированием.
Частые вопросы
Почему отбор в отчёте не работает?
Использование у элемента отбора. Ещё варианты: условие добавлено в главный отбор, а нужно в отбор группировки; выбран вид сравнения Равно вместо В группе; или значение отбора пустое. Проверьте эти четыре пункта по порядку.Как убрать отбор из отчёта?
Ещё → Изменить вариант или Настройки → вкладка Отбор), снимите галочку Использование или удалите элемент кнопкой с крестиком. Если отбор в быстрых полях шапки — очистите значение и сформируйте заново.Как сделать отбор по нескольким значениям сразу?
В списке (или Не в списке) и добавьте нужные элементы в список. Это удобнее, чем несколько условий Равно, соединённых через группу ИЛИ.Чем отличается отбор от параметра в отчёте?
Период, Организация) подставляется в запрос до выборки и уменьшает объём данных из базы. Отбор фильтрует уже полученные строки по значению поля. Для скорости период задают параметром, а контрагента/склад — отбором.Можно ли отобрать по реквизиту связанного объекта?
Контрагент.Регион, Номенклатура.ВидНоменклатуры. Работает, если это поле есть в структуре набора данных отчёта.Как открыть отчёт с уже настроенным отбором из кода?
КомпоновщикНастроек.Настройки.Отбор.Элементы, задайте ЛевоеЗначение (ПолеКомпоновкиДанных), ВидСравнения, ПравоеЗначение и Использование = Истина. Для отображения пользователю пропишите отбор в пользовательские настройки.Материал подготовлен редакцией 1С 8.3 — независимый справочник. Проверено и обновлено: 12.07.2026. Независимый справочник. Мы не представляем фирму «1С» и не аффилированы с ней.