2. Обработка событий
Принцип обработки событий Конфигурации в Расширениях#
Расширение Подписки (служебное)#
Для обработки событий Конфигурации в информационной базе должно присутствовать служебное Расширение ЕХТ_Подписки
, которое автоматически добавляется в информационную базу после активации лицензии и автоматически обновляется при обновлениях или изменениях Конфигурации.
Автоматическое обновление Расширения Подписки#
После изменения метаданных Конфигурации служебное Расширение ЕХТ_Подписки
обновляется автоматически.
Обработка событий в Расширении#
Добавление подписки#
В модуле менеджера объекта или общем модуле создаваемого Расширения, в функцию Сведения()
, необходимо добавить строку Сведения.Подписки = Истина
и добавить экспортную функцию Подписки()
как на картинке ниже:
Параметры подписки#
-
Событие: обязательный параметр. Тип:
Строка
. Указывается имя события, как указано в Синтакс-Помощнике, напримерПриСозданииНаСервере
. Для обработки событий после типовых обработчиков Конфигурации к имени события добавляется префиксПосле
, напримерПослеПриСозданииНаСервере
. -
Издатель: обязательный параметр для событий элементов формы, для остальных событий - необязательный. Тип:
Строка
илиМассив
. Используется для указания источника события, напримерСправочник.Номенклатура
илиДокумент.ПоступлениеТоваров.Форма.ФормаСписка
. -
Элемент: обязательный параметр для событий элементов формы, для остальных событий не используется. Тип:
Строка
илиМассив
. Для событий элементов формы указывается имя элемента, для событияОбработкаКомандыФормы
указывается имя команды. -
Подписчик: необязательный параметр. Тип:
Строка
. По умолчанию, обработчики событий наНаКлиенте
располагаются в модуле формыПодписки
, а обработчики событийНаСервере
- в модуле менеджера. С помощью данного параметра можно указать другой модуль обработчика события. -
Обработчик: необязательный параметр. Тип:
Строка
. По умолчанию, имена обработчиков событий этоЕХТ_ИмяСобытия
илиЕХТ_ПослеИмяСобытия
. В данном параметре можно изменить имя обработчика. -
Директива: необязательный параметр. Тип:
Строка
. Допустимые значения:НаКлиенте
иНаСервере
. Используется для одноименных событий с разных контекстом выполнения. Например: для обработки событияПриНачалеРаботыСистемы
из модуля приложения - нужно указатьНаКлиенте
, а для обработки событияПриНачалеРаботыСистемы
из модуля внешнего соединения нужно указатьНаСервере
. -
КоличествоПараметров: необязательный параметр. Тип:
Число
. Используется, если в обработчике Конфигурации указано нестандартное количество параметров. Также используется для одноименных событий с разным количеством параметров, например, для событияВыбор
. -
Описание: обязательный параметр. Тип:
Строка
. Здесь указывается назначение обработчика события.
Обработчики событий#
По умолчанию, обработчики событий это экспортные функции с именами ЕХТ_ИмяСобытия
или ЕХТ_ПослеИмяСобытия
, которые располагаются в модулях объекта, в котором добавляется подписка. Обработчики событий НаКлиенте
располагаются в модуле формы Подписки
, а обработчики событий на НаСервере
- в модуле менеджера объекта.
Параметры функции - обработчика события совпадают с описанием параметров события в Синтакс-Помощнике плюс передается дополнительный параметр СвойстваСобытия
.
Через параметр СвойстваСобытия
в обработчик передается дополнительная информация о событии. В составе параметра СвойстваСобытия
есть структура ДополнительныеСвойства
через которую можно передавать произвольные значения всей последующей цепочке обработчиков события.
Новые события#
Фреймворк для Расширений добавляет новые события, например:
-
ОбработкаРегламентногоЗадания
: событие генерируется перед запуском любого регламентного задания Конфигурации; -
ОбработкаПодпискиНаСобытие
: событие генерируется перед обработчиками всех Подписок Конфигурации; -
УдалениеУстаревшихДанных
: событие генерируется по установленному расписанию;
Собственные события#
Фреймворк для Расширений предоставляет возможность разработчикам добавлять собственные события, добавлять на них подписки и обрабывать в любых Расширениях.