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

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

Критерии отбора в 1С: настройка отборов в списках, отчётах и динамических списках

Как настроить критерии отбора в 1С: отбор в списках, отчётах на СКД и динамических списках. Виды сравнения, типичные ошибки и проверка результата.

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

Механика настройки зависит от того, где применяется отбор. В обычных формах списков отбор задаётся через кнопку «Ещё» или панель быстрого отбора, в отчётах на СКД — через вкладку «Отбор» в настройках, в динамических списках — через запрос в конфигураторе. Ниже разобраны все три сценария с точными действиями, видами сравнения и способами проверить результат.

Где в 1С применяются отборы и как они устроены

Отбор — это логическое условие вида «поле — вид сравнения — значение». Например: «Организация равно ООО Ромашка», «Дата больше или равно 01.01.2026», «Номенклатура в группе Материалы». Несколько условий объединяются по умолчанию союзом «И», то есть запись должна удовлетворять всем условиям одновременно. В отчётах на СКД доступна группировка условий через «И», «ИЛИ» и «НЕ».

Основные места применения отборов:

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

Как настроить отбор в списке документов или справочника

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

Добавьте условие: поставьте галочку у нужного поля или перетащите его в область отбора, затем выберите вид сравнения и укажите значение. Например, чтобы видеть только документы по одному поставщику, выберите «Контрагент → Равно → [нужный контрагент]». После нажатия «Завершить редактирование» список обновится, а над таблицей появится плашка с активным отбором — её можно быстро отключить крестиком.

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

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

Настройка отборов в отчётах на СКД

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

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

Группы условий «И», «ИЛИ», «НЕ»

Чтобы объединить условия по «ИЛИ» (например, два склада или два контрагента), добавьте «Группу ИЛИ» через кнопку добавления и поместите условия внутрь неё. Группа «НЕ» инвертирует условие: «НЕ (Склад равно Основной)» покажет всё, кроме основного склада. Вложенность групп позволяет строить сложные комбинации, но каждая группа замедляет формирование отчёта.

Выбор вида сравнения: какое условие подходит под задачу

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

Вид сравненияКогда применятьТипичная ошибка
РавноТочное совпадение с одним значениемПоиск по наименованию с лишним пробелом — записи не найдутся
В спискеНесколько конкретных значений (3–5 контрагентов)Использование вместо группы ИЛИ с дополнительными условиями
В группеЭлемент и все подчинённые папки иерархииОжидание, что попадёт только сама папка — попадёт и содержимое
СодержитПоиск подстроки в текстовом полеМедленная работа на больших списках без индекса
Больше / МеньшеЧисловые и датовые диапазоныПутаница со строгими и нестрогими границами периода
Не заполненоПоиск пустых реквизитов для контроля данныхСмешение пустой строки и пустой ссылки — это разные значения

Для периодов удобнее использовать стандартные варианты: «Вчера», «Текущий месяц», «Произвольный период». Они пересчитываются автоматически при каждом открытии, тогда как жёстко зафиксированная дата в сохранённой настройке быстро устаревает.

Отбор в динамических списках: настройка для разработчика

Динамический список — это таблица на форме, данные которой берутся из запроса. Отбор здесь задаётся двумя способами: фиксированный (в самом запросе через ГДЕ) и пользовательский (через свойство «Отбор» динамического списка, доступное пользователю). Фиксированный отбор пользователь снять не может — так, например, скрывают помеченные на удаление объекты.

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

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

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

Проверка результата и типичные ошибки

После настройки отбора убедитесь, что он работает именно так, как задумано. Возьмите 2–3 заведомо известные записи: одна должна попасть в выборку, другая — нет. Если список пуст, снимайте условия по одному, чтобы найти конфликтующее. Частая ситуация: одновременно заданы отбор по организации в настройках и другой организацией в быстром отборе на форме — пересечение пустое.

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

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

Количество записей до и после отбора
Норма

Число уменьшилось ожидаемо, контрольная запись видна

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

Список пуст или не изменился

Плашка активного отбора над списком
Норма

Отображаются именно те условия, что заданы

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

Видны старые условия из сохранённой настройки

Пограничные значения (даты, суммы)
Норма

Записи на границе диапазона попадают корректно

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

Граничные записи теряются из-за строгого сравнения

Типичные ошибки
01
Поиск по наименованию через «Равно» вместо «Содержит» — из-за лишних пробелов или разного регистра записи не находятся
02
Отбор «В группе» вместо «В списке» — в выборку попадают все подчинённые элементы иерархии
03
Забытый отбор в сохранённой настройке списка — пользователь думает, что документы пропали
04
Фиксированная дата в сохранённом варианте отчёта — через месяц отчёт показывает старый период
05
Отбор по незаполненному полю без учёта разницы между пустой строкой и пустой ссылкой

Ограничения и когда нужен разработчик

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

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

Маршрут решения

Как выбрать действие

Нужно разово отфильтровать список по реквизитуИспользуйте «Ещё → Настроить список» — доработки не требуются
Отбор нужен регулярно с одними условиямиСохраните настройку списка или вариант отчёта под понятным именем
Нужного поля нет среди доступныхПроверьте расширенный режим настроек; если поля нет и там — нужна доработка отчёта разработчиком
Отбор должен действовать для всех пользователей принудительноНастройте фиксированный отбор в запросе динамического списка через конфигуратор

Частые вопросы по настройке отборов в 1С

Почему отбор по контрагенту не находит документы, хотя они точно есть?

Чаще всего в базе заведено два дубля контрагента с похожими наименованиями, а документы оформлены на другой элемент. Проверьте контрагента внутри самого документа и сравните с выбранным в отборе. Также убедитесь, что не осталось второго условия, например по периоду или организации.

Как отобрать записи, где реквизит не заполнен?

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

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

Да. Настройте условия, затем в окне настройки списка нажмите «Сохранить настройки» и при выборе настройки установите её стандартной или просто выбирайте через «Ещё → Выбрать настройку». В отчётах аналогично сохраняется вариант отчёта.

Чем отличается «В группе» от «В списке»?

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

Отчёт с отбором формируется очень долго. Что делать?

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

Как сбросить все отборы разом?

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

Итог

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

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