Что делать, если в 1С:УНФ перестал работать полнотекстовый поиск после сбоя питания?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой
← На главную

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

Проанализируем ситуацию и первичные симптомы

В случае сбоя питания в файловой базе часто возникает рассинхронизация между основным файлом базы данных 1Cv8.1CD и внешними файлами индекса. Если поиск перестал работать «у всех пользователей без исключений», это явный признак повреждения индексных таблиц или файлов словообразования. Разберем типичную ситуацию: поиск по русским словам работает частично, а по английским (латинице) — только при вводе первых двух символов. Это происходит из-за повреждения морфологических словарей и нарушения логики префиксного поиска.

Шаг 1: Стандартная очистка и обновление индекса через интерфейс

Прежде чем переходить к радикальным мерам, попробуем использовать встроенные инструменты системы. Проанализируем состояние ППД через стандартную обработку.

  1. Перейдем в раздел Администрирование — Общие настройки — Полнотекстовый поиск данных.
  2. Нажмем кнопку Настроить (или Управление поиском).
  3. В открывшемся окне проверим статус индекса. Если указано, что обновление не требуется, но поиск не работает, нажмем кнопку Очистить индекс.
  4. После завершения очистки нажмем Обновить индекс.

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

Шаг 2: Физическое удаление папки индекса 1Cv8FTxt

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

Рассмотрим алгоритм ручной очистки:

  1. Полностью завершим все сеансы работы с базой данных, включая Конфигуратор и фоновые задания.
  2. Зайдем в папку, где физически расположена ваша информационная база (там, где лежит файл 1Cv8.1CD).
  3. Найдем папку с названием 1Cv8FTxt. Именно в ней хранятся данные полнотекстового поиска.
  4. Удалим эту папку целиком. Не беспокойтесь, это безопасно: 1С автоматически создаст её при следующем запуске процесса индексации.
  5. Запустим 1С и снова инициируем Обновить индекс в настройках ППД.

Этот метод гораздо эффективнее, так как исключает влияние «битых» файлов, которые могли остаться после стандартной очистки.

Шаг 3: Проверка целостности базы данных утилитой chdbfl.exe

Хотя полнотекстовый поиск хранится отдельно, его некорректная работа может быть следствием повреждения таблиц внутри самого файла 1Cv8.1CD, которые отвечают за регистрацию изменений для поиска. Разберем, как выполнить проверку:

  1. Создадим резервную копию базы данных (обязательно!).
  2. Запустим утилиту chdbfl.exe (она находится в папке bin установленной платформы 1С).
  3. Выберем файл базы данных и установим галочку «Исправлять обнаруженные ошибки».
  4. После завершения проверки запустим 1С и выполним Тестирование и исправление через Конфигуратор с включенными опциями проверки логической и ссылочной целостности.

Шаг 4: Особенности поиска по коротким словам и латинице

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

Для исправления этой ситуации убедимся, что после полной очистки индекса (Шаг 2) фоновое задание по индексации завершилось успешно. В файловом режиме работы регламентные задания выполняются только в открытом сеансе пользователя. Рекомендуем открыть «Консоль регламентных заданий» и принудительно запустить Обновление индекса ППД, дождавшись его завершения. В качестве альтернативного решения для подбора данных по частям строк и разным раскладкам подойдёт расширение для расширенного поиска объектов в базе 1С.

Шаг 5: Очистка временных файлов (КЭШа) и папки Temp

Иногда причина кроется не в самой базе, а в операционной системе. 1С использует временные папки для построения индексов и дефрагментации. Если в момент выключения света в папке Temp остались заблокированные временные файлы, они могут мешать созданию нового индекса. Рассмотрим, как это исправить:

  1. Очистим локальный кэш пользователя 1С (папки Local\1C и Roaming\1C).
  2. Очистим системную папку временных файлов %TEMP% в Windows.
  3. Перезагрузим компьютер, чтобы снять все возможные блокировки файлов файловой системой.

Итоговые рекомендации

Если после всех манипуляций проблема сохраняется, а база имеет небольшой объем, можно воспользоваться методом «выгрузки-загрузки». Проанализируем этот процесс:

  1. Выгрузим информационную базу в файл .dt.
  2. Создадим новую пустую информационную базу.
  3. Загрузим данные из .dt в новую базу.
  4. В новой базе заново запустим построение полнотекстового индекса.

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

← На главную