Отбор в 1С: от быстрого фильтра в списке до условий в отчёте
Содержание
Чтобы быстро отфильтровать список в 1С 8.3, встаньте в нужную ячейку и выберите в контекстном меню отбор по текущему значению. Для сложных условий откройте настройку списка и добавьте отбор вручную: поле, вид сравнения, значение. В отчётах то же самое делается на вкладке «Отбор» в настройках.
Типичная ситуация. В журнале «Реализация (акты, накладные)» восемь тысяч документов, а нужны только проведённые, по одному контрагенту, за прошлый квартал. Листать глазами бессмысленно. Тот же вопрос возникает в отчёте: оборотно-сальдовая ведомость показывает всё, а нужен один склад или одна группа номенклатуры.
Все описанное относится к 1С 8.3 с интерфейсом «Такси». Принципы одинаковы в Бухгалтерии, ЗУП, УТ и других конфигурациях на управляемых формах. Разница только в наборе полей, по которым можно отбирать.
С чего начать: как устроен отбор в списках
В 1С есть три уровня отбора, и их легко перепутать.
- 🔎 Строка поиска над списком. Ищет текст по нескольким колонкам сразу. Список остаётся полным, просто подсвечиваются или остаются подходящие строки.
- 🎯 Отбор по значению. Вы выбираете конкретное значение в колонке, и список сужается до строк с этим значением.
- ⚙️ Настройка списка. Полноценные условия с разными видами сравнения, группами и сортировкой.
Первых двух уровней обычно хватает. Третий нужен, когда условий несколько или они нестандартные.
Отбор действует только на вашем рабочем месте. Данные в базе он не меняет и другим пользователям не мешает. Закройте форму, и временный отбор исчезнет, если вы его не сохраняли.
Если список вдруг «пустой», а документы точно есть, первым делом посмотрите, не остался ли включённым чей-то отбор. Над таблицей в этом случае видна строка с условиями и кнопка их отмены.
Быстрый отбор по значению и сохранение вариантов
Самый короткий путь выглядит так.
- Откройте список, например «Номенклатура» или «Контрагенты».
- Встаньте в ячейку с нужным значением. Допустим, в колонке «Вид номенклатуры» стоит «Товар».
- Нажмите правой кнопкой и выберите команду отбора по текущему значению.
- Список оставит только строки с этим значением. Над таблицей появится подпись с условием.
Чтобы добавить второе условие, повторите шаги в другой колонке. Условия объединяются по «И»: строка должна подойти под все сразу.
Отмена делается кнопкой отмены отбора или через то же контекстное меню. Если команду не видно, найдите её в меню «Ещё» над таблицей.
Отбор через панель над списком
В некоторых списках над таблицей выведены поля быстрого отбора: период, организация, контрагент, ответственный. Выберите значение в поле, и список обновится сразу. Эти поля настраиваются разработчиком конфигурации, поэтому в одном журнале они есть, а в другом нет.
Сохранение любимых настроек
Пользователи часто каждый день вводят один и тот же отбор. Поищите в меню «Ещё» команды работы с настройками списка: там можно сохранить текущую настройку и позже выбрать её из списка. Если нужных команд нет, значит, в этой форме сохранение не предусмотрено. Тогда проще включить отбор заново: это занимает пару секунд.
Для отчётов сохранение устроено надёжнее, о нём ниже.
Настройка списка: когда одного значения мало
Откройте меню «Ещё» над таблицей и найдите команду настройки списка. В окне будут вкладки с отбором, сортировкой и оформлением. Нам нужна вкладка отбора.
Добавляется условие тремя полями:
| Поле | Что выбрать | Пример |
|---|---|---|
| Левая часть | Реквизит документа или элемента | Контрагент |
| Вид сравнения | Как сопоставлять | Равно |
| Значение | Что искать | ООО «Ромашка» |
Основные виды сравнения:
- Равно / Не равно. Точное совпадение или исключение значения.
- В списке / Не в списке. Подходит, если значений несколько: три склада, пять контрагентов.
- В группе. Для справочников с иерархией: отобрать всё внутри выбранной папки.
- Заполнено / Не заполнено. Находит пустые реквизиты. Незаменимо при чистке справочников: например, контрагенты без ИНН.
- Больше, меньше, в интервале. Для сумм и дат.
Каждое условие можно включать и выключать флажком слева, не удаляя. Это удобно, когда вы подбираете выборку и хотите быстро сравнить результат с условием и без.
Если поле нужного реквизита не отображается в выборе, возможно, оно не вынесено в доступные для отбора. Тогда добавьте колонку в список через настройку или используйте отчёт, где набор полей шире.
Расширенный поиск и группы условий И/ИЛИ
Для одной строки поиска иногда не хватает точности. Рядом со строкой поиска есть выпадающее меню с вариантами. Среди них есть расширенный поиск, где задаются несколько параметров сразу:
- что искать (текст или число);
- в каком виде сравнивать: по части строки, по началу, по точному совпадению;
- где искать: по всем колонкам или по выбранной.
Подробнее про сопоставление текста ниже, в разделе про маски.
Как собрать условие «ИЛИ»
По умолчанию отдельные условия работают как «И». Чтобы получить «ИЛИ», нужна группа условий. В окне отбора есть команда добавления группы. У группы можно выбрать тип:
| Тип группы | Смысл | Когда нужна |
|---|---|---|
| И | Выполнены все условия | Основной случай |
| Или | Достаточно любого | Склад А или склад Б, но не оба сразу |
| Не | Отрицание группы | Всё, кроме определённого набора |
Пример. Нужны документы, у которых организация «Север», и при этом либо сумма больше 100 000, либо комментарий заполнен. Собираем так: верхний уровень «И», условие «Организация равна Север», а внутри добавляем группу «Или» с двумя условиями.
Ошибка новичка: положить два условия по одному и тому же полю в обычный «И». Контрагент равен А и контрагент равен Б не выполнится никогда, список окажется пустым. Здесь нужен вид сравнения «В списке» либо группа «Или».
Отбор в отчётах и аналитике
В отчётах на системе компоновки данных (так сделано большинство стандартных отчётов) отбор настраивается в форме самого отчёта.
- Откройте отчёт, например оборотно-сальдовую ведомость.
- Нажмите кнопку «Настройки» в командной панели формы.
- Перейдите на вкладку «Отбор».
- Добавьте условие: выберите поле, вид сравнения и значение.
- Сформируйте отчёт заново.
У настроек отчёта есть два режима. Простой показывает только самое нужное и часто включает готовые поля быстрого отбора. Расширенный, который называется «Все настройки», открывает отбор, группировки, поля, сортировку и оформление.
Отчёт часто сам предлагает самые востребованные отборы прямо в шапке: организация, период, счёт. Они же присутствуют и на вкладке настроек.
Отбор по периоду и динамическим значениям
Период в отчётах задаётся отдельным полем. Не пытайтесь заменить его условием по дате в отборе: период влияет на расчёт остатков и оборотов, а отбор лишь убирает строки из результата. Для ведомостей по счетам это принципиальная разница: сальдо на начало считается от начала периода.
Сохранение варианта отчёта
Если вы настроили отбор и хотите вернуться к нему завтра, сохраните вариант отчёта. В меню «Ещё» формы отчёта есть команда сохранения варианта. Дайте понятное имя, например «ОСВ 60 по поставщикам». Дальше вариант будет в списке выбора вариантов.
Если вариант общий для всех, ему можно задать доступность. Это зависит от прав. Пользователь без прав увидит только свои варианты.
Не перезаписывайте стандартный вариант. Сохраняйте свой под новым именем, иначе при следующем обновлении может возникнуть путаница.
Текстовые условия и маски поиска
Текстовые поля фильтруются сложнее всего. Вот что стоит знать.
| Вид сравнения | Что делает | Пример запроса |
|---|---|---|
| Равно | Точное совпадение строки | Иванов найдёт только «Иванов» |
| Содержит | Фрагмент в любом месте | ива найдёт «Иванов», «Сивак» |
| Начинается с | Совпадение по началу строки | ООО найдёт все «ООО …» |
| Не содержит | Исключает фрагмент | Убрать «Архив» |
| Подобно | Шаблон со спецсимволами | ООО %Север% |
В шаблонах «Подобно» применяют спецсимволы языка запросов:
%заменяет любое количество любых символов;_заменяет ровно один символ;- квадратные скобки позволяют указать набор допустимых символов в одной позиции.
Допустим, нужно найти все накладные, в номере которых после дефиса любые две цифры: шаблон ТД-__. Подчёркивание здесь одно на каждый символ.
Регистр букв при сравнении строк в 1С обычно не учитывается. Если искомая строка содержит пробелы по краям, результат может удивить: условие «Равно» сравнивает буквально. Для чистоты данных лучше сначала убрать лишние пробелы в самом справочнике.
Массовое изменение найденных элементов делайте только после проверки выборки на нескольких записях. Отбор показывает записи, но не защищает от ошибки при их групповой обработке. Для рабочей базы заранее сделайте резервную копию.
Если отбор тормозит: как ускорить
Простые отборы по значению работают мгновенно. Тормозят чаще всего большие журналы и отчёты за длинный период. Что помогает:
- ⚡ Сузьте период. Выборка за месяц читает на порядок меньше данных, чем за год.
- ⚡ Предпочитайте «Равно», «В списке» и «Начинается с» условию «Содержит». Поиск фрагмента в середине строки не может опереться на индекс и перебирает всё.
- ⚡ Ставьте условие по самому «узкому» полю первым: организация или контрагент ограничивают выборку сильнее, чем статус.
- ⚡ Не используйте отбор по вычисляемым значениям там, где есть обычный реквизит.
- ⚡ В файловой базе тормозит и сеть. Если база лежит на общей папке, большие отчёты формируйте на машине, ближе к файлам базы, или переходите на клиент-серверный вариант.
Для списков с миллионами строк разница видна сразу. Если отчёт формируется минутами, проблема обычно не в отборе, а в самом отчёте: слишком много группировок и полей. Уберите лишнее на вкладке полей, оставьте нужное.
Что может пойти не так
- ❌ Отбор «не работает », список пуст. Проверьте противоречащие условия внутри группы «И»: один реквизит не может быть равен двум разным значениям одновременно.
- ❌ Отбор по справочнику ничего не находит, хотя элемент есть. Возможно, он лежит внутри группы, а вы выбрали вид «Равно» по группе. Используйте «В группе».
- ❌ Условие по дате не срабатывает. Проверьте, что сравниваете дату с датой, и учтите время: документ от 31 числа в 15:00 не попадёт в «до 31 числа 00:00».
- ❌ Отбор «слетел» после закрытия формы. Так и задумано: временные условия не сохраняются. Сохраняйте настройки списка или вариант отчёта.
- ❌ Нужное поле недоступно в отборе. Разработчик ограничил доступные поля. Решение: другой отчёт или обращение к программисту.