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