Не работает поиск в 1С 8.3 Бухгалтерия: как восстановить
Содержание
Бухгалтер вбивает в справочнике «Ромаш» — список пустой. Хотя ООО «Ромашка» заведено ещё в прошлом квартале и по нему проходят платежи. Через минуту выясняется: в 1С не работает поиск не только по контрагенту — не находятся ни документы по сумме, ни номенклатура по артикулу.
Почти всегда причина не в «сломанной базе». Слетел поиск в 1С по одной из трёх причин: устарел индекс полнотекстового поиска, в списке остался чужой отбор или пользователю урезали права на объект. Разберём все варианты по порядку — от безопасных к радикальным.
Почему слетел поиск в 1С: главные причины
Строка поиска в справочниках и журналах работает через полнотекстовый индекс данных (ППД). Пока индекс актуален, 1С находит запись за десятые доли секунды. Как только индекс отстал от данных — поиск молчит.
Типичные виновники:
- 🔄 Индекс устарел. Записи добавили, а индекс не пересобрался.
- ⛔ Полнотекстовый поиск отключён в настройках базы.
- 🆕 Обновление платформы или конфигурации. После апдейта индекс часто приходится собирать заново.
- 🔍 Лишний отбор в списке — самая частая «ложная поломка».
- 🔐 Права доступа и RLS — запись есть, но пользователь её не видит.
- 🧩 Нарушена целостность базы — битые ссылки, «висячие» объекты.
- 🗂 Раздутые файлы индекса на большой базе.
- 💾 Нет места на диске сервера или в каталоге файловой базы.
Сначала проверьте на другом пользователе с полными правами. Если у него всё ищется — дело не в индексе, а в настройках конкретного рабочего места.
Как устроен индекс ППД и где он лежит
Полнотекстовый поиск не роется в таблицах при каждом нажатии клавиши. Он обращается к отдельному словарю — индексу полнотекстового поиска данных.
Где хранятся файлы индекса
- Файловая база — подкаталог
1Cv8FTxtрядом с1Cv8.1CD. - Клиент-серверная база
— на диске сервера 1С, в каталоге кластера (
srvinfo\reg_1541\<база>\1Cv8FTxt).
Отсюда важный вывод: если на диске кончилось место, индекс перестаёт обновляться молча — ошибки пользователь не увидит, просто поиск ничего не находит.
Версия индекса 1 и 2
Начиная с платформы 8.3.22 доступна вторая версия механизма ППД. Она быстрее строит индекс и меньше нагружает сервер на больших базах. Переключается в конфигураторе, в свойствах конфигурации.
При смене версии индекс собирается с нуля. На базе в 50–100 ГБ первая сборка идёт от получаса до нескольких часов — планируйте на выходные.
Быстрая диагностика: с чего начать
Не спешите запускать тестирование базы . Сопоставьте симптом с причиной — в большинстве случаев хватает пересборки индекса или снятия отбора.
Администрирование → Обслуживание → Полнотекстовый поиск данных.Ещё → Настроить список) и права на справочник. Если чисто — полная переиндексация.Шаг 1. Обновление индексов полнотекстового поиска данных
Самый частый и безопасный способ. Закрывает примерно восемь случаев из десяти.
- Откройте
Администрирование → Обслуживание → Полнотекстовый поиск данных. - Убедитесь, что переключатель в положении «Включён».
- Нажмите «Обновить индекс».
- Дождитесь окончания — на базе с сотнями тысяч документов это минуты, а не секунды.
- Проверьте поиск в проблемном справочнике.
Если поиск по-прежнему пуст — делайте полную переиндексацию: «Очистить индекс », затем «Обновить индекс». Частичное обновление не лечит повреждённый словарь, оно только дописывает в него новые записи.
Первая сборка после долгого простоя сильно грузит сервер и дисковую подсистему. Запускайте её в нерабочее время, когда в базе нет пользователей.
В конфигураторе есть та же операция на уровне платформы — обработка «Управление полнотекстовым поиском». Ею пользуются, когда интерфейс конфигурации недоступен или база в аварийном состоянии.
Шаг 2. Автоматическое обновление индекса регламентным заданием
Чтобы поиск не слетал снова, обновление индекса надо автоматизировать. За это отвечает регламентное задание «Обновление индекса ППД».
Где смотреть: Администрирование → Обслуживание → Регламентные и фоновые задания.
Проверьте три пункта:
- ✅ задание включено (не «отключено» после обновления конфигурации);
- ✅ интервал разумный — обычно каждые 60–300 секунд;
- ✅ в клиент-серверной базе расписание задаёт администратор кластера, а не пользователь.
В файловой базе регламентные задания выполняются только при запущенном сеансе 1С. Если вечером все выходят из программы, за ночь индекс отстаёт. Вариант — держать один фоновый сеанс или обновлять индекс руками по утрам.
Ещё одна ловушка клиент-сервера: если в свойствах информационной базы кластера стоит галка «Блокировка регламентных заданий включена», индекс не обновится никогда. Галку ставят на время обновления и часто забывают снять.
Почему в 1С не работает поиск по контрагенту
Отдельный сюжет, с которым приходят чаще всего: 1С не ищет контрагентов в поиске, а всё остальное находится. Здесь индекс чаще невиновен.
Лишний отбор и параметры подбора
Список запоминает настройки пользователя. Достаточно один раз отфильтровать контрагентов по группе или признаку «Покупатель» — и ввод по строке будет искать только внутри этого среза.
Что сделать:
- В форме справочника нажмите
Ещё → Настроить список. - На закладке «Отбор» снимите все условия.
- Там же проверьте «Группировка» и «Условное оформление».
- Верните стандартные настройки:
Ещё → Установить стандартные настройки.
Отдельно проверьте режим просмотра. Если справочник открыт «Иерархическим списком» и вы стоите внутри группы «Поставщики», ввод по строке ищет только в этой группе. Переключите на Ещё → Режим просмотра → Список.
А при подборе из документа работает не полнотекстовый поиск, а поиск по строке в первых символах наименования. Введёте «омашка» — ничего не найдёте, потому что наименование начинается с «Р».
Синонимы, кавычки и варианты написания
Полнотекстовый поиск ищет по словоформам, но не угадывает то, чего в базе нет.
| Что ввели | Что в базе | Найдёт |
|---|---|---|
Ромашка | ООО “Ромашка” | ✅ да |
ромашк | ООО “Ромашка” | ✅ да, часть слова с конца |
ашка | ООО “Ромашка” | ❌ нет, середина слова |
ООО Ромашка | ООО «Ромашка» | ✅ да |
Ромашка+ | Ромашка-Плюс | ❌ нет, символ как разделитель |
ИНН 7701234567 | тот же ИНН | ✅ да, если ИНН в индексе |
Практические приёмы:
- 🔤 вводите одно слово из наименования, а не всю фразу с кавычками и «ООО»;
- 🧮 по ИНН ищите полный номер, без пробелов;
- ✂️ вводите корень слова — окончание индекс подберёт сам;
- 🚫 не вставляйте в строку скопированный текст с лишними пробелами и неразрывными символами.
Права доступа и ограничения видимости
Полнотекстовый поиск всегда учитывает права. Если у роли нет права «Чтение» на справочник «Контрагенты» или RLS ограничивает видимость по организации, пользователь просто не увидит запись. Ошибки при этом не будет — будет пустой список.
Проверка за минуту: зайдите тем же пользователем в справочник и попробуйте открыть контрагента через любой его документ. Не открывается или пишет Недостаточно прав — вопрос к профилю доступа, а не к индексу.
Кэш клиента и технические сбои
Клиентский кэш хранит формы и настройки. После обновления конфигурации он иногда конфликтует с новой версией: формы открываются, а поиск в них не отрабатывает.
Лечится так:
- Закройте все сеансы 1С (проверьте, что процесс
1cv8.exeснят в диспетчере задач). - Удалите содержимое каталогов кэша:
%LOCALAPPDATA%\1C\1cv8
%APPDATA%\1C\1cv8
- Запустите 1С заново — кэш соберётся сам.
Каталог 1cv8 в %APPDATA% хранит также список баз и пользовательские настройки. Перед удалением скопируйте файл ibases.v8i, иначе придётся заново прописывать все базы.
Для клиент-сервера добавьте перезапуск рабочих процессов кластера. При аварийном завершении процесса rphost часть фоновых заданий, включая индексацию, умирает вместе с ним.
Проверка логической и ссылочной целостности базы
Индекс пересобрали, отборы сняли, права проверили — а поиск не восстановился. Значит, повреждены сами данные.
Вариант 1. Тестирование и исправление в конфигураторе:
- Запустите базу в режиме
Конфигуратор. - Меню
Администрирование → Тестирование и исправление. - Отметьте
Проверку логической целостностииПроверку ссылочной целостности. - Режим — «Исправлять обнаруженные ошибки», для битых ссылок выберите «Очищать ссылки» осознанно.
- Запустите и сохраните отчёт.
Вариант 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С с доступом к серверу.
Как предотвратить, чтобы поиск не слетал
Короткий чек-лист снимает большинство повторных сбоев.
Частые вопросы
Почему в 1С 8.3 Бухгалтерия не работает поиск в справочниках?
Администрирование → Обслуживание → Полнотекстовый поиск данных.Слетел поиск в 1С после обновления — как вернуть?
В 1С не работает поиск по контрагенту, остальное ищется. Почему?
Ещё → Настроить список и переключите режим просмотра на «Список».1С не ищет контрагентов в поиске у одного пользователя. Что проверить?
Обновил индекс, а поиск всё равно пустой. Что дальше?
chdbfl.exe для файловой базы. Только после резервной копии.