Возникает при посылке внешним приложением сообщения, сформированного в специальном формате. Внешнее событие сначала обрабатывается всеми открытыми формами, имеющими процедуру-обработчик этого события, а затем может быть обработано в процедуре-обработчике модуля приложения (модуля обычного приложения).
Синтаксис
ОбработкаВнешнегоСобытия(<Источник>, <Событие>, <Данные>)Полное описание, параметры и ограничения
Глобальный контекст.ОбработкаВнешнегоСобытия (Global context.ExternEventProcessing)
Глобальный контекст (Global context)
ОбработкаВнешнегоСобытия (ExternEventProcessing)
Доступен, начиная с версии 8.0.
Синтаксис:
ОбработкаВнешнегоСобытия(<Источник>, <Событие>, <Данные>)
Параметры:
<Источник>
Тип: Строка.
Источник события.
<Событие>
Тип: Строка.
Наименование события.
<Данные>
Тип: Строка.
Данные для события.
Описание:
Возникает при посылке внешним приложением сообщения, сформированного в специальном формате. Внешнее событие сначала обрабатывается всеми открытыми формами, имеющими процедуру-обработчик этого события, а затем может быть обработано в процедуре-обработчике модуля приложения (модуля обычного приложения).
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Обработка следующего события возможна только после завершения обработки текущего события.
См. также:
Глобальный контекст, метод ПодключитьВнешнююКомпоненту
ФормаКлиентскогоПриложения, событие ВнешнееСобытие
Форма, событие ВнешнееСобытие
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
ОбработкаВнешнегоСобытия: собственная компонента книг
Точная фаза и модуль обработчика отделены от загрузки компоненты, сетевой интеграции и бизнес-записи.
Где и как запускать
Модуль обычного приложения собственной учебной конфигурации.
Подготовка
Редкий событийный API: собственная доверенная Native API-компонента УчебнаяКомпонента, заранее подключённая штатно в своей учебной базе. Компонента действительно должна уметь посылать внешние события; DLL и её C++-реализация этим примером не создаются.
Явный собственный контракт компоненты: Источник=УчебнаяКомпонента, Событие=КодКниги, строка Данные=BOOK-001. Имя источника задаёт сама компонента; оно не обязано автоматически совпадать со вторым аргументом ПодключитьВнешнююКомпоненту.
Обработчик формы и обработчик приложения получают одно событие на разных фазах. Если изучаете оба, оставьте бизнес-обработку только в одном месте: формы вызываются раньше общего обработчика. Пример не выполняет строку Данные как BSL.
BSL, установка компоненты, перезапуск процесса и отправка внешних событий при сборке HTML не выполнялись.
Модуль обычного приложения собственной учебной конфигурации. Процедура не находится в модуле общей формы или в серверном общем модуле.
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
Если Источник <> "УчебнаяКомпонента" Или Событие <> "КодКниги" Тогда
Возврат;
КонецЕсли;
Код = СокрЛП(Данные);
Сообщить("Модуль приложения получил собственный код: " + Код);
Сообщить("Открытые формы уже получили это внешнее событие раньше");
КонецПроцедурыРазбор по шагам
Подготовьте свою компоненту с указанным событийным контрактом.
Назначьте обработчик в указанном модуле.
Для обычного внешнего события используйте реальную команду своей компоненты, а не ручной вызов BSL-процедуры.
Как проверить результат
Общая фаза показана отдельным сообщением, а не повторным сохранением / созданием книги после обработчиков форм.
Код не рассылает то же внешнее событие рекурсивно и не вызывает процедур компоненты по имени из входной строки.
Ожидаемый результат
Показана обычная ограниченная обработка собственного внешнего события / отключения.
На что обратить внимание
Строка события не является доверенным исполняемым кодом.
BSL и процессы компоненты при сборке HTML не исполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.