Нужен ли полнотекстовый поиск для работы динамических списков в 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Понимание механизмов поиска в динамических списках

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

  1. Стандартный поиск (поиск по шаблону): Использует оператор LIKE в SQL-запросе. Система сканирует таблицу, подбирая значения, соответствующие введенному шаблону. Это нагружает СУБД, особенно при поиске по большим объемам данных.
  2. Полнотекстовый поиск (ПТП): Работает на основе заранее сформированного индекса. Это позволяет мгновенно получать результаты по сложным строкам, но требует постоянной работы фоновых заданий РегламентныеЗадания по обновлению индекса.

Когда стоит включать полнотекстовый поиск?

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

Аргументы против использования ПТП в журналах документов

Анализируя работу системы, выясним причины, почему не рекомендуется включать полнотекстовый поиск для всех подряд объектов:

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

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

  1. Поиск будет выполняться только по тем колонкам, которые отображаются в ДинамическийСписок.
  2. Все объекты, участвующие в запросе, должны поддерживать полнотекстовое индексирование.
  3. Если в поиске участвуют ссылочные поля, в индекс должны быть добавлены поля их представлений.
  4. Строка поиска разбивается системой на слова (максимум 20 слов) с использованием разделителей (пробелы, табуляция). Система ищет соответствия по ключевым словам.

Рекомендации по оптимизации

Вместо активации ПолнотекстовыйПоиск для всего подряд, проанализируем альтернативные способы оптимизации работы списков:

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

2. Использование отборов: Приучайте пользователей использовать УстановитьОтбор для конкретных колонок (например, нажатие Alt+F на нужной колонке). Это наиболее быстрый и «легкий» способ фильтрации в 1С.

3. Мониторинг регламентных заданий: Если вы все же используете ПТП, обязательно настройте РегламентныеЗадания так, чтобы они не мешали пиковым нагрузкам пользователей. Рекомендуем выносить обновление индексов на периоды низкой активности.

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

← На главную