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

Разработка и Конфигурация · 8 мин

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

Где находятся критерии отбора в 1С, как они работают в конфигураторе и режиме предприятия, как создать свой критерий и зачем он нужен.

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

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

Что такое критерий отбора и как он устроен

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

Логика проста: вы передаёте в критерий ссылку, а платформа перебирает все реквизиты из состава и возвращает объекты, где эта ссылка записана. Поэтому качество критерия полностью определяется составом — если забыть включить реквизит «ЗаказКлиента» в документе «Реализация товаров и услуг», реализация не попадёт в список связанных документов, хотя фактически связь есть.

Где находятся критерии отбора в конфигураторе

Откройте конфигуратор и дерево объектов конфигурации (меню «Конфигурация → Открыть конфигурацию»). Критерии отбора расположены в ветке «Общие → Критерии отбора». В типовых конфигурациях (УТ, ERP, Бухгалтерия, Управление торговлей) там уже есть предопределённые критерии: «СвязанныеДокументы», «ДокументыПоКонтрагенту», «ДокументыПоСделке» и другие — набор зависит от конфигурации.

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

Как найти критерий и посмотреть его состав
  1. 1
    Откройте конфигуратор и дерево конфигурации
  2. 2
    Разверните ветку «Общие → Критерии отбора»
  3. 3
    Откройте нужный критерий двойным щелчком
  4. 4
    Перейдите на закладку «Состав» и нажмите кнопку выбора
  5. 5
    Проверьте, какие реквизиты отмечены флажками

Где пользователь видит результат критерия в режиме предприятия

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

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

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

Добавьте новый объект в ветке «Общие → Критерии отбора» через контекстное меню «Добавить». Задайте имя и синоним, затем на закладке «Тип» укажите составной тип данных — перечислите типы ссылок, которые будут участвовать в отборе. Например, для критерия «Документы по договору» типом будет ссылка на справочник «Договоры контрагентов».

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

Производительность и ограничения

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

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

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

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

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

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

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

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

Типичные ошибки
01
Реквизит связи не добавлен в состав критерия — документ не находится
02
Включены реквизиты без индексов — форма критерия открывается с долгой паузой
03
Ожидание сложных условий от критерия — он ищет только по равенству ссылки
04
Забыли добавить команду открытия критерия в формы — пользователь не находит кнопку
Контрольные точки

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

Состав критерия
Норма

Все реквизиты связи отмечены флажками

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

Часть реквизитов отсутствует в списке

Скорость открытия формы
Норма

Список появляется за 1–3 секунды

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

Пауза более 10 секунд на больших базах

Полнота связей
Норма

Из любого документа цепочки видны остальные

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

Связь видна только в одну сторону

FAQ

Чем критерий отбора отличается от отбора в динамическом списке?

Отбор динамического списка работает внутри одной таблицы (одного вида документов или справочника). Критерий отбора объединяет объекты разных видов по общему значению реквизита и показывает их в одной форме. Для разнородных связей нужен именно критерий.

Почему в типовой конфигурации кнопки «Связанные документы» нет в форме?

Команда может быть скрыта настройками формы («Ещё → Изменить форму»), отсутствовать у пользователя из-за прав доступа или не выведена в командную панель конкретной формы. Проверьте права на критерий отбора и состав команд формы.

Можно ли изменить состав типового критерия без снятия конфигурации с поддержки?

Да, через механизм расширений конфигурации: добавьте критерий в расширение и дополните его состав своими реквизитами. Это безопаснее прямого изменения типового объекта и не ломает обновления.

Критерий отбора находит документы, но открывается очень долго. Что делать?

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

Можно ли открыть критерий отбора программно из своей обработки?

Да. Используйте ОткрытьФорму с указанием формы списка критерия и передайте в параметрах структуру отбора по ссылке. Это стандартный способ встроить навигацию по связанным объектам в собственные формы и обработки.

Итог

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

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