Глобальный контекст.ОбработкаВнешнегоСобытия

События · ExternEventProcessing

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

Синтаксис

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

Глобальный контекст.ОбработкаВнешнегоСобытия (Global context.ExternEventProcessing)

Глобальный контекст (Global context)

ОбработкаВнешнегоСобытия (ExternEventProcessing)

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

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

<Источник>
Тип: Строка.
Источник события.

<Событие>
Тип: Строка.
Наименование события.

<Данные>
Тип: Строка.
Данные для события.
Описание:

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

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

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Примечание:
Обработка следующего события возможна только после завершения обработки текущего события.
См. также:
Глобальный контекст, метод ПодключитьВнешнююКомпоненту
ФормаКлиентскогоПриложения, событие ВнешнееСобытие
Форма, событие ВнешнееСобытие

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

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

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

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

ОбработкаВнешнегоСобытия: собственная компонента книг

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

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

Модуль обычного приложения собственной учебной конфигурации.

Подготовка

  1. Редкий событийный API: собственная доверенная Native API-компонента УчебнаяКомпонента, заранее подключённая штатно в своей учебной базе. Компонента действительно должна уметь посылать внешние события; DLL и её C++-реализация этим примером не создаются.

  2. Явный собственный контракт компоненты: Источник=УчебнаяКомпонента, Событие=КодКниги, строка Данные=BOOK-001. Имя источника задаёт сама компонента; оно не обязано автоматически совпадать со вторым аргументом ПодключитьВнешнююКомпоненту.

  3. Обработчик формы и обработчик приложения получают одно событие на разных фазах. Если изучаете оба, оставьте бизнес-обработку только в одном месте: формы вызываются раньше общего обработчика. Пример не выполняет строку Данные как BSL.

  4. BSL, установка компоненты, перезапуск процесса и отправка внешних событий при сборке HTML не выполнялись.

  5. Модуль обычного приложения собственной учебной конфигурации. Процедура не находится в модуле общей формы или в серверном общем модуле.

Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    Если Источник <> "УчебнаяКомпонента" Или Событие <> "КодКниги" Тогда
        Возврат;
    КонецЕсли;
    Код = СокрЛП(Данные);
    Сообщить("Модуль приложения получил собственный код: " + Код);
    Сообщить("Открытые формы уже получили это внешнее событие раньше");
КонецПроцедуры

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

  1. Подготовьте свою компоненту с указанным событийным контрактом.

  2. Назначьте обработчик в указанном модуле.

  3. Для обычного внешнего события используйте реальную команду своей компоненты, а не ручной вызов BSL-процедуры.

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

  1. Общая фаза показана отдельным сообщением, а не повторным сохранением / созданием книги после обработчиков форм.

  2. Код не рассылает то же внешнее событие рекурсивно и не вызывает процедур компоненты по имени из входной строки.

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

Показана обычная ограниченная обработка собственного внешнего события / отключения.

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

  1. Строка события не является доверенным исполняемым кодом.

  2. BSL и процессы компоненты при сборке HTML не исполнялись.

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

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

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

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

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