Администрирование · 11 мин
Как добавить и настроить поиск в 1С
Как добавить поиск в 1С: глобальный поиск по меню, полнотекстовый поиск по данным, поиск в формах списков и по штрихкоду. Пошаговая настройка и типичные ошибки.
Поиск в 1С может означать разные вещи: поиск функций в меню «Все функции», поиск по данным справочников и документов, полнотекстовый поиск по текстам и файлам, а также поиск, который разработчик добавляет в формы прикладного решения. Подход отличается в зависимости от того, работаете вы как пользователь типовой конфигурации, администратор или разработчик, дорабатывающий конфигурацию.
В типовых конфигурациях на платформе 1С:Предприятие 8.3 большая часть механизмов поиска уже встроена: строка глобального поиска в шапке окна, динамический поиск по части строки в списках, полнотекстовый поиск. Проблемы обычно сводятся к тому, что нужный механизм отключен, индекс устарел или пользователь не знает, где искать. Эти случаи решаются настройкой без изменения конфигурации.
Если же требуется добавить собственное поле поиска в форму, реализовать поиск по штрихкоду или по произвольному сочетанию реквизитов — потребуется доработка в конфигураторе. Ниже разобраны все сценарии: от включения полнотекстового поиска до программной реализации, с проверкой результата и типичными ошибками.
Какие виды поиска существуют в 1С
Прежде чем настраивать, определите, какой именно поиск нужен. В платформе их несколько, и они решают разные задачи:
- Глобальный поиск по функциям — строка в правом верхнем углу главного окна, ищет команды меню, разделы, документы и элементы справочников по началу названия.
- Поиск в форме списка — поле поиска над таблицей справочника или документов, фильтрует по представлению и указанным полям.
- Полнотекстовый поиск — ищет слова внутри текстовых реквизитов, комментариев и приложенных файлов; требует включения и построения индекса.
- Поиск по строке при вводе — автоподбор при заполнении полей (например, контрагента в документе).
- Программный поиск — запросы и методы вроде
НайтиПоКоду,НайтиПоНаименованию, которые разработчик использует в коде.
Ошибка выбора механизма — частая причина «поиск не работает». Например, пользователь ищет слово из комментария к заказу через строку в форме списка — она ищет только по номеру и представлению, поэтому ничего не находит. Для поиска по содержимому нужен именно полнотекстовый поиск.
Как включить полнотекстовый поиск по данным
В типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP и другие на БСП) полнотекстовый поиск включается из пользовательского режима. Откройте раздел «Администрирование» → «Обслуживание» или «Поиск» (точное расположение зависит от конфигурации) и установите флажок «Использовать полнотекстовый поиск». После этого запустите обновление индекса кнопкой «Обновить индекс».
Первое построение индекса в большой базе может занять продолжительное время — от минут до часов, в зависимости от объема данных. Выполняйте его в нерабочее время или настройте регламентное задание обновления индекса, чтобы новые документы попадали в поиск автоматически. Пока индекс не построен, поиск вернет неполные результаты или ничего не найдет.
- 1Откройте «Администрирование» → «Поиск» (или «Обслуживание»)
- 2Установите флажок использования полнотекстового поиска
- 3Нажмите «Обновить индекс» и дождитесь завершения
- 4Настройте регламентное задание обновления индекса
- 5Проверьте поиск по слову из комментария документа
Количество объектов, включенных в индекс, регулируется настройками конфигурации: не все справочники и документы индексируются по умолчанию. Если нужный вид объектов не находится, проверьте, входит ли он в состав полнотекстового поиска — это задается в свойствах объекта метаданных в конфигураторе.
Как пользоваться глобальным поиском и поиском в списках
Строка глобального поиска в шапке окна работает без настройки: начните вводить название — программа покажет команды меню, разделы и данные. Вводить нужно начало слова, не середину: «поступ» найдет «Поступление товаров», а «тупление» — нет. Это ограничение механизма поиска по началу строки.
В формах списков поиск обычно доступен через кнопку «Найти» (или Ctrl+F) и поле поиска над таблицей. В настройках списка можно выбрать, по каким колонкам искать: по умолчанию — по представлению, но часто полезно добавить поиск по коду, артикулу, ИНН. Для этого откройте «Еще» → «Настроить список» или используйте расширенный поиск, где доступны произвольные условия по реквизитам.
Для поиска контрагента по ИНН или номенклатуры по артикулу удобнее не листать список, а вводить значение прямо в поле ввода документа: платформа выполнит автоподбор. Если автоподбор не срабатывает, проверьте свойства поля — возможно, для него отключен поиск по строке или задан неподходящий способ поиска.
Как добавить поле поиска в форму списка в конфигураторе
Если типового поиска недостаточно — например, нужно искать сразу по нескольким реквизитам одной строкой — используется динамический список с произвольным запросом. В конфигураторе откройте форму списка, в свойствах реквизита-списка установите «Произвольный запрос» и добавьте в текст запроса условие с параметром:
ГДЕ
(Номенклатура.Наименование ПОДОБНО &СтрокаПоиска
ИЛИ Номенклатура.Артикул ПОДОБНО &СтрокаПоиска)
Затем добавьте на форму поле ввода «СтрокаПоиска», в его обработчике «ПриИзменении» установите параметр списка и обновите данные:
Список.Параметры.УстановитьЗначениеПараметра("СтрокаПоиска", "%" + СтрокаПоиска + "%");
Учтите, что такая доработка требует режима поддержки с возможностью изменения либо вынесения в расширение конфигурации. Расширение — предпочтительный путь для типовых конфигураций: оно не нарушает поддержку и не усложняет обновления. Перед доработкой сделайте копию базы и проверьте работу на тестовом контуре.
Поиск по штрихкоду и ввод по строке
Отдельный частый сценарий — поиск номенклатуры сканером штрихкода. В типовых торговых конфигурациях он встроен: при подключенном сканере ввод штрихкода в документе автоматически находит товар. Если поиск не срабатывает, проверьте, что штрихкод записан в регистре штрихкодов номенклатуры и что сканер настроен в разделе подключаемого оборудования.
В собственных разработках поиск по штрихкоду реализуется через обработку события ввода и запрос к регистру сведений штрихкодов. Важно обработать ситуацию «не найдено» и «найдено несколько» — иначе пользователь получит необъяснимое поведение формы.
Как проверить, что поиск работает правильно
После настройки проверьте результат на контрольных примерах. Для полнотекстового поиска возьмите слово из комментария недавнего документа (созданного после обновления индекса) и убедитесь, что документ находится. Для списков — проверьте поиск по началу наименования и по дополнительному полю, например ИНН.
Как проверить результат
Документ находится за секунды
Не находится — индекс не построен или объект не включен в поиск
Список фильтруется мгновенно
Заметная пауза — поиск идет по подстроке без индекса
Выпадающий список с вариантами при вводе
Ничего не появляется — отключен поиск по строке
Поведение не изменилось
Поиск пропал — доработка затерта обновлением
Если поиск работает, но медленно — проблема почти всегда в отсутствии индекса по полям поиска или в произвольном запросе динамического списка без ограничений. Проверьте план запроса через технологический журнал или упростите условия, ограничив поиск началом строки.
Ограничения и альтернативы
Полнотекстовый поиск в файловых базах имеет ограничения по производительности и объему индекса; в клиент-серверном варианте он работает стабильнее. Если база большая и поиск критичен, рассмотрите выделенные отчеты с отборами вместо универсального поиска — отбор по конкретному реквизиту всегда быстрее и предсказуемее.
Как выбрать действие
Для интеграционных задач — когда искать нужно из внешней системы — используйте стандартные интерфейсы OData или HTTP-сервисы с собственными запросами. Это отдельная тема, требующая публикации базы на веб-сервере и аккуратной работы с правами доступа.
Что важно запомнить
Большинство задач поиска в типовых 1С решается без доработок: включите полнотекстовый поиск, обновляйте индекс регламентно и используйте глобальный поиск. Собственные механизмы добавляйте только через расширения и обязательно проверяйте скорость на реальных объемах данных.
Частые вопросы о поиске в 1С
Почему полнотекстовый поиск не находит новые документы?
Индекс обновляется не мгновенно, а по расписанию регламентного задания или вручную. Запустите обновление индекса в разделе администрирования и проверьте, что регламентное задание активно и выполняется без ошибок.
Можно ли искать по части слова, а не с начала?
В глобальном поиске и стандартных списках поиск идет по началу строки. Поиск по подстроке возможен в расширенном поиске и полнотекстовом механизме, но в больших списках он работает медленнее, так как не использует индексы СУБД.
Как добавить поиск по ИНН в список контрагентов?
В типовых конфигурациях откройте список контрагентов, используйте кнопку поиска или расширенный поиск и выберите поле ИНН. Если поле недоступно для поиска, добавьте его в настройках списка или через доработку формы в расширении.
Что делать, если после обновления конфигурации пропала доработка поиска?
Доработки, сделанные прямым изменением типовой формы, затираются обновлением. Восстановите изменения из копии и перенесите их в расширение конфигурации — расширения переживают обновления, если не менялась структура заимствованных объектов.
Работает ли полнотекстовый поиск в файловой базе?
Да, механизм доступен и в файловом варианте, но при больших объемах данных построение и обновление индекса может занимать заметное время и блокировать работу. Для крупных баз предпочтителен клиент-серверный вариант.
Как искать по присоединенным файлам, например по тексту сканов?
Полнотекстовый поиск индексирует текстовое содержимое присоединенных файлов поддерживаемых форматов. Скан без распознанного текстового слоя (картинка) по содержимому найден не будет — сначала нужно распознать документ внешними средствами.