Почему перестал работать поиск в списке контрагентов в 1С и как это исправить?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

В этой статье мы подробно проанализируем причины возникновения такого сбоя, рассмотрим пошаговый порядок полного перестроения полнотекстового индекса, а также узнаем, как правильно настроить регламентные задания, чтобы избежать подобных проблем в будущем.

Выясним причину сбоя полнотекстового поиска

Полнотекстовый поиск данных (ППД) в платформе «1С:Предприятие» строится на основе структуры метаданных конкретной информационной базы. Когда из конфигурации удаляются какие-либо объекты, ссылки на них в ранее сформированном индексе полнотекстового поиска становятся недействительными.

В результате весь индекс переходит в рассинхронизированное или повреждённое состояние. Из-за этого платформа перестаёт корректно обрабатывать поисковые запросы даже по тем справочникам (в нашем случае — Контрагенты), которые вообще не затрагивались при изменении конфигурации. Обычная очистка пользовательского кэша в такой ситуации не помогает, так как проблема кроется на стороне сервера базы данных и его служебных индексов.

Пошаговый алгоритм решения через управление полнотекстовым поиском

Рассмотрим последовательность действий для восстановления работы поиска через встроенные механизмы платформы.

  1. Откроем режим Все функции (в актуальных релизах платформы — Функции для технического специалиста) или перейдем в раздел Администрирование → Общие настройки → Полнотекстовый поиск данных.
  2. Выберем стандартную обработку Управление полнотекстовым поиском.
  3. Выполним полную очистку индекса. Нажмем кнопку Очистить индекс. Это действие удалит старые и поврежденные служебные файлы индекса, содержащие неактуальные ссылки на удаленные объекты.
  4. Нажмем кнопку Обновить индекс. Платформа заново проиндексирует данные базы с учётом актуальной структуры метаданных.
  5. Выполним команду Проверить индекс и убедимся, что статус изменился на «Обновление не требуется».

После выполнения этих шагов проверим работу быстрого поиска в списке контрагентов — поиск должен начать функционировать в штатном режиме.

Что делать, если очистить или обновить индекс не получается

Иногда при попытке очистки или обновления индекса система может выдавать ошибку вида: «Очистка индекса невозможна, пока идет его построение» или просто застывать. Проанализируем способы устранения таких задержек:

1. Завершение сеансов и фоновых заданий
Для успешного перестроения индекса необходимо временно завершить активные сеансы пользователей и приостановить выполнение регламентных и фоновых заданий (или перезапустить службу сервера 1С:Предприятия), после чего повторить процедуру очистки через интерфейс.

2. Физическое удаление файлов индекса на диске
Если интерактивно очистить индекс не удается, разберем способ ручной очистки:

  1. Остановим службу сервера «1С:Предприятие» (или завершим работу с файловой базой).
  2. Найдем в каталоге базы данных служебную папку 1Cv8FTxt.
  3. Удалим всё содержимое этой папки (файлы с расширением .ftindex).
  4. Запустим 1С и заново выполним команду Обновить индекс в меню управления полнотекстовым поиском.

Настройка автоматической актуализации через регламентные задания

Чтобы не выполнять указанные выше действия вручную каждый раз, когда данные обновляются, проверим наличие и активность специализированных регламентных заданий. Для корректной поддержки полнотекстового поиска используются **два** ключевых задания:

  1. Обновление индекса ППД — выполняет добавление новых и измененных данных в индекс. Оптимальный интервал запуска — каждые 1–5 минут.
  2. Слияние индекса ППД — объединяет накопленные дельта-индексы с основным массивом. Задание рекомендуется запускать 1 раз в сутки (обычно в ночное время). Без слияния со временем поиск начинает работать медленнее.

Важное замечание для файловых баз: В файловом режиме регламентные задания не выполняются автоматически в фоновом режиме, если не запущен специальный сеанс для обработки фоновых заданий. В этом случае обновление индекса необходимо периодически выполнять вручную либо настраивать выделенный клиентский сеанс.

Альтернативные способы диагностики и настройки

Если очистка и обновление индекса не дали результата, разберем дополнительные параметры платформы:

1. Проверка свойств объекта в Конфигураторе
Откроем Конфигуратор и найдем справочник Контрагенты. Проверим значение свойства ИспользоватьПолнотекстовыйПоиск. Оно должно находиться в значении Авто или Использовать.

2. Тестирование и исправление (ТиИ)
В Конфигураторе перейдем в меню Администрирование → Тестирование и исправление. Установим флаг Реиндексация таблиц информационной базы и выполним процедуру.

3. Отключение полнотекстового поиска (переход на SQL-поиск)
Если полнотекстовый поиск вызывает постоянные сбои, его можно отключить в настройках программы, сняв флаг Использовать полнотекстовый поиск данных. В этом случае быстрый поиск в динамических списках перейдет на стандартный поиск по SQL-запросу с использованием оператора ПОДОБНО. Поиск будет работать независимо от состояния индексов ППД, хотя на очень больших объемах данных это может незначительно снизить скорость работы.

← На главную