Расширение поля формы для поля ввода.ИзменениеТекстаРедактирования

События · EditTextChange

Вызывается при изменении текста в поле ввода – при наборе текста, при работе с буфером обмена, при вызове команд "Отменить"/"Вернуть", а также при отмене ввода.

Синтаксис

ИзменениеТекстаРедактирования(<Текст>, <СтандартнаяОбработка>)
Полное описание, параметры и ограничения

Расширение поля формы для поля ввода.ИзменениеТекстаРедактирования (Form field extension for a text box.EditTextChange)

Расширение поля формы для поля ввода (Form field extension for a text box)

ИзменениеТекстаРедактирования (EditTextChange)

Доступен, начиная с версии 8.3.5.

Синтаксис:
ИзменениеТекстаРедактирования(<Текст>, <СтандартнаяОбработка>)
Параметры:

<Текст>
Тип: Строка.
Содержит редактируемый текст.

<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если после вызова обработчика данный параметр содержит значение Ложь, то не будут выполняться действия по автоподбору (в том числе, не будет вызван обработчик события АвтоПодбор).
Значение по умолчанию: Истина.
Описание:

Вызывается при изменении текста в поле ввода – при наборе текста, при работе с буфером обмена, при вызове команд "Отменить"/"Вернуть", а также при отмене ввода.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).

Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере, а также изменять свойства, которые могут привести к серверному вызову.
Использование в версии:

Доступен, начиная с версии 8.3.5.

Методическая информация

Практические примеры

Не запускать автоподбор для слишком короткого текста

Ложь в СтандартнаяОбработка отключает последующий автоподбор, не отменяет сам ввод текста.

Где и как запускать

Клиентский модуль собственной управляемой формы. Параметр Элемент передаёт платформа; он уже включён в сигнатуру.

Подготовка

  1. Создайте внешнюю учебную обработку с управляемой формой. Реквизиты формы Наименование (Строка 100), Количество (Число 10.0), Статус (Строка 200); выведите их полями ввода.

  2. Имя строкового поля Наименование, числового поля Количество. Обработчик назначается в свойствах именно элемента формы на вкладке События, не в модуле объекта обработки.

  3. Основной код вставляйте на уровне модуля управляемой формы. Он выполняется на клиенте и не обращается к рабочим справочникам.

  4. Назначьте ИзменениеТекстаРедактирования. Для наблюдения результата также можно назначить АвтоПодбор из соседнего урока.

&НаКлиенте
Процедура НаименованиеИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
    Статус = "Введено символов: " + Строка(СтрДлина(Текст));
    Если СтрДлина(Текст) < 2 Тогда
        СтандартнаяОбработка = Ложь;
    КонецЕсли;
    Сообщить(Статус);
КонецПроцедуры

Разбор по шагам

  1. Платформа вызывает назначенный обработчик поля ввода.

  2. Ложь в СтандартнаяОбработка отключает последующий автоподбор, не отменяет сам ввод текста.

  3. Все значения и варианты принадлежат собственной форме.

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

  1. После одной буквы автоподбор не запускается; со второй стандартное продолжение разрешено.

  2. Статус показывает длину редактируемого текста, а не старого сохранённого значения реквизита.

Ожидаемый результат

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

На что обратить внимание

  1. Не вызывайте серверные процедуры из этих клиентских обработчиков и не заменяйте ими проверки модуля объекта базы.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.