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