Возникает при выборе объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода ОповеститьОВыборе.
Синтаксис
ОбработкаВыбора(<ЗначениеВыбора>, <Источник>)Полное описание, параметры и ограничения
Форма.ОбработкаВыбора (Form.ChoiceProcessing)
Форма (Form)
ОбработкаВыбора (ChoiceProcessing)
Доступен, начиная с версии 8.0.
Синтаксис:
ОбработкаВыбора(<ЗначениеВыбора>, <Источник>)
Параметры:
<ЗначениеВыбора>
Тип: Произвольный.
Результат выбора в подчиненной форме. В случае множественного выбора возвращается массив выбранных значений.
<Источник>
Тип: Произвольный.
Форма - источник события.
Описание:
Возникает при выборе объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода ОповеститьОВыборе.
Доступность:
Толстый клиент.
См. также:
Форма, метод ОповеститьОВыборе
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
ОбработкаВыбора: собственная обычная форма
Связанные обычные формы используют настоящее оповещение выбора / записи / активизации. Параметр приходит платформой от показанного источника, не ручным вызовом события.
Где и как запускать
Модуль своей обычной формы, толстый клиент. Для связанных форм место каждого дополнительного блока указано отдельно.
Подготовка
Создайте собственную внешнюю обработку с обычной формой. Запуск — толстый клиент, обычные формы; основной блок назначается указанному событию самой формы.
Реквизиты формы: Наименование (Строка 100), Количество (Число 10.0), Цена и Сумма (Число 12.2), Статус (Строка 200), КоличествоПовторныхОткрытий (Число 10.0), РазрешитьЗакрытие (Булево). Выведите нужные поля и флажок на форму.
Добавьте обычную надпись СуммаНадпись без связи с данными. Для расчётных опытов вручную задайте Количество = 3, Цена = 100, Наименование = Книга. Данные находятся только в форме.
Каждый пример — отдельный вариант формы. Не вызывайте обработчик события вручную; используйте указанное действие или дополнительную кнопку.
В учебной конфигурации создайте обычную общую форму УчебныйСвязанныйУрок. Форма-получатель и отправитель задаются дополнительной кнопкой; это не произвольное чужое окно.
В своей внешней форме создайте кнопку ОткрытьСвязанныйУрок; в общей форме — ПередатьДанные. Назначьте соответствующие дополнительные обработчики.
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
Статус = "Получено от своей связанной формы: " + Строка(ЗначениеВыбора);
Сообщить(Статус);
Сообщить("Источник передан платформой");
КонецПроцедурыФорма-получатель: открыть собственную дочернюю общую форму
Процедура ОткрытьСвязанныйУрок(Кнопка)
Дочерняя = ПолучитьОбщуюФорму("УчебныйСвязанныйУрок", ЭтаФорма);
Дочерняя.Открыть();
Сообщить("Открыт собственный источник для текущей формы-владельца");
КонецПроцедурыДочерняя общая обычная форма: настоящая передача данных
Процедура ПередатьДанные(Кнопка)
ОповеститьОВыборе("Книга");
Сообщить("Передано собственное значение выбора");
Закрыть();
КонецПроцедурыРазбор по шагам
Подготавливаем свою обычную форму и назначаем её точное событие.
Платформа вызывает обработчик в описанных условиях; дополнительные блоки создают реальное действие там, где оно доступно без внешней компоненты.
Связанные обычные формы используют настоящее оповещение выбора / записи / активизации. Параметр приходит платформой от показанного источника, не ручным вызовом события.
Как проверить результат
Выполните показанный дополнительный сценарий: статус получателя показывает реально переданное значение.
Оповещение само по себе не меняет произвольные данные в базе; запись есть только в явно показанном производителе нового товара.
Ожидаемый результат
Показан конкретный контекст события обычной формы и пределы его применимости.
На что обратить внимание
Обычная и управляемая формы имеют разные сигнатуры событий; этот блок не переносится в управляемую форму дословно.
Отказ от стандартной обработки не равнозначен отмене операции: например, закрытие отменяет Отказ.
Не заменяйте реальные события ручным вызовом одноимённой процедуры и не выдавайте статический разбор за выполнение 1С.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.