К статье
Практический материал

Администрирование · 11 мин

Как восстановить поиск в 1С: пошаговое руководство

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

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

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

Перед началом работ важно понять, какой именно поиск не работает: полнотекстовый (поиск по строке во всех данных), поиск в динамических списках или поиск по подстроке в полях ввода. У каждого из них свои причины сбоев и свои способы восстановления.

Определяем, какой поиск сломался

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

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

Поиск не находит новые документыИндекс устарел

Когда последний раз обновлялся полнотекстовый индекс

Поиск не находит ничего вообщеИндекс пуст или повреждён

Включён ли полнотекстовый поиск в настройках

Ищут одни пользователи, у других работаетПроблема в правах или кеше клиента

Роли пользователя и очистка кеша

Не работает подбор в полях вводаНастройки динамического списка или поиска по подстроке

Режим получения данных выбора

Проверяем, включён ли полнотекстовый поиск

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

В конфигураторе проверить состояние можно через меню «Администрирование — Полнотекстовый поиск». Откроется окно, где видно, разрешён ли поиск, актуальность индекса и доступны кнопки «Обновить индекс» и «Очистить индекс». Если поиск запрещён — включите его и сразу запустите обновление индекса.

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

Обновляем полнотекстовый индекс

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

Через конфигуратор путь такой: «Администрирование — Полнотекстовый поиск — Обновить индекс». Платформа просканирует изменённые с момента последнего обновления данные и допишет их в индекс. На небольших базах это занимает секунды или минуты, на крупных — дольше.

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

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

Полная очистка и перестроение индекса

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

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

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

Настраиваем автоматическое обновление индекса

Чтобы поиск не «ломался» снова, настройте регулярное обновление индекса. В типовых конфигурациях в разделе управления поиском есть настройка расписания регламентного задания «Обновление полнотекстового индекса» (точное название зависит от конфигурации). Обычно разумный интервал — от 15 минут до нескольких часов, в зависимости от интенсивности ввода данных.

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

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

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

Когда проблема не в индексе: права, кеш и настройки

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

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

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

Типичные ошибки
01
Очистка индекса без резервной копии — при сбое восстановить данные будет нечем
02
Обновление индекса в рабочее время на файловой базе — пользователей выбрасывает из программы
03
Вывод «поиск сломан» по жалобе одного пользователя без проверки под полными правами — проблема оказывается в правах или кеше
04
Ожидание, что поиск найдёт объект, у которого в метаданных отключено индексирование

Проверяем результат и границы самостоятельной работы

Критерий успешного восстановления простой: поиск по нескольким заведомо существующим объектам разных типов (документ, контрагент, элемент номенклатуры) возвращает корректные результаты, а дата актуальности индекса в настройках близка к текущей. Дополнительно убедитесь, что регламентное задание обновления выполняется по расписанию без ошибок.

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

Контрольные точки

Как проверить результат

Поиск по известному документу
Норма

Документ находится по номеру или тексту

Тревожный признак

Документ не находится после обновления индекса

Дата актуальности индекса
Норма

Близка к текущему времени

Тревожный признак

Отстаёт на дни или недели

Регламентное задание обновления
Норма

Выполняется по расписанию без ошибок в журнале

Тревожный признак

Пропуски запусков или ошибки выполнения

Поиск у разных пользователей
Норма

Работает у всех с учётом их прав

Тревожный признак

Не работает только у отдельных пользователей

Итог

Что важно запомнить

Неработающий поиск в 1С почти всегда лечится обновлением или полной очисткой полнотекстового индекса штатными средствами. Перед любыми действиями делайте резервную копию, после восстановления настройте автоматическое обновление индекса и проверьте результат на нескольких известных объектах.

Часто задаваемые вопросы

Поиск не находит документы, созданные сегодня. Это нормально?

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

Сколько времени занимает полное перестроение индекса?

Зависит от объёма базы и производительности оборудования: на небольших базах — минуты, на крупных клиент-серверных — до нескольких часов. Планируйте операцию на нерабочее время и предупредите пользователей.

Можно ли восстановить поиск без конфигуратора?

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

У одного пользователя поиск работает, у другого нет. В чём причина?

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

Поиск находит не все объекты нужного типа. Что проверить?

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

Опасно ли очищать индекс — не пропадут ли данные?

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