Поиск в 1С 8.3: от строки в списке до полнотекстового индекса
Содержание
Отдельно устанавливать поиск в 1С не нужно: поиск по спискам встроен в платформу 1С:Предприятие 8.3 и работает сразу. Настраивать приходится только полнотекстовый поиск по всем данным базы. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) он включается в Администрирование → Общие настройки, флажком полнотекстового поиска, после чего нужно построить индекс.
Обычно пользователь жалуется так: «ищу контрагента — 1С ничего не находит» или «поиск висит по минуте». Почти всегда дело в одном из трёх: выбран не тот вид поиска, не обновлён индекс или поиск идёт по полю, по которому список не умеет искать быстро. Ниже каждый вид поиска по порядку: где он находится, как его включить и как заставить работать быстро.
Какие виды поиска есть в 1С 8.3
В программе одновременно живут несколько механизмов. Их часто путают, отсюда половина вопросов «почему не ищет».
| Вид поиска | Где вызывается | Что ищет | Нужна настройка |
|---|---|---|---|
| Поиск в списке | Поле «Поиск» над списком, Ctrl+F | Строки текущего списка | Нет |
| Расширенный поиск | Ещё → Расширенный поиск или Alt+F | Значение в конкретной колонке списка | Нет |
| Полнотекстовый поиск | Поле поиска в шапке окна программы | Все объекты базы, включённые в индекс | Да: включить и построить индекс |
| Поиск запросом | Консоль запросов, отчёты | Что угодно по любым условиям | Нужна обработка и знание языка запросов |
| Поиск в Конфигураторе | Правка → Глобальный поиск | Метаданные, модули, макеты | Нет |
Для повседневной работы бухгалтеру хватает первых трёх. Запросы и Конфигуратор нужны администратору и программисту.
Стандартный поиск в списке: где находится и как работает
Откройте любой список: справочник «Контрагенты», журнал документов , «Номенклатуру». Справа над таблицей есть поле с подсказкой «Поиск (Ctrl+F)». Введите туда часть слова — список отфильтруется.
Как ведёт себя быстрый поиск
- 🔍 Ищет по всем видимым колонкам списка сразу, а не только по наименованию.
- 🔍 Находит слово в любой части строки: «ромаш» найдёт и «ООО Ромашка», и «Ромашка-Сервис».
- 🔍 Регистр не важен.
- 🔍 Работает внутри текущих отборов: если стоит отбор по организации, поиск не выйдет за его пределы.
Сбросить поиск можно крестиком в поле или сочетанием Ctrl+Q. Частая ловушка: человек забыл снять прошлый поиск, открывает список через день и видит две строки вместо двух тысяч. Если список «подозрительно короткий» — проверьте поле поиска и отборы.
Расширенный поиск по одной колонке
Когда нужно искать в конкретном поле — например, по ИНН или по номеру документа — удобнее расширенный поиск:
- Встаньте курсором в нужную колонку списка.
- Нажмите
Alt+Fили выберитеЕщё → Расширенный поиск. - В поле «Где искать» уже стоит выбранная колонка; при необходимости смените её.
- Введите значение в «Что искать».
- Выберите способ: по началу строки, по части строки или точное совпадение.
- Нажмите «Найти».
💡 Для ИНН, кода и номера документа выбирайте «по началу строки» или «точное совпадение». Такой поиск на больших списках работает в разы быстрее, чем поиск по части строки.
Поиск в формах выбора
При заполнении реквизита документа можно не открывать список целиком. Начните вводить наименование прямо в поле — 1С подскажет варианты. Это ввод по строке: он ищет по полям, которые разработчик указал в свойствах объекта (обычно наименование и код, у контрагентов в типовых ещё и ИНН).
Полнотекстовый поиск: как включить и настроить
Полнотекстовый поиск — единственный вид, который действительно нужно «установить». Он ищет слово сразу по всей базе: в справочниках, документах, комментариях, иногда в присоединённых файлах. Работает по заранее построенному индексу, поэтому быстрый, но показывает данные на момент последнего обновления индекса.
Шаг 1. Включить использование полнотекстового поиска
В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11, КА 2, ERP):
- Откройте раздел
Администрирование → Общие настройки. - Найдите группу про полнотекстовый поиск и установите флажок его использования.
- Перейдите по ссылке настройки рядом с флажком — откроется форма управления индексом.
В других конфигурациях и в нетиповых базах воспользуйтесь стандартной обработкой платформы. Включите в Сервис и настройки → Параметры флажок «Отображать команду “Все функции”», затем откройте Все функции → Стандартные → Управление полнотекстовым поиском.
Шаг 2. Построить индекс
В форме управления нажмите кнопку обновления индекса. Первое построение — самое долгое:
| Размер базы | Ориентировочное время первого индексирования |
|---|---|
| До 5 ГБ, файловая | Минуты — десятки минут |
| 10–50 ГБ, клиент-серверная | От получаса до нескольких часов |
| Крупнее 100 ГБ | Может занять ночь |
Цифры примерные: многое решают диск и количество текстовых реквизитов. Первое индексирование большой базы запускайте вечером или в выходной: в это время нагрузка на сервер заметно растёт, и пользователям станет тяжело работать.
Шаг 3. Настроить автоматическое обновление
Индекс не обновляется сам по себе при каждой записи документа. Новые данные попадают в него регламентными заданиями. В типовых конфигурациях их два: обновление индекса и слияние индекса.
- Проверьте, что оба задания включены, в разделе
Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. - Обновление разумно ставить каждые 10–60 минут, в зависимости от того, насколько свежие данные нужны в поиске.
- Слияние — раз в сутки, ночью: оно объединяет мелкие порции индекса в одну и ускоряет поиск.
В файловой базе регламентные задания выполняются, только пока в базе открыт хотя бы один сеанс (и задания не отключены в параметрах клиента). Если все вечером закрывают 1С, индекс за ночь не обновится. Тогда либо запускайте обновление вручную, либо переводите базу в клиент-серверный вариант.
Шаг 4. Пользоваться поиском
Поле поиска по всем данным находится в шапке окна программы, со значком лупы. Введите слово и нажмите Enter — появится список найденных объектов с фрагментами текста.
Язык запросов полнотекстового поиска богаче, чем кажется:
| Что написать | Что найдёт |
|---|---|
ромашка поставка | Объекты, где есть оба слова |
ромашка ИЛИ лютик | Любое из слов |
ромашка НЕ сервис | «Ромашку» без слова «сервис» |
"ООО Ромашка" | Точную фразу |
ромаш* | Слова, начинающиеся с «ромаш» |
#ромашка | Нечёткий поиск: найдёт и с опечаткой |
💡 Полнотекстовый поиск учитывает морфологию русского языка: по запросу «договор» найдутся и «договора», и «договорами».
Что попадает в индекс
Не все данные базы индексируются. В Конфигураторе у каждого объекта и реквизита есть свойство «Полнотекстовый поиск» со значениями «Использовать» и «Не использовать». Если нужный реквизит не находится, хотя индекс свежий, — скорее всего, у него стоит «Не использовать». В типовой конфигурации менять это свойство значит снимать её с поддержки или делать расширение, поэтому сначала убедитесь, что дело именно в этом.
Поиск через запросы: когда обычного не хватает
Полнотекстовый поиск отвечает на вопрос «где встречается слово». На вопросы «все поступления от этого поставщика дороже 100 000 ₽» или «контрагенты без ИНН» он не ответит. Здесь нужен запрос.
Чем выполнять запрос
- 🛠 Консоль запросов — внешняя обработка для управляемых форм. Она распространяется в составе инструментов разработчика на диске ИТС и в открытых репозиториях. Открывается через
Файл → Открыть. - 🛠 Универсальный отчёт в БП 3.0 и других типовых: позволяет выбрать любой справочник или регистр и наложить отборы без кода.
- 🛠 Произвольный отчёт на СКД — если нужен результат в виде отчёта.
Внешние обработки запускает только пользователь с соответствующими правами. Скачивайте их из проверенных источников: обработка выполняется с вашими правами и может изменять данные.
Пример запроса: найти контрагентов по части наименования и без ИНН
ВЫБРАТЬ
Контрагенты.Ссылка КАК Контрагент,
Контрагенты.ИНН КАК ИНН
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.Наименование ПОДОБНО &Шаблон
И Контрагенты.ИНН = ""
И НЕ Контрагенты.ЭтоГруппа
В параметр Шаблон передайте строку %ромаш%: знак % означает «любые символы». Запрос выдаст все элементы с «ромаш» в наименовании и пустым ИНН.
💡 Условие ПОДОБНО "%…%" не может использовать индекс и на больших таблицах работает медленно. Если ищете по коду, ИНН или номеру — сравнивайте на равенство или по началу строки: ПОДОБНО "7701%".
Готовые обработки для поиска
Писать запрос каждый раз не обязательно. В типовых конфигурациях на БСП уже есть инструменты, которые закрывают частые задачи поиска.
- 🔁 «Поиск и удаление дублей» — находит одинаковых контрагентов, номенклатуру и другие элементы по совпадению наименования, ИНН и других полей. Ищите её в разделе
Администрирование → Обслуживание. Перед объединением дублей сделайте резервную копию: замена ссылок затрагивает все документы. - 📝 «Групповое изменение реквизитов» — находит объекты по отбору и сразу меняет у них значение реквизита.
- 🔗 Поиск ссылок на объект — в карточке элемента через меню
Ещёможно открыть список мест, где он используется. Полезно перед удалением или пометкой на удаление. - 📊 Универсальный отчёт — поиск по любым полям без программирования.
Сторонние обработки «быстрого поиска по базе» в основном повторяют то, что уже делает полнотекстовый поиск. Ставьте их, только если встроенных средств точно не хватает.
Как ускорить поиск в 1С
Медленный поиск — обычно не поломка, а неудачный способ искать. Начните с простого.
- 🎯 Ищите по полю, а не по всему списку. Расширенный поиск по колонке «ИНН» быстрее, чем общий поиск по всем колонкам.
- 🎯 Ставьте отбор по периоду и организации в журналах документов. Поиск по 30 000 документам месяца идёт быстрее, чем по миллиону за пять лет.
- 🎯 Используйте поиск «по началу строки» для кодов и номеров.
- 🎯 Для поиска слова по всей базе используйте полнотекстовый поиск, а не быстрый поиск в каждом списке по очереди.
- 🎯 Держите индекс в порядке: регулярное слияние сильно сокращает время ответа.
- 🎯 На сервере проверьте свободное место на диске с индексом и исключите каталог индекса из проверки антивирусом в реальном времени.
Где лежит индекс полнотекстового поиска
- В файловой базе — в каталоге базы, рядом с файлом
1Cv8.1CD. - В клиент-серверной — на рабочем сервере 1С, в каталоге кластера, в подкаталоге информационной базы.
Индекс большой базы может весить несколько гигабайт. Если диск заполнен, обновление индекса падает, и поиск перестаёт находить новые данные.
Почему поиск не работает: ошибки и решения
Очистка индекса не трогает данные базы: удаляется только служебный индекс. Но пока он строится заново, полнотекстовый поиск выдаёт неполные результаты. Поэтому полную перестройку делайте вечером и предупредите коллег.
Поиск в мобильном приложении и внешние системы
Мобильный клиент и мобильное приложение
В мобильном клиенте 1С списки устроены так же, как в настольной версии: над списком есть значок лупы, нажатие открывает строку поиска. Работает он по тем же правилам, что быстрый поиск в списке, только данные приходят с сервера, поэтому скорость зависит от связи.
В автономных мобильных приложениях (например, для торговых агентов) поиск идёт по локальной базе на телефоне. Найти можно только то, что уже загружено при синхронизации. Если клиент «не ищется», сначала выполните обмен.
Интеграция с внешними поисковыми системами
Для очень больших баз — десятки миллионов документов, архивы файлов, поиск по сканам — встроенного индекса бывает мало. Тогда данные выгружают во внешний поисковый движок, чаще всего Elasticsearch или OpenSearch:
- 1С отдаёт изменения через HTTP-сервис или по расписанию выгружает их в формате JSON;
- поисковый движок индексирует тексты, в том числе распознанные сканы;
- в 1С добавляют форму, которая отправляет запрос во внешнюю систему и открывает найденный объект по ссылке.
Это проект для программиста, а не настройка «галочкой». Оправдан он, когда встроенный полнотекстовый поиск уже настроен, обслуживается, но всё равно не справляется.