ФормаКлиентскогоПриложения.ВнешнееСобытие

События · ExternalEvent

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

Синтаксис

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

ФормаКлиентскогоПриложения.ВнешнееСобытие (ClientApplicationForm.ExternalEvent)

ФормаКлиентскогоПриложения (ClientApplicationForm)

ВнешнееСобытие (ExternalEvent)

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

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

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

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

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

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

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

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

Примечание:
Обработка следующего события возможна только после завершения обработки текущего события.
Использование в версии:

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

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

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

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

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

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

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

Подготовка

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

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

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

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

  5. Своя управляемая форма: реквизиты КодКниги Строка 40 и СтатусКомпоненты Строка 200, выведите на форму. Основной код — событие самой формы ВнешнееСобытие.

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

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

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

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

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

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

  1. События чужого источника / другого вида не обрабатываются.

  2. Полученный собственный строковый код очищен от внешних пробелов и помещён в реквизит формы; строка не исполняется и не объявляется сохранённой ссылкой книги.

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

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

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

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

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

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

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

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

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

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