Подписка
Стд::Аннотации::Подписка Доступность: КлиентИСервер Повторяемая
Места применения: Статический метод
Аннотация подписки на событие. Данная аннотация может быть размещена на статических методах или методах модулей типов-одиночек. Подписка позволяет выполнять действия при возникновении события, не меняя основной обработчик события, задаваемый с помощью аннотации Обработчик Подписки запускаются после отработки основного обработчика события в той же транзакции. Порядок запуска подписок не определен. На одно событие можно создать несколько подписок в одном или нескольких проектах. С помощью механизма подписок можно подписываться на события следующих объектов:
- Справочники
- Документы
- Планы обмена
- Хранилища настроек
- Регистры сведений
- Пользователи
- Контракты сущностей
В случае подписки на события контракта сущности метод-подписка срабатывает при наступлении события у каждого из объектов, которые реализуют данный контракт. Например, если Справочник1 и Справочник2 реализуют контракт КонтрактСущности1, то метод подписки на событие КонтрактСущности1.Объект.ПередЗаписью сработает при наступлении события ПередЗаписью и у Справочника1, и у Справочника2.
Полный список типов и событий представлен в Событие
Сравнение
Ссылочное
Иерархия типа
Базовые типы: Аннотация, Объект
Параметры
Событие
Доступность: КлиентИСервер
ТолькоЧтение Можно использовать в позиционной форме
СобытиеПараметр, в котором задается событие, на которое создается подписка.
Примеры
Подписка на событие ПередЗаписью справочника Товары, объявленная в модуле объекта:
@Подписка(Событие{Товары.Объект.ПередЗаписью})
статический метод ЦеновойУчет(Источник: Товары.Данные,
ПредыдущееЗначение: Товары.Данные,
Параметры: Товары.ПараметрыЗаписи)
// Обработка события
;
Подписка на событие ПослеУдаления контракта сущности УчастникиОповещений, объявленная в общем модуле:
@Подписка(Событие{УчастникиОповещений.Объект.ПослеУдаления})
метод ПодпискаНаСобытиеПослеУдаленияКонтракта(Источник: УчастникиОповещений.Данные,
Параметры: УчастникиОповещений.ПараметрыУдаления)
// Обработка события
;