Не работает поиск в 1С 8.3 Бухгалтерия: как восстановить

· 10 мин

Содержание

Бухгалтер вбивает в справочнике «Ромаш» — список пустой. Хотя ООО «Ромашка» заведено ещё в прошлом квартале и по нему проходят платежи. Через минуту выясняется: в 1С не работает поиск не только по контрагенту — не находятся ни документы по сумме, ни номенклатура по артикулу.

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

Почему слетел поиск в 1С: главные причины

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

Типичные виновники:

  • 🔄 Индекс устарел. Записи добавили, а индекс не пересобрался.
  • ⛔ Полнотекстовый поиск отключён в настройках базы.
  • 🆕 Обновление платформы или конфигурации. После апдейта индекс часто приходится собирать заново.
  • 🔍 Лишний отбор в списке — самая частая «ложная поломка».
  • 🔐 Права доступа и RLS — запись есть, но пользователь её не видит.
  • 🧩 Нарушена целостность базы — битые ссылки, «висячие» объекты.
  • 🗂 Раздутые файлы индекса на большой базе.
  • 💾 Нет места на диске сервера или в каталоге файловой базы.

Сначала проверьте на другом пользователе с полными правами. Если у него всё ищется — дело не в индексе, а в настройках конкретного рабочего места.

Как устроен индекс ППД и где он лежит

Полнотекстовый поиск не роется в таблицах при каждом нажатии клавиши. Он обращается к отдельному словарю — индексу полнотекстового поиска данных.

Где хранятся файлы индекса

  • Файловая база — подкаталог 1Cv8FTxt рядом с 1Cv8.1CD.
  • Клиент-серверная база — на диске сервера 1С, в каталоге кластера (srvinfo\reg_1541\<база>\1Cv8FTxt).

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

Версия индекса 1 и 2

Начиная с платформы 8.3.22 доступна вторая версия механизма ППД. Она быстрее строит индекс и меньше нагружает сервер на больших базах. Переключается в конфигураторе, в свойствах конфигурации.

При смене версии индекс собирается с нуля. На базе в 50–100 ГБ первая сборка идёт от получаса до нескольких часов — планируйте на выходные.

Быстрая диагностика: с чего начать

Не спешите запускать тестирование базы . Сопоставьте симптом с причиной — в большинстве случаев хватает пересборки индекса или снятия отбора.

Диагностика: выберите симптом

Шаг 1. Обновление индексов полнотекстового поиска данных

Самый частый и безопасный способ. Закрывает примерно восемь случаев из десяти.

  1. Откройте Администрирование → Обслуживание → Полнотекстовый поиск данных.
  2. Убедитесь, что переключатель в положении «Включён».
  3. Нажмите «Обновить индекс».
  4. Дождитесь окончания — на базе с сотнями тысяч документов это минуты, а не секунды.
  5. Проверьте поиск в проблемном справочнике.

Если поиск по-прежнему пуст — делайте полную переиндексацию: «Очистить индекс », затем «Обновить индекс». Частичное обновление не лечит повреждённый словарь, оно только дописывает в него новые записи.

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

В конфигураторе есть та же операция на уровне платформы — обработка «Управление полнотекстовым поиском». Ею пользуются, когда интерфейс конфигурации недоступен или база в аварийном состоянии.

Шаг 2. Автоматическое обновление индекса регламентным заданием

Чтобы поиск не слетал снова, обновление индекса надо автоматизировать. За это отвечает регламентное задание «Обновление индекса ППД».

Где смотреть: Администрирование → Обслуживание → Регламентные и фоновые задания.

Проверьте три пункта:

  • ✅ задание включено (не «отключено» после обновления конфигурации);
  • ✅ интервал разумный — обычно каждые 60–300 секунд;
  • ✅ в клиент-серверной базе расписание задаёт администратор кластера, а не пользователь.

В файловой базе регламентные задания выполняются только при запущенном сеансе 1С. Если вечером все выходят из программы, за ночь индекс отстаёт. Вариант — держать один фоновый сеанс или обновлять индекс руками по утрам.

Ещё одна ловушка клиент-сервера: если в свойствах информационной базы кластера стоит галка «Блокировка регламентных заданий включена», индекс не обновится никогда. Галку ставят на время обновления и часто забывают снять.

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

Отдельный сюжет, с которым приходят чаще всего: 1С не ищет контрагентов в поиске, а всё остальное находится. Здесь индекс чаще невиновен.

Лишний отбор и параметры подбора

Список запоминает настройки пользователя. Достаточно один раз отфильтровать контрагентов по группе или признаку «Покупатель» — и ввод по строке будет искать только внутри этого среза.

Что сделать:

  1. В форме справочника нажмите Ещё → Настроить список.
  2. На закладке «Отбор» снимите все условия.
  3. Там же проверьте «Группировка» и «Условное оформление».
  4. Верните стандартные настройки: Ещё → Установить стандартные настройки.

Отдельно проверьте режим просмотра. Если справочник открыт «Иерархическим списком» и вы стоите внутри группы «Поставщики», ввод по строке ищет только в этой группе. Переключите на Ещё → Режим просмотра → Список.

А при подборе из документа работает не полнотекстовый поиск, а поиск по строке в первых символах наименования. Введёте «омашка» — ничего не найдёте, потому что наименование начинается с «Р».

Синонимы, кавычки и варианты написания

Полнотекстовый поиск ищет по словоформам, но не угадывает то, чего в базе нет.

Что ввелиЧто в базеНайдёт
РомашкаООО “Ромашка”✅ да
ромашкООО “Ромашка”✅ да, часть слова с конца
ашкаООО “Ромашка”❌ нет, середина слова
ООО РомашкаООО «Ромашка»✅ да
Ромашка+Ромашка-Плюс❌ нет, символ как разделитель
ИНН 7701234567тот же ИНН✅ да, если ИНН в индексе

Практические приёмы:

  • 🔤 вводите одно слово из наименования, а не всю фразу с кавычками и «ООО»;
  • 🧮 по ИНН ищите полный номер, без пробелов;
  • ✂️ вводите корень слова — окончание индекс подберёт сам;
  • 🚫 не вставляйте в строку скопированный текст с лишними пробелами и неразрывными символами.

Права доступа и ограничения видимости

Полнотекстовый поиск всегда учитывает права. Если у роли нет права «Чтение» на справочник «Контрагенты» или RLS ограничивает видимость по организации, пользователь просто не увидит запись. Ошибки при этом не будет — будет пустой список.

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

Кэш клиента и технические сбои

Клиентский кэш хранит формы и настройки. После обновления конфигурации он иногда конфликтует с новой версией: формы открываются, а поиск в них не отрабатывает.

Лечится так:

  1. Закройте все сеансы 1С (проверьте, что процесс 1cv8.exe снят в диспетчере задач).
  2. Удалите содержимое каталогов кэша:
%LOCALAPPDATA%\1C\1cv8
%APPDATA%\1C\1cv8
  1. Запустите 1С заново — кэш соберётся сам.

Каталог 1cv8 в %APPDATA% хранит также список баз и пользовательские настройки. Перед удалением скопируйте файл ibases.v8i, иначе придётся заново прописывать все базы.

Для клиент-сервера добавьте перезапуск рабочих процессов кластера. При аварийном завершении процесса rphost часть фоновых заданий, включая индексацию, умирает вместе с ним.

Проверка логической и ссылочной целостности базы

Индекс пересобрали, отборы сняли, права проверили — а поиск не восстановился. Значит, повреждены сами данные.

Вариант 1. Тестирование и исправление в конфигураторе:

  1. Запустите базу в режиме Конфигуратор.
  2. Меню Администрирование → Тестирование и исправление.
  3. Отметьте Проверку логической целостности и Проверку ссылочной целостности.
  4. Режим — «Исправлять обнаруженные ошибки», для битых ссылок выберите «Очищать ссылки» осознанно.
  5. Запустите и сохраните отчёт.

Вариант 2. Утилита chdbfl.exe — только для файловой базы:

  • лежит в каталоге платформы, например C:\Program Files\1cv8\8.3.25.1394\bin\chdbfl.exe;
  • укажите путь к файлу 1Cv8.1CD;
  • поставьте галку «Исправлять обнаруженные ошибки» и запустите.

Перед любым тестированием и исправлением делайте резервную копию базы. И chdbfl, и «Тестирование и исправление» меняют данные необратимо.

