Задать вопрос
@Yariy

Можно ли принудительно вызвать обработку конкретного события для конкретной сущности в Битрикс?

Собственно, вопрос в том, как зная ID сущности, таблицу сущности (если это HL) или ID инфоблока (если это ИБ), идентификатор события (Add, Update, AfterAdd, AfterUpdate), то можно как-то инициировать вызов всех соответсвующих обработчиков событий?
  • Вопрос задан
  • 93 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
зачем вручную-то? Если нужно запустить обработчики BeforeUpdate/AfterUpdate, проще вызвать штатный API: (new CIBlockElement)->Update($id, $fields) для ИБ или SomeHLTable::update($id, $fields) для HL. Они сами запустят нужные обработчики с правильным контекстом.

Если нужна именно имитация без изменения данных:
$event = new \Bitrix\Main\Event($module, 'EventName', $params); $event->send();
, но параметры придётся собирать вручную в нужном формате, иначе обработчики могут глючить.
Ответ написан
Комментировать
nefone
@nefone
Junior PHP разработчик
В 1С-Битрик для регистрации обработчиков событий есть класс EventManager
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы