Быстрый старт · 12 мин
Как сделать отбор в таблице 1С
Как настроить отбор в таблице 1С: кнопка «Ещё», быстрый поиск, отбор по значению, сложные условия и типичные ошибки. Практическая инструкция для пользователей.
Отбор в таблице 1С — это способ показать только те строки списка, которые соответствуют заданным условиям: например, документы одного контрагента, товары конкретной группы или проведённые документы за период. Отбор не удаляет и не изменяет данные — он лишь временно скрывает лишние строки, поэтому работать с ним безопасно.
В типовых конфигурациях на платформе «1С:Предприятие 8.3» (Бухгалтерия, Управление торговлей, ERP, Зарплата и управление персоналом) механизм отбора устроен одинаково: он построен на динамических списках и настройках СКД. Освоив отбор в одном списке, вы сможете применять его в любом другом — в журналах документов, справочниках и регистрах.
Ниже разобраны все рабочие способы: от простого поиска по строке до сложных условий с группировкой «И/ИЛИ», а также типичные ошибки, из-за которых список «пустеет» или показывает не то, что ожидалось.
Где находится настройка отбора и как она устроена
В форме любого списка (журнала документов, справочника) откройте меню «Ещё» в правой верхней части командной панели и выберите пункт «Настроить список». В некоторых конфигурациях рядом есть отдельная кнопка «Отборы» или панель быстрых отборов над таблицей, но «Настроить список» — универсальный вход, который есть практически везде.
Откроется окно настройки с вкладками «Отбор», «Сортировка», «Группировка», «Условное оформление». На вкладке «Отбор» вы видите список условий: каждое условие состоит из левого поля (по какому реквизиту фильтруем), вида сравнения (равно, содержит, в списке и т.д.) и значения. Условия можно комбинировать, отключать флажками и удалять.
Важно понимать: отбор применяется на сервере к данным информационной базы, а не к уже выведенным на экран строкам. Поэтому отбор работает корректно даже в списках на миллионы записей — в отличие от поиска по уже загруженной части таблицы.
Быстрый отбор по значению и строка поиска
Самый быстрый способ — отбор по значению текущей ячейки. Установите курсор на нужное значение в таблице (например, на название контрагента) и нажмите кнопку отбора по значению на панели или выберите в меню «Ещё» команду вида «Отобрать по: Контрагент». Список мгновенно сократится до строк с этим контрагентом. Чтобы снять отбор — нажмите крестик рядом с условием на панели отборов или повторите команду.
Второй быстрый инструмент — строка поиска. Нажмите Ctrl+F или кнопку «Найти» на панели списка, введите фрагмент текста и запустите поиск. Платформа найдёт строки, где значение встречается в отображаемых колонках. В ряде списков доступен режим «Найти по текущему значению» — удобно, когда нужно отобрать по точному совпадению, а не по подстроке.
Учтите ограничение: стандартный поиск ищет по видимым данным и может не находить значения в скрытых колонках или в реквизитах, которые не выведены в список. Если поиск не даёт результата, хотя запись точно существует, переходите к полноценной настройке отбора через «Настроить список».
- 1Откройте нужный список (журнал документов или справочник).
- 2Установите курсор на ячейку с нужным значением, например на контрагента.
- 3Нажмите кнопку отбора по значению на панели или выберите команду в меню «Ещё».
- 4Проверьте, что над таблицей появилась панель с условием отбора; для отмены нажмите крестик рядом с условием.
Настройка отбора через «Настроить список»
Это основной и самый гибкий способ. Откройте «Ещё» → «Настроить список», на вкладке «Отбор» нажмите «Добавить новый элемент» (кнопка с плюсом). В левой колонке появится поле выбора реквизита: нажмите на него и в открывшемся списке найдите нужное поле — например, «Организация», «Склад», «Проведён», «Сумма документа».
Затем выберите вид сравнения. От доступного набора зависит результат:
- Равно / Не равно — точное совпадение значения;
- Содержит / Не содержит — поиск подстроки в текстовых полях, удобно для наименований;
- В списке / Не в списке — отбор сразу по нескольким значениям, например по трём контрагентам;
- В группе / В группе из списка — для иерархических справочников: отбирает элементы внутри выбранной папки со всеми подпапками;
- Больше, меньше, больше или равно и т.д. — для чисел и дат;
- Заполнено / Не заполнено — проверка, указано ли значение реквизита.
После выбора вида сравнения укажите значение в правой колонке и нажмите «Завершить редактирование» или просто закройте окно — отбор применится сразу. Если условий несколько, по умолчанию они объединяются по «И»: строка должна удовлетворять всем условиям одновременно.
Сложные условия: группы «И», «ИЛИ», «НЕ»
Когда простого перечисления условий недостаточно, используйте группы. В окне настройки списка нажмите кнопку «Сгруппировать условия» (или добавьте группу через меню) и выберите тип группы:
- Группа «И» — строка подходит, если выполняются все условия группы;
- Группа «ИЛИ» — достаточно выполнения хотя бы одного условия;
- Группа «НЕ» — отбираются строки, для которых условия группы не выполняются.
Типовой пример: нужны документы по контрагенту «Альфа» или «Бета», но только проведённые. Создайте группу «И», внутри неё добавьте условие «Проведён = Да» и вложенную группу «ИЛИ» с двумя условиями «Контрагент = Альфа» и «Контрагент = Бета». Впрочем, тот же результат проще получить одним условием «Контрагент В списке» — выбирайте вариант, который короче.
Частая задача — отбор по периоду. Во многих журналах документов период задаётся отдельной кнопкой «Установить интервал дат» на панели, и это предпочтительный способ. Если добавляете условие по полю «Дата» вручную, помните, что дата документа включает время: условие «Дата = 15.03» без указания времени может не найти документы, созданные в середине дня. Надёжнее использовать пару условий «Дата ≥ начало дня» и «Дата ≤ конец дня» или стандартный интервал.
Отбор в табличной части документа и в отчётах
Описанные выше приёмы работают для списков. В табличной части открытого документа (например, в списке товаров накладной) полноценного отбора обычно нет: доступен поиск по таблице через Ctrl+F и сортировка по колонке. Если строк в табличной части много и нужна фильтрация, выводите данные через отчёт — например, универсальный отчёт или «Анализ» по нужному объекту, где доступны полноценные отборы СКД.
В отчётах на СКД (все стандартные отчёты типовых конфигураций) отбор настраивается в форме настроек: кнопка «Настройки» или «Ещё» → «Изменить вариант». Логика та же — поле, вид сравнения, значение, группы условий. Полезный приём: вынести отбор в «быстрые настройки», чтобы он отображался прямо на форме отчёта и был доступен без открытия полных настроек.
Какой способ отбора выбрать
Самый быстрый для одного точного значения; не подходит для диапазонов и нескольких условий.
Хорош для разового поиска по видимым колонкам; не ищет по скрытым реквизитам и не сохраняет условие как отбор.
Универсальный вариант: любые поля, виды сравнения, группы условий; требует пары лишних кликов.
Подходит для табличных частей и анализа; избыточен для простого просмотра списка.
Сохранение настроек и сброс отбора
Платформа запоминает настройки списка для каждого пользователя: после закрытия и повторного открытия формы ваш отбор, как правило, сохранится. Это удобно, но становится причиной «пропавших» данных: через неделю легко забыть, что на списке висит условие. Перед паникой проверьте панель отборов над таблицей и окно «Настроить список».
Чтобы быстро вернуть список в исходное состояние, откройте «Ещё» → «Настроить список» и нажмите «Установить стандартные настройки» — все условия, сортировки и группировки сбросятся. Либо снимите флажки с отдельных условий, если нужно убрать только часть.
Если одним и тем же отбором пользуетесь регулярно, сохраните его как вариант настройки: в окне настройки списка есть возможность сохранить набор условий под именем и потом переключаться между вариантами. В некоторых конфигурациях для этого служит механизм «Сохранение настроек» в меню «Ещё».
Отбор в запросе и коде (для разработчиков)
Если вы настраиваете отбор программно — в модуле формы или при выводе данных обработкой — используется либо язык запросов с конструкцией ГДЕ, либо коллекция отборов динамического списка. Минимальный пример установки отбора динамического списка из кода:
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = КонтрагентСсылка;
ЭлементОтбора.Использование = Истина;
В запросах для фильтрации по списку значений используйте условие «В (&СписокЗначений)», а для иерархии — «В ИЕРАРХИИ (&Группа)». Для текстового поиска — оператор ПОДОБНО с шаблоном "%фрагмент%". Параметры всегда передавайте через параметры запроса, а не конкатенацией строки: это защищает от ошибок и некорректной подстановки.
Как проверить, что отбор работает правильно
Отображается именно то условие, которое вы задавали, с понятным текстом
Видны лишние или устаревшие условия, о которых вы забыли
В списке только записи, соответствующие условию; контрольная запись, которая должна попасть в отбор, присутствует
Список пуст при заведомо существующих данных или содержит посторонние записи
После сброса условия список возвращается к полному объёму без перезапуска программы
После снятия отбора данные не появляются — вероятно, действует второе условие или отбор по периоду
Частые вопросы
Почему после отбора список пуст, хотя данные точно есть?
Чаще всего причина в конфликте условий: два условия по одному полю, объединённые по «И», не могут выполняться одновременно. Также проверьте отбор по периоду на панели журнала и скрытые условия в окне «Настроить список». Нажмите «Установить стандартные настройки» — если данные появились, проблема была в ваших условиях.
Как отобрать документы сразу по нескольким контрагентам?
Добавьте одно условие с видом сравнения «В списке» и в правой части укажите несколько значений через кнопку выбора списка. Это короче и надёжнее, чем группа «ИЛИ» с отдельными условиями на каждого контрагента.
Отбор влияет на данные в базе или только на отображение?
Только на отображение. Отбор не изменяет, не удаляет и не блокирует записи — он лишь ограничивает, какие строки показываются в списке. Сняв условие, вы снова увидите все данные.
Как сделать отбор по фрагменту наименования, например по слову в середине?
Используйте вид сравнения «Содержит» и введите фрагмент без лишних пробелов. Учтите, что поиск по подстроке работает медленнее точного сравнения на больших списках; если записей очень много, сузьте выборку дополнительным условием, например по группе или периоду.
Почему отбор по дате «равно» не находит документы за нужный день?
Потому что дата документа хранится с точностью до секунды, а условие «равно» без времени подразумевает начало дня. Используйте стандартную кнопку установки интервала дат на панели журнала или пару условий «больше или равно» началу дня и «меньше или равно» концу дня.
Можно ли сохранить настроенный отбор, чтобы не настраивать заново?
Да. Платформа автоматически запоминает настройки списка для пользователя между сеансами. Для нескольких разных наборов условий используйте сохранение вариантов настройки в окне «Настроить список» либо механизм сохранения настроек в меню «Ещё», если он доступен в вашей конфигурации.
Что важно запомнить
Отбор в таблице 1С делается через «Ещё» → «Настроить список», отбором по значению в ячейке или строкой поиска. Условия комбинируются группами «И/ИЛИ/НЕ», для нескольких значений используйте «В списке», для дат — интервал, а не точное равенство. Отбор не меняет данные, но перед групповыми операциями над отобранными строками проверяйте состав выборки.