Возникает при изменении значения поля выбора. В обработчике события нельзя отказаться от изменений, но можно выполнить необходимые действия при изменении значения поля.
Синтаксис
ПриИзменении()Полное описание, параметры и ограничения
ПолеВыбора.ПриИзменении (ComboBox.OnChange)
ПолеВыбора (ComboBox)
ПриИзменении (OnChange)
Доступен, начиная с версии 8.0.
Синтаксис:
ПриИзменении()
Описание:
Возникает при изменении значения поля выбора. В обработчике события нельзя отказаться от изменений, но можно выполнить необходимые действия при изменении значения поля.
Доступность:
Толстый клиент.
Примечание:
Данное событие следует после событий изменения значения поля: ОбработкаВыбора, Очистка, Регулирование.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
ПриИзменении: собственное поле выбора обычной формы
После интерактивного изменения количества пересчитываем сумму в собственной форме. Программное присваивание само по себе это событие не имитирует.
Где и как запускать
Модуль обычной формы собственной внешней обработки, толстый клиент. Вариант подготовлен отдельно для указанного события.
Подготовка
Создайте собственную внешнюю обработку с обычной формой. Запускайте в толстом клиенте, не в тонком клиенте управляемого приложения.
Реквизиты формы: Наименование (Строка 100), Количество (Число 10.0), Цена (Число 12.2), Сумма (Число 12.2). Элемент ПолеУрока — ПолеВыбора, основной обработчик назначьте его событию ПриИзменении.
Поле для суммы выведите только для просмотра. В числовых опытах цена 100; при количестве 3 сумма 300. Имена реквизитов и элемента различаются намеренно.
Основной код и дополнительные блоки — отдельные процедуры модуля обычной формы. Директивы &НаКлиенте / &НаСервере не добавляются.
Дополнительную ПриОткрытии назначьте событию самой формы. Повторный опыт проводите в новом экземпляре формы, чтобы начальные данные были известны.
Раскройте числовой список и выберите 4 вместо 3. ПолеВыбора получает Количество из собственных вариантов 3, 4 и 5; произвольный текст вводить не нужно.
Процедура ПолеУрокаПриИзменении(Элемент)
Сумма = Количество * Цена;
Сообщить("Количество: " + Строка(Количество));
Сообщить("Сумма: " + Строка(Сумма));
КонецПроцедурыНазначить событию обычной формы ПриОткрытии
Процедура ПриОткрытии()
Наименование = "Книга";
Количество = 3;
Цена = 100;
Сумма = Количество * Цена;
ЭлементыФормы.ПолеУрока.Данные = "Количество";
ЭлементыФормы.ПолеУрока.СписокВыбора.Добавить(3);
ЭлементыФормы.ПолеУрока.СписокВыбора.Добавить(4);
ЭлементыФормы.ПолеУрока.СписокВыбора.Добавить(5);
КонецПроцедурыРазбор по шагам
Подготавливаем реальное поле ПолеУрока и реквизит соответствующего этому опыту типа.
Платформа вызывает обработчик по указанному действию пользователя; параметры после Элемент взяты из справки.
После интерактивного изменения количества пересчитываем сумму в собственной форме. Программное присваивание само по себе это событие не имитирует.
Как проверить результат
Измените количество с 3 на 4 и перейдите в другое поле: сумма 400.
Сумма вычисляется из реквизитов формы; запись документа не выполняется.
Ожидаемый результат
Показана реальная обработка ввода в собственном поле обычной формы.
На что обратить внимание
Поле ввода строки, числа и ссылки — разные варианты подготовки; не оставляйте несовместимый тип реквизита.
Не вызывайте процедуры событий вручную вместо проверки пользовательского действия.
Пример не изменяет рабочие документы; вся используемая номенклатура создаётся как собственные учебные метаданные.
ПриИзменении не является универсальной подпиской на любое программное присваивание.
ПолеВыбора и ПолеВвода — разные виды обычных элементов. У ПолеВыбора встроено раскрытие списка; не присваивайте ему отсутствующее КнопкаСпискаВыбора.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.