Как сделать отбор в отчёте 1С 8.3
Содержание
Отбор в отчёте 1С — это условие, которое оставляет в результате только нужные строки: одного контрагента, один склад, одну организацию или все документы дороже 100 000 ₽. Задаётся он прямо в форме отчёта, без обращения к программисту.
Проще всего это увидеть на оборотно-сальдовой ведомости: открыли, нажали кнопку с воронкой (или Настройки), добавили строку «Контрагент = ООО Ромашка» — и на экране остались только его обороты. Ниже разберём все способы: от быстрого отбора одним кликом до отбора по нескольким реквизитам и настройки на уровне СКД.
Что такое отбор и чем он отличается от параметра
В любом отчёте на системе компоновки данных (СКД) есть два похожих механизма:
- 🔎 Отбор — фильтрует строки результата. Условие вида «поле — вид сравнения — значение». Например,
Организация В списке (Ромашка; Лютик). - ⚙️ Параметр — влияет на сам запрос и на период. Классика — «Начало периода» и «Конец периода». Параметр обычно жёстко зашит в отчёт, отбор — гибкий.
Разница важна на практике: отбор по организации можно снять или поменять в один клик, а параметр «Период» — часть логики отчёта.
Если поле, по которому нужно фильтровать, не появляется в списке отбора — оно, скорее всего, оформлено как параметр. Тогда его меняют не в отборе, а в шапке отчёта.
Быстрый отбор: фильтр за 10 секунд
Быстрый отбор — самый частый сценарий для бухгалтера. Его видно сразу в шапке отчёта или под кнопкой-воронкой.
- Откройте отчёт (например, ОСВ по счёту 62).
- В верхней панели найдите поле Отбор или значок воронки.
- Выберите поле —
Контрагент,Договор,Номенклатура,Подразделение. - Укажите значение и нажмите Сформировать.
Быстрые отборы удобны, но ограничены: они предлагают только заранее выведенные разработчиком поля. Всё остальное — через расширенную настройку.
Расширенная настройка отбора: пошагово
Когда быстрых полей не хватает, включаем полный конструктор.
- В отчёте нажмите Настройки (или Показать настройки).
- Переключите вид настроек на Расширенный — обычно это ссылка или иконка в правом верхнем углу панели настроек.
- Перейдите на закладку Отбор.
- В левой колонке — доступные поля. Раскройте нужную группу, найдите поле, перетащите его в правую колонку (или дважды кликните).
- В строке отбора задайте Вид сравнения и Значение.
- Установите галочку слева от строки, чтобы условие стало активным.
- Нажмите Завершить редактирование → Сформировать.
Отбор по реквизитам через точку
В расширенном режиме доступны не только сами поля, но и их реквизиты «через точку». Раскройте, например, Контрагент — внутри будут ИНН, Страна регистрации, Основной договор.
Так можно собрать отбор, которого нет ни в одном быстром фильтре: «все контрагенты с определённой страной регистрации» или «документы, где у номенклатуры заполнен конкретный вид».
Виды сравнения в отборе
Вид сравнения — это то, как поле сопоставляется со значением. Набор зависит от типа поля.
| Вид сравнения | Когда использовать | Пример |
|---|---|---|
| Равно / Не равно | одно точное значение | Организация Равно Ромашка |
| В списке / Не в списке | несколько значений сразу | Склад В списке (Основной; Розница) |
| В группе / В группе из списка | элемент внутри папки справочника | Номенклатура В группе (Материалы) |
| Больше / Меньше / Между | числа, суммы, даты | Сумма Больше 100000 |
| Содержит / Не содержит | поиск по части строки | Комментарий Содержит "возврат" |
| Заполнено / Не заполнено | проверка на пустоту | Договор Не заполнено |
«В группе» и «Равно» — не одно и то же. Если выбрать папку номенклатуры через Равно, отчёт покажет пусто: документов на саму папку не бывает. Для папок нужен вид В группе.
Отбор по нескольким условиям и группы И/ИЛИ
Часто нужно наложить сразу несколько условий. Просто добавьте несколько строк на закладке Отбор — по умолчанию они объединяются логикой И (выполняются все сразу).
Если нужна логика ИЛИ — «этот склад ИЛИ тот склад по другому условию» — используют группу отбора:
- В конструкторе отбора нажмите Добавить → Новая группа.
- Выберите тип группы:
И,ИЛИ,НЕ. - Перетащите условия внутрь группы.
Пример: показать документы, где Сумма Больше 500000 ИЛИ Контрагент В списке (VIP-клиенты). Без группы «ИЛИ» это не собрать.
Главный отбор отчёта и отбор группировок в СКД
Здесь начинается территория разработчика и продвинутого пользователя. В СКД отбор бывает двух уровней.
Главный отбор отчёта — тот, что на верхней закладке «Отбор». Он применяется ко всему результату. СКД старается «протолкнуть» такой отбор прямо в запрос к базе — это быстро и эффективно.
Отбор группировки — задаётся не на верхнем уровне, а внутри конкретной группировки в дереве «Структура». Работает уже после выборки данных, на этапе компоновки. Полезно, когда нужно урезать не весь отчёт, а только одну ветку.
Тип применения отбора
У каждого условия отбора в конфигураторе есть свойство Тип применения:
- 🟢
Элементы— отбор действует на детальные записи (строки-элементы). - 🟡
Иерархия— на иерархические строки (папки). - 🔵
ЭлементыИИерархия— и на то, и на другое.
Неверный тип применения — частая причина «отбор стоит, а лишние строки всё равно видны». Особенно на иерархических группировках.
Отбор по полям-ресурсам
Ресурсы (суммы, количества, итоги) можно отбирать только после их вычисления. Поэтому такой отбор нельзя «протолкнуть» в запрос — он всегда применяется на этапе компоновки. Условие вида «Итого больше 0» работает именно так: сначала всё посчиталось, потом отсеклись нулевые строки.
Программный отбор: открыть отчёт СКД с готовым фильтром
Если один и тот же отчёт нужно постоянно открывать с одинаковым отбором, его удобно задавать программно — из формы, обработки или по кнопке.
Базовый приём — работа с компоновщиком настроек и коллекцией элементов отбора:
Отчет = Отчеты.ОборотыКонтрагентов.Создать();
Настройки = Отчет.СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(
Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = ВыбранныйКонтрагент;
ЭлементОтбора.Использование = Истина;
Для передачи отбора в уже открытую форму отчёта используют пользовательские настройки (КомпоновщикНастроек.ПользовательскиеНастройки) — так отбор виден пользователю и его можно поправить. Для «жёсткого» невидимого отбора пишут в основные настройки, как выше.
Чтобы отбор из формы «дошёл» до отчёта при открытии, ему задают уникальный ИдентификаторПользовательскойНастройки и передают ключ в параметрах открытия формы.
Сохранение варианта отчёта с отбором
Настроили сложный отбор — не теряйте его. В 1С 8.3 настройки сохраняются как вариант отчёта:
- Нажмите Ещё (или Сохранить вариант отчёта).
- Задайте имя, например «ОСВ по VIP-клиентам».
- Выберите доступность: только вам или всем пользователям.
После этого нужный отбор вызывается из списка вариантов одним кликом — переносить условия заново не придётся.
Типичные ошибки при настройке отбора
Отдельно вынесем то, на чём чаще всего спотыкаются.
Как проверить, что отбор сработал правильно
Быстрый способ убедиться, что фильтр не «съел» лишнее:
- ✅ Сравните итог отфильтрованного отчёта с общим — суммы должны сойтись логически.
- ✅ Снимите отбор и посмотрите, какие строки исчезли, — те ли это, что вы ждали.
- ✅ Для отборов «Содержит» проверьте регистр и лишние пробелы в значении.
- ✅ При отборе через точку убедитесь, что реквизит заполнен у всех нужных объектов (иначе «Не заполнено» их выкинет).