2. Обработка событий
Принцип обработки событий Конфигурации в Расширениях#

Расширение Подписки (служебное)#
Для обработки событий Конфигурации в информационной базе должно присутствовать служебное Расширение ЕХТ_Подписки, которое автоматически добавляется в информационную базу после активации лицензии и автоматически обновляется при обновлениях или изменениях Конфигурации.

Автоматическое обновление Расширения Подписки#
После изменения метаданных Конфигурации служебное Расширение ЕХТ_Подписки обновляется автоматически.

Обработка событий в Расширении#
Добавление подписки#
В модуле менеджера объекта или общем модуле создаваемого Расширения, в функцию Сведения(), необходимо добавить строку Сведения.Подписки = Истина и добавить экспортную функцию Подписки() как на картинке ниже:

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

Через параметр СвойстваСобытия в обработчик передается дополнительная информация о событии. В составе параметра СвойстваСобытия есть структура ДополнительныеСвойства через которую можно передавать произвольные значения всей последующей цепочке обработчиков события.
Новые события#
Фреймворк для Расширений добавляет новые события, например:
-
ОбработкаРегламентногоЗадания: событие генерируется перед запуском любого регламентного задания Конфигурации; -
ОбработкаПодпискиНаСобытие: событие генерируется перед обработчиками всех Подписок Конфигурации; -
УдалениеУстаревшихДанных: событие генерируется по установленному расписанию;
Собственные события#
Фреймворк для Расширений предоставляет возможность разработчикам добавлять собственные события, добавлять на них подписки и обрабывать в любых Расширениях.