Проанализируем распространенную ситуацию: при вводе данных в поле быстрого фильтра в списке (например, части артикула или штрихкода в справочнике номенклатуры) система не находит нужные строки, хотя мы уверены, что они существуют. Список просто становится пустым. Особенно часто это проявляется при поиске по числовым последовательностям или части строки не с самого начала. Выясним, почему это происходит и как это исправить.
В большинстве случаев корень проблемы кроется в механизме полнотекстового поиска (ППД). Когда эта функция включена в базе 1С, быстрый фильтр в динамических списках для ускорения работы обращается не напрямую к данным таблиц, а к специальному, заранее построенному индексу. Это позволяет мгновенно находить информацию даже в огромных базах.
Однако, если этот индекс по каким-либо причинам поврежден, неактуален или построен с ошибками, возникает парадокс: данные в базе есть, а в индексе их нет. Система обращается к "сломанному" индексу, не находит там совпадений и возвращает пустой результат. Именно поэтому фильтр перестает работать адекватно.
Рассмотрим несколько способов решения этой проблемы, от простого к более сложному.
Это самый простой способ проверить нашу гипотезу и быстро вернуть работоспособность фильтра. Отключив ППД, мы заставим систему использовать стандартный, более медленный, но предсказуемый механизм поиска напрямую по данным (аналог оператора LIKE в SQL).
Если после этого поиск заработал корректно, значит, причина точно в индексе ППД. Этот способ можно использовать как временное решение, но стоит помнить, что на больших объемах данных поиск по части строки (особенно в середине) может стать заметно медленнее.
Чтобы восстановить и скорость, и корректность поиска, необходимо полностью перестроить индекс ППД. Простое "обновление" индекса не всегда помогает, если он был серьезно поврежден. Правильная процедура выглядит так:
Также убедитесь, что регламентное задание Обновление индекса ППД включено и выполняется регулярно без ошибок. Это обеспечит актуальность индекса в будущем.
Если даже после полной перестройки индекса проблема со временем возвращается, это может указывать на более глубокие проблемы с целостностью данных в самой информационной базе. Поврежденные данные могут приводить к тому, что индекс ППД постоянно строится с ошибками.
В этом случае может помочь процедура "Тестирование и исправление" (ТиИ).
ВАЖНО: Перед запуском тестирования и исправления обязательно сделайте полную резервную копию вашей информационной базы. Процедура вносит необратимые изменения в данные, и в случае непредвиденных проблем копия будет единственным способом все восстановить.
После выполнения ТиИ рекомендуется заново полностью перестроить индекс полнотекстового поиска, как описано в решении №2.