Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Роли в системе
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
Клиенты
Вики
Затраты
Отчёты и аналитика
FAQ
Типы отчётов
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
Фильтры источников данных
Настройка и администрирование
Типовой порядок настройки системы
Язык формул и выражений
On-premises
API
История изменений
Термины и определения

Обработчик событий сущностей

Обновлено: 18.08.2025

Основные сценарии применения обработчика:

  • исходящие интеграции (например, отправить проект в 1С);
  • работа с данными (предварительно заполнить свойства, выполнить проверки);
  • взаимодействие с пользователями (отправить уведомление, поставить задачу на выполнение).

Обработчик представляет собой класс на C# для каждого типа сущности. В системе он наследует абстрактный класс EntityTypeCustomHooks<TEntity>. Методы в нём объявлены как virtual с реализацией по умолчанию Task.CompletedTask. Переопределять нужно только те методы, логика которых требуется.

Хуки операций с сущностью (CRUD)

В обработчике доступны четыре переопределяемых метода (хука), которые вызываются при операциях с сущностью:

Хук Когда вызывается Параметры
BeforeUpsert До вставки или обновления сущности. Используется для базовых проверок. context, detachedEntity
AfterUpsert После вставки или обновления. Предназначен для бизнес-логики: предзаполнение свойств, исходящие интеграции. context, contextEntity, detachedEntity
BeforeDelete До удаления сущности. context, detachedEntity
AfterDelete После удаления сущности. context, contextEntity

Хуки жизненного цикла и воркфлоу

Помимо CRUD-хуков в обработчике доступны три метода, связанные со сменой состояния и запуском воркфлоу:

Хук Когда вызывается Параметры
BeforeSetState До смены состояния сущности в жизненном цикле context, entity, oldStateId, newStateId
AfterSetState После смены состояния context, entity, oldStateId, newStateId
BeforeStartWorkflow Перед запуском воркфлоу по сущности context, contextEntity

Эти методы можно переопределять так же, как и остальные хуки. По умолчанию у них пустая реализация.

Параметры методов

В методы передаются следующие параметры:

  • context — контекст обработчика (CustomHooksContext). Представляет собой SDK для ограниченной работы с приложением;
  • detachedEntity — сущность, переданная через API пользователем;
  • contextEntity — сущность, извлечённая из БД для обновления. При вставке идентична detachedEntity.

Доступ к обработчику

Примечание

Для доступа требуются права на гранулу Настройки менеджера объектов.

Чтобы изменить обработчик, выполните следующие шаги:

  1. Перейти в компоненту Менеджер сущностей.
  2. Найти нужную сущность.
  3. Открыть вкладку Обработчик.

Вкладка обработчика

В настройках генерируется класс с именем CustomHooks, который наследует EntityTypeCustomHooks<ИмяТипаСущности>.

Содержание

Хуки операций с сущностью (CRUD) Хуки жизненного цикла и воркфлоу Параметры методов Доступ к обработчику
Ничего не найдено

Перейти на русскую версию?