Возникает во время начала ожидания ввода текста (в процессе набора текста сделана пауза). Также возникает при нажатии клавиши "Стрелка вниз" после ввода текста (или части текста). Также возникает при активизации поля ввода, для которого выключен быстрый выбор, мышью. При этом значение параметров: <Текст> - пустая строка, <Ожидание> - число 0. Значение параметров в этом случае не зависит от текста в поле ввода. При стандартной отработке события происходит поиск в порядке полей, определенном при конфигурировании в свойстве объекта метаданных "Ввод по строке". Если найдено одно или более значений, то будет показан список с найденными значениями. Если значений найдено больше 50, то список показан не будет.
Синтаксис
АвтоПодбор(<Текст>, <ДанныеВыбора>, <ПараметрыПолученияДанных>, <Ожидание>, <СтандартнаяОбработка>)Полное описание, параметры и ограничения
Расширение поля формы для поля ввода.АвтоПодбор (Form field extension for a text box.AutoComplete)
Расширение поля формы для поля ввода (Form field extension for a text box)
АвтоПодбор (AutoComplete)
Доступен, начиная с версии 8.2.
Синтаксис:
АвтоПодбор(<Текст>, <ДанныеВыбора>, <ПараметрыПолученияДанных>, <Ожидание>, <СтандартнаяОбработка>)
Параметры:
<Текст>
Тип: Строка.
Строка текста, введенная в поле ввода.
<ДанныеВыбора>
Тип: СписокЗначений.
Список может содержать как конкретное значение, так и структуру, в которой может быть указана следующая информация (по именам ключей в структуре):
Значение (Value) - собственно значение или массив значений;
ПометкаУдаления (DeletionMark) - пометка удаления;
Предупреждение (Warning) - текст предупреждения, которое будет показано при выборе элемента из списка значений.
ДополнительныеДанные (AdditionalData) - Произвольные дополнительные данные, которые после выбора будут переданы в обработчик события ОбработкаВыбора.
Если поле ввода редактирует данные типа СписокЗначений или ДанныеФормыКоллекция, то есть находится в режиме ввода множественных значений и включен режим ОтображатьФлажкиВВыпадающемСпискеПриВводеМножественныхЗначений, то передаваемое в элементе списка или в составе структуры значение используется для определения состояния флажка элемента выпадающего списка. Если при этом передать в элементе списка или в составе структуры по ключу Значение (Value) массив значений, состояние флажка будет определяться следующим образом:
Если все значения массива содержатся среди множественных значений, то флажок устанавливается;
Если ни одно значение массива не содержится среди множественных значений, то флажок не устанавливается;
Если только часть значений содержится среди множественных значений, то флажок отображается "серым".
Значение по умолчанию: Неопределено.
<ПараметрыПолученияДанных>
Тип: Структура, Неопределено.
Содержит параметры поиска, которые будут переданы в метод ПолучитьДанныеВыбора.
Структура, в которой обязательно должны содержаться следующие ключи:
СтрокаПоиска (SearchString) - строка, используемая при поиске данных, Неопределено - осуществляется быстрый выбор;
Отбор (Filter) - отбор, используемый при поиске данных;
ВыборГруппИЭлементов (ChoiceFoldersAndItems) - указывается использование групп и элементов (только для иерархических данных); тип ИспользованиеГруппИЭлементов; параметр может отсутствовать;
СпособПоискаСтроки (StringSearchMode) - указывается способ поиска при вводе по строке; тип СпособПоискаСтрокиПриВводеПоСтроке; параметр может отсутствовать;
ПолнотекстовыйПоиск (FullTextSearch) - указывается необходимость использования полнотекстового поиска при вводе по строке; тип - ПолнотекстовыйПоискПриВводеПоСтроке; параметр может отсутствовать;
РежимПолученияДанныхВыбора (ChoiceDataGettingMode) - указывает режим запуска поиска. Тип РежимПолученияДанныхВыбораПриВводеПоСтроке; параметр может отсутствовать.
Неопределено - для мобильной платформы.
<Ожидание>
Тип: Число.
Интервал в секундах после ввода текста, через который произошло событие. Если 0, то это означает, что событие было вызвано не по поводу ввода текста, а для формирования списка быстрого выбора.
<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
Параметр позволяет отменить стандартное заполнение системой ДанныеВыбора. При этом все действия (отображение списка, предупреждения) выполняются системой на основе возвращенного значения параметра <ДанныеВыбора> независимо от значения параметра <СтандартнаяОбработка>.
Значение по умолчанию: Истина.
Описание:
Возникает во время начала ожидания ввода текста (в процессе набора текста сделана пауза).
Также возникает при нажатии клавиши "Стрелка вниз" после ввода текста (или части текста).
Также возникает при активизации поля ввода, для которого выключен быстрый выбор, мышью. При этом значение параметров: <Текст> - пустая строка, <Ожидание> - число 0. Значение параметров в этом случае не зависит от текста в поле ввода.
При стандартной отработке события происходит поиск в порядке полей, определенном при конфигурировании в свойстве объекта метаданных "Ввод по строке".
Если найдено одно или более значений, то будет показан список с найденными значениями. Если значений найдено больше 50, то список показан не будет.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент).
Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере, а также изменять свойства, которые могут привести к серверному вызову.
Использование в версии:
Доступен, начиная с версии 8.2.
Описание изменено в версии 8.3.23.
Методическая информация
Практические примеры
Подбирать учебные названия по введённому фрагменту
АвтоПодбор передаёт клиентский список совпадений; параметры серверного поиска здесь не изменяются.
Где и как запускать
Клиентский модуль собственной управляемой формы. Параметр Элемент передаёт платформа; он уже включён в сигнатуру.
Подготовка
Создайте внешнюю учебную обработку с управляемой формой. Реквизиты формы Наименование (Строка 100), Количество (Число 10.0), Статус (Строка 200); выведите их полями ввода.
Имя строкового поля Наименование, числового поля Количество. Обработчик назначается в свойствах именно элемента формы на вкладке События, не в модуле объекта обработки.
Основной код вставляйте на уровне модуля управляемой формы. Он выполняется на клиенте и не обращается к рабочим справочникам.
Назначьте событие АвтоПодбор. Включите у поля автоподбор и кнопку выпадающего списка; быстрый выбор для этого опыта можно выключить.
&НаКлиенте
Процедура НаименованиеАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ДанныеВыбора = Новый СписокЗначений;
Названия = СтрРазделить("Книга;Ручка;Карандаш", ";");
Для Каждого Название Из Названия Цикл
Если СтрНайти(НРег(Название), НРег(Текст)) > 0 Тогда
ДанныеВыбора.Добавить(Название);
КонецЕсли;
КонецЦикла;
СтандартнаяОбработка = Ложь;
Сообщить("Вариантов: " + Строка(ДанныеВыбора.Количество()));
КонецПроцедурыРазбор по шагам
Платформа вызывает назначенный обработчик поля ввода.
АвтоПодбор передаёт клиентский список совпадений; параметры серверного поиска здесь не изменяются.
Все значения и варианты принадлежат собственной форме.
Как проверить результат
Введите кар и сделайте паузу: предлагается Карандаш.
Введите РУ: предлагается Ручка, регистр букв не влияет на отбор.
Ожидаемый результат
Подбирать учебные названия по введённому фрагменту без обращения к рабочей конфигурации.
На что обратить внимание
Не вызывайте серверные процедуры из этих клиентских обработчиков и не заменяйте ими проверки модуля объекта базы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.