Для клиент-серверной базы chdbfl не применяется — там проверку целостности делают средствами СУБД и штатным тестированием.

Поиск работает, но тормозит

«Тормозит поиск» — это три разные проблемы, и лечатся они по-разному.

СимптомПричинаЧто делать
Долгая пауза при первом вводеИндекс обновляется в момент запросаНастроить регламентное задание на частый интервал
Тормозит у всех и постоянноРаздутый индекс, медленный дискОчистка + полная переиндексация, перенос каталога на SSD
Тормозит вся база, не только поискНагрузка на СУБД, нехватка памятиРазбираться с сервером, индекс тут не при чём

Отдельный случай — каталог базы растёт сам по себе. Файлы 1Cv8FTxt после множества частичных обновлений копят мусор и могут занять десятки гигабайт. Полная переиндексация уменьшает объём в разы.

После свёртки базы индекс остаётся старым: он всё ещё помнит удалённые документы. Поиск выдаёт ссылки на несуществующие объекты. Решение одно — очистить и собрать индекс заново.

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

  • ❌ Жмут «Обновить индекс» десять раз подряд. Частичное обновление не лечит повреждённый индекс, нужна очистка.
  • ❌ Запускают переиндексацию в разгар рабочего дня. База встаёт у всех, а не только у того, у кого не ищется.
  • ❌ Сразу лезут в «Тестирование и исправление». Тяжёлая операция ради проблемы, которую снимает сброс отбора.
  • ❌ Чистят кэш без копии ibases.v8i. Потом полдня возвращают список баз.
  • ❌ Не смотрят свободное место. Индекс не собирается на диске с 200 МБ остатка, и никто об этом не предупредит.
  • ❌ Путают полнотекстовый поиск и поиск по строке в подборе. Это разные механизмы с разной логикой.

Если не помогло

Индекс пересобран, целостность проверена, права в порядке, а в 1С поиск по-прежнему не работает:

  • 🔧 перезапустите службу сервера 1С и рабочие процессы кластера;
  • 🧹 удалите каталог 1Cv8FTxt вручную при остановленной базе и соберите индекс заново;
  • 💽 проверьте место на диске и права доступа службы сервера к каталогу базы;
  • 🆙 обновите платформу до актуального релиза — в старых версиях были известные баги ППД;
  • 🛠 выгрузите базу в .dt и загрузите в новую пустую — это лечит скрытые повреждения структуры;
  • 📴 как временная мера на аварийной базе — отключите полнотекстовый поиск совсем: списки и отчёты продолжат работать, исчезнет только строка поиска.

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

Если ничего не сработало, причина обычно на уровне СУБД или диска. Дальше нужен специалист по сопровождению 1С с доступом к серверу.

Как предотвратить, чтобы поиск не слетал

Короткий чек-лист снимает большинство повторных сбоев.

Профилактика: поиск всегда работает
Выполнено: 0 / 7

Частые вопросы

Почему в 1С 8.3 Бухгалтерия не работает поиск в справочниках?
Чаще всего устарел или отключился индекс полнотекстового поиска. Обновите его: Администрирование → Обслуживание → Полнотекстовый поиск данных.
Слетел поиск в 1С после обновления — как вернуть?
Пересоберите индекс полностью: сначала «Очистить индекс», затем «Обновить индекс». Заодно проверьте, что регламентное задание обновления ППД не отключилось при апдейте.
В 1С не работает поиск по контрагенту, остальное ищется. Почему?
Скорее всего в списке остался отбор или вы стоите внутри группы иерархического списка. Снимите отбор через Ещё → Настроить список и переключите режим просмотра на «Список».
1С не ищет контрагентов в поиске у одного пользователя. Что проверить?
Права доступа и RLS. Если роль не даёт чтение справочника или ограничивает видимость по организации, поиск вернёт пустой список без ошибки.
Обновил индекс, а поиск всё равно пустой. Что дальше?
Проверьте целостность базы: «Тестирование и исправление» в конфигураторе либо chdbfl.exe для файловой базы. Только после резервной копии.
Как сделать, чтобы поиск не слетал постоянно?
Держите включённым регламентное задание «Обновление индекса ППД» с интервалом 60–300 секунд. В файловой базе оно работает лишь при запущенном сеансе 1С.