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

Быстрый старт · 12 мин

Ввод по строке в 1С: что это и как настроить быстрый поиск

Что такое ввод по строке в 1С, как работает быстрый поиск в полях ввода, какие настройки влияют на скорость и как исправить типичные проблемы с подбором.

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

Механизм работает в большинстве типовых конфигураций — «1С:Бухгалтерия», «1С:Управление торговлей», «1С:Зарплата и управление персоналом» и других. Он применяется к полям, которые ссылаются на справочники, документы, планы счетов и другие ссылочные объекты. Поиск выполняется по наименованию, коду, артикулу, ИНН и другим реквизитам — набор полей зависит от настроек конкретного объекта.

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

Как работает ввод по строке на практике

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

Выбор делается клавишами «вверх/вниз» и Enter либо мышью. Если нужного значения нет, из того же списка обычно доступны команды «Создать» (новый элемент справочника) и «Показать все» (открыть полную форму выбора). Это позволяет не прерывать заполнение документа.

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

Способы поиска: по началу строки и полнотекстовый поиск

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

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

Сравнение вариантов

Поиск по началу строки

Быстрый, не требует индекса. Подходит, когда названия стандартизированы и пользователь помнит начало. Не найдёт «Гвоздь 6х200» по запросу «6х200».

Полнотекстовый поиск

Находит вхождения в любом месте строки и по нескольким реквизитам. Требует включённого и регулярно обновляемого индекса, иначе результаты будут неполными или устаревшими.

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

Если ввод по строке должен искать по части названия, но ничего не находит, первым делом проверьте полнотекстовый индекс. В клиент-серверном и файловом варианте управление индексом находится в разделе администрирования: «Администрирование» → «Обслуживание» → «Полнотекстовый поиск» (в некоторых конфигурациях путь называется «Настройки полнотекстового поиска»).

Там включается использование полнотекстового поиска и выполняется обновление индекса. Индекс не обновляется мгновенно: новые элементы справочников попадают в результаты поиска только после очередного обновления. В активно пополняемых базах имеет смысл настроить автоматическое обновление по расписанию — например, каждые 15–30 минут, если объёмы данных это позволяют.

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

Для файловых баз обновление индекса выполняется в монопольном или фоновом режиме в зависимости от версии платформы и конфигурации. На больших базах первое построение индекса может занять продолжительное время — планируйте его на нерабочие часы.

Настройки поля ввода, влияющие на подбор

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

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

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

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

Медленная работа подбора — типичная жалоба на больших базах. Основные причины: отключённый или устаревший полнотекстовый индекс (поиск «по вхождению» без индекса превращается в полное сканирование таблицы), большой объём справочника с размытыми названиями, сетевые задержки в клиент-серверном режиме и нехватка ресурсов сервера 1С или СУБД.

Ситуация «элемент точно есть, но подбор его не показывает» чаще всего объясняется простыми причинами: элемент помечен на удаление, у пользователя нет прав на чтение этого объекта, действует скрытый отбор (например, по организации или группе), либо индекс ещё не обновился после создания элемента. Реже причина в том, что поиск идёт по началу строки, а пользователь вводит фрагмент из середины.

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

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

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

Появляется в списке после обновления индекса

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

Не находится даже после обновления — проверяйте права и пометку удаления

Скорость подбора
Норма

Список появляется за 1–2 секунды

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

Задержки более 5 секунд — проверяйте индекс и нагрузку на сервер

Полнота результатов
Норма

Находятся элементы по фрагменту из середины названия

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

Находит только по началу — способ поиска стоит «по началу строки» или индекс выключен

Типичные ошибки
01
Создавать дубликат элемента через «Создать», не дождавшись полного списка подбора — в справочнике появляются задвоения номенклатуры и контрагентов.
02
Отключать полнотекстовый поиск ради экономии ресурсов — ввод по строке начинает сканировать таблицы целиком и работает ещё медленнее.
03
Менять настройки ввода по строке в конфигураторе без проверки на тестовой базе — у всех пользователей ломается привычный подбор.
04
Искать по ИНН или артикулу, когда эти реквизиты не включены в поля поиска, и делать вывод, что «поиск не работает».

Ввод по строке для разработчиков

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

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

bsl
&НаКлиенте
Процедура НоменклатураАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ДанныеВыбора = ПолучитьДанныеВыбораНоменклатуры(Текст);
КонецПроцедуры

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

Практические рекомендации по эффективной работе

Пользователям имеет смысл выработать простые привычки: вводить уникальную часть названия (а не общее слово вроде «услуга»), пользоваться поиском по ИНН для контрагентов и по артикулу для товаров, дожидаться полной загрузки списка перед созданием нового элемента. Это сокращает количество дублей и ускоряет заполнение документов.

Администраторам стоит периодически контролировать состояние полнотекстового индекса, следить за регламентным обновлением и разбирать жалобы на «медленный подбор» по схеме: индекс → права → пользовательские настройки → серверные ресурсы. В большинстве случаев проблема локализуется на первом или втором шаге.

Маршрут решения

Как выбрать действие

Подбор не находит элементы, созданные сегодняОбновите полнотекстовый индекс и проверьте расписание его обновления
Поиск находит только по началу названияПереключите способ поиска на «по вхождению» в настройках поля
Тормоза только у одного пользователяСбросьте его пользовательские настройки поля и проверьте его права
Медленно у всех на большой базеПроверяйте индекс, план запросов и ресурсы сервера СУБД

Частые вопросы о вводе по строке в 1С

Почему ввод по строке не находит контрагента, который точно есть в базе?

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

Можно ли искать по ИНН, артикулу или штрихкоду?

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

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

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

Почему после обновления конфигурации подбор стал работать иначе?

Обновление могло изменить настройки ввода по строке в метаданных или сбросить пользовательские настройки поля. Сравните свойства объекта с предыдущей версией и проверьте индивидуальные настройки пользователей.

Работает ли ввод по строке в веб-клиенте и на мобильной платформе?

Да, механизм поддерживается в тонком, толстом и веб-клиенте, а также в мобильном клиенте. Различия касаются в основном оформления выпадающего списка и скорости — в веб-клиенте задержки сети ощутимее, поэтому актуальный индекс особенно важен.

Что делать, если подбор предлагает слишком много лишних вариантов?

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

Итог

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

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