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

Быстрый старт · 11 мин

Как в 1С сделать отбор: полное руководство

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

Отбор в 1С — это способ показать не все записи списка или отчёта, а только те, которые соответствуют заданным условиям: документы за период, контрагенты из одной группы, товары с ненулевым остатком. Механизм отборов одинаков по логике во всех типовых конфигурациях на управляемых формах — «Бухгалтерия предприятия», «Управление торговлей», «Зарплата и управление персоналом», — поэтому, освоив его один раз, вы сможете применять отборы в любом разделе программы.

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

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

Какие виды отборов есть в 1С и когда их применять

Прежде чем настраивать отбор, полезно понять, какой инструмент подходит под задачу. Разовый поиск одного документа по номеру не требует настройки списка — достаточно строки поиска. А регулярная работа с «только непроведёнными документами за месяц» удобнее через сохранённую настройку.

Способы отбора в 1С

Строка поиска в списке

Подходит для разового поиска по номеру, наименованию, артикулу. Не сохраняется и не работает со сложными условиями.

Отбор по значению поля

Быстрый отбор по значению текущей колонки через контекстное меню. Подходит для одного простого условия.

Настройка списка (Ещё → Настроить список)

Полноценные условия: несколько полей, виды сравнения, группы И/ИЛИ. Можно сохранить как стандартную настройку.

Отборы в отчётах

Настраиваются внутри отчёта на вкладке «Отбор». Позволяют фильтровать данные, которых нет в колонках отчёта.

Отбор в запросе / динамическом списке

Для разработчиков: задаётся в тексте запроса или через СКД. Самый гибкий, но требует доступа к конфигуратору.

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

Быстрый отбор без настроек: поиск и отбор по значению

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

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

Чтобы снять такой отбор, нажмите Ctrl+Q, кнопку отмены отбора на панели или выберите в меню «Ещё» команду отключения отбора. Признак активного отбора — надпись с условием над списком и, как правило, жирное выделение или пиктограмма на кнопке настройки.

Как сделать отбор через «Настроить список»

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

Порядок настройки отбора
  1. 1
    Откройте нужный список (документы, справочник, журнал) и нажмите «Ещё» → «Настроить список».
  2. 2
    На вкладке «Отбор» нажмите «Добавить новый элемент» и выберите поле отбора — например, «Организация», «Дата», «Проведён».
  3. 3
    Выберите вид сравнения: «Равно», «В списке», «Содержит», «Больше или равно» и другие.
  4. 4
    Укажите значение отбора. Для дат удобны стандартные периоды: «Сегодня», «Этот месяц».
  5. 5
    Убедитесь, что флажок у условия установлен — снятый флажок отключает условие без удаления.
  6. 6
    Нажмите «Завершить редактирование» или «ОК» и проверьте, что список показывает только нужные записи.

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

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

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

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

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

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

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

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

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

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

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

Как проверить, что отбор работает

Надпись над списком или в шапке отчёта
Норма

Отображается текст применённого условия, например «Организация = ООО Ромашка»

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

Надписи нет — отбор не применился или снят

Состав записей
Норма

Все видимые строки соответствуют условию, заведомо «лишние» записи скрыты

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

В списке остались записи, нарушающие условие

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

Число строк уменьшилось по сравнению со списком без отбора

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

Количество не изменилось — возможно, условие задано по другому полю

Заведомо подходящая запись
Норма

Известная запись, подходящая под условие, присутствует в списке

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

Запись пропала — проверьте вид сравнения и значение

Отборы в динамических списках и программный отбор

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

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

При программном отборе важно помнить о производительности: условия по неиндексированным реквизитам и отборы через функции (например, ПОДСТРОКА) заставляют СУБД перебирать всю таблицу. Если отбор применяется к большому журналу документов, сначала ограничьте период — это самое «дешёвое» условие.

Типичные ошибки и как их исправить

Типичные ошибки при работе с отборами
01
Отбор по группе справочника через «Равно» — записи внутри группы не попадают в результат. Используйте «В группе».
02
Забытый старый отбор: пользователь видит неполный список и считает, что данные пропали. Проверяйте надпись об отборе над списком и сбрасывайте через «Установить стандартные настройки».
03
Условие по дате без времени: «Дата = 15.03» не находит документы, потому что у даты есть время. Используйте период или «больше или равно / меньше».
04
Поиск подстрокой «Содержит» на огромном списке — форма зависает. Сузьте выборку периодом или используйте «Начинается с».
05
Несколько условий «ИЛИ» вместо «И» (или наоборот) из-за неверной группировки — результат шире или уже ожидаемого. Проверяйте тип группы в настройке.
06
Отбор в отчёте задан, но отчёт не переформирован — на экране старые данные. После изменения настроек нажимайте «Сформировать».

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

Итог

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

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

Частые вопросы об отборах в 1С

Почему отбор не срабатывает, хотя условие задано верно?

Чаще всего снят флажок «Использование» у элемента отбора, либо условие добавлено в группу с неверным типом объединения. Также проверьте, что отбираете по тому же полю, которое видите в колонке: в списке может выводиться один реквизит, а отбор настроен по другому с похожим названием.

Как сбросить все отборы и вернуть список к исходному виду?

Откройте «Ещё» → «Настроить список» и нажмите «Установить стандартные настройки». Это удалит все пользовательские отборы, сортировки и группировки. Быстрый отбор по значению снимается клавишами Ctrl+Q или повторным вызовом той же команды.

Можно ли сохранить отбор, чтобы не настраивать его каждый день?

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

Как отобрать документы сразу по нескольким контрагентам?

Добавьте условие по полю «Контрагент» с видом сравнения «В списке» и в открывшемся окне отметьте нужных контрагентов. Это короче и быстрее, чем создавать группу «ИЛИ» из нескольких условий «Равно».

Почему отбор «Содержит» работает медленно на большом списке?

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

Нужного поля нет в списке полей отбора. Что делать?

В настройке списка доступны только поля, выведенные в состав динамического списка разработчиком. Если поля нет, вариантов два: попросить администратора или разработчика добавить реквизит в запрос динамического списка, либо использовать отчёт по этому объекту, где состав доступных полей обычно шире.