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