ПолеВыбора.ОбработкаВыбора

События · ChoiceProcessing

Вызывается после осуществления выбора значения из списка выбора, но до помещения выбранного значения в элемент управления. В процедуре-обработчике события можно отказаться от выбора.

Синтаксис

ОбработкаВыбора(<ВыбранноеЗначение>, <СтандартнаяОбработка>)
Полное описание, параметры и ограничения

ПолеВыбора.ОбработкаВыбора (ComboBox.ChoiceProcessing)

ПолеВыбора (ComboBox)

ОбработкаВыбора (ChoiceProcessing)

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

Синтаксис:
ОбработкаВыбора(<ВыбранноеЗначение>, <СтандартнаяОбработка>)
Параметры:

<ВыбранноеЗначение>
Тип: Произвольный.
Выбранное значение.

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

Вызывается после осуществления выбора значения из списка выбора, но до помещения выбранного значения в элемент управления. В процедуре-обработчике события можно отказаться от выбора.

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

Толстый клиент.

Использование в версии:

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

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

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

ОбработкаВыбора: собственное поле выбора обычной формы

Принимаем строковое значение, которое реально выбрано из собственного списка поля. Стандартное присваивание заменено явным.

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

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

Подготовка

  1. Создайте собственную внешнюю обработку с обычной формой. Запускайте в толстом клиенте, не в тонком клиенте управляемого приложения.

  2. Реквизиты формы: Наименование (Строка 100), Количество (Число 10.0), Цена (Число 12.2), Сумма (Число 12.2). Элемент ПолеУрока — ПолеВыбора, основной обработчик назначьте его событию ОбработкаВыбора.

  3. Поле для суммы выведите только для просмотра. В числовых опытах цена 100; при количестве 3 сумма 300. Имена реквизитов и элемента различаются намеренно.

  4. Основной код и дополнительные блоки — отдельные процедуры модуля обычной формы. Директивы &НаКлиенте / &НаСервере не добавляются.

  5. Используйте встроенную кнопку раскрытия списка ПолеВыбора; отдельного свойства КнопкаСпискаВыбора у этого вида нет. Проверяйте выбор строки из этого собственного списка, а не вызов обработчика вручную.

  6. Дополнительную ПриОткрытии назначьте событию самой формы. Повторный опыт проводите в новом экземпляре формы, чтобы начальные данные были известны.

Процедура ПолеУрокаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Наименование = ВыбранноеЗначение;
    Сообщить("Принято из собственного списка: " + Наименование);
КонецПроцедуры
Назначить событию обычной формы ПриОткрытии
Процедура ПриОткрытии()
    Наименование = "Книга";
    Количество = 3;
    Цена = 100;
    Сумма = Количество * Цена;
    ЭлементыФормы.ПолеУрока.Данные = "Наименование";
    ЭлементыФормы.ПолеУрока.СписокВыбора.Добавить("Книга");
    ЭлементыФормы.ПолеУрока.СписокВыбора.Добавить("Ручка");
КонецПроцедуры

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

  1. Подготавливаем реальное поле ПолеУрока и реквизит соответствующего этому опыту типа.

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

  3. Принимаем строковое значение, которое реально выбрано из собственного списка поля. Стандартное присваивание заменено явным.

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

  1. Выбор Ручка устанавливает Наименование = Ручка.

  2. Контракт списка строковый: для ссылки или массива чужого API нужен другой обработчик.

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

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

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

  1. Поле ввода строки, числа и ссылки — разные варианты подготовки; не оставляйте несовместимый тип реквизита.

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

  3. Пример не изменяет рабочие документы; вся используемая номенклатура создаётся как собственные учебные метаданные.

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

  5. ПолеВыбора и ПолеВвода — разные виды обычных элементов. У ПолеВыбора встроено раскрытие списка; не присваивайте ему отсутствующее КнопкаСпискаВыбора.

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

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

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

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

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