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