Skip to main content

Подписки на события

Механизм обработки событий объектов метаданных без изменения исходного кода. Работают строго ПОСЛЕ основного обработчика и только для событий объектов метаданных.

Ключевые моменты​

ОписаниеВажно
Объект метаданныхПодпискиНаСобытияЦентрализованное хранилище
НеинтрузивностьБез изменения кода объектовРабота с типовыми конфигурациями
Момент выполненияПосле основного обработчика событияВажный нюанс архитектуры
Только объектные событияНе для событий формТолько события объектов метаданных

Практическое применение​

Типовые сценарии:​

  1. Дополнительная проверка — валидация после основной логики
  2. Логирование/аудит — запись действий в журнал
  3. Интеграция — вызов внешних систем
  4. Расширение функционала — добавление бизнес-правил

Ответы на ключевые вопросы​

1. В какой момент отрабатывают подписки на события?​

После отработки основного обработчика события объекта.

Последовательность выполнения:
1. Событие возникает (например, ПередЗаписью)
2. Выполняется обработчик в модуле объекта
3. Выполняются ВСЕ подписки на это событие
4. Продолжается стандартный процесс

Ограничения и проблемы​

Что НЕЛЬЗЯ в подписках:​

  1. Изменять порядок событий — только "после основного"
  2. Обрабатывать события форм — только объекты метаданных
  3. Гарантировать порядок выполнения между подписками

Технические ограничения:​

  1. Производительность — много подписок замедляют работу
  2. Отладка — сложнее отследить источник ошибки
  3. Конфликты — несколько подписок могут мешать друг другу

Особенности реализации​

Требования к общим модулям:​

  • Сервер: Да
  • Внешнее соединение: Да (для COM)

Рекомендации по использованию​

Использовать подписки, когда:​

  • ✅ Нужно расширить типовую конфигурацию
  • ✅ Логика общая для разных объектов
  • ✅ Хочется избежать изменения исходного кода
  • ✅ Нужен централизованный контроль обработки

Не использовать, когда:​

  • ❌ Можно добавить логику в модуль объекта
  • ❌ Нужно обработать событие ДО основного кода
  • ❌ Работа с формами или необъектными событиями

Стандарт:​

  • Отключение при загрузке — проверка ОбменДанными.Загрузка