События после сохранения сущности
События
Событие | Описание и параметры | Полные названия событий | ||||||
---|---|---|---|---|---|---|---|---|
On<наследник>EntitySaved | Происходит непосредственно после сохранения сущности системы заказов.
Параметры
|
OnSaleOrderEntitySaved
OnSaleBasketItemEntitySaved
OnSaleShipmentEntitySaved
OnSaleShipmentItemEntitySaved
OnSalePaymentEntitySaved
OnSalePropertyValueEntitySaved
| ||||||
где <наследник> – это один из наследников класса \Bitrix\Sale\Internals\Entity :
|
Примеры
//рассмотрим пример использования события OnSalePaymentEntitySaved: \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSalePaymentEntitySaved', 'myFunction' ); /* В обработчике определяется, что, если оплата выполняется через внутренний счет, то выполняются какие-то свои действия при сохранении сущности: */ function myFunction(\Bitrix\Main\Event $event) { /** @var Payment $payment */ $payment = $event->getParameter("ENTITY"); $oldValues = $event->getParameter("VALUES"); if ($payment->isInner()) { // это внутренний счет // . . . } }
//пример по выполнению некоторых действий при изменении статуса заказа \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderEntitySaved', 'OnStatusChange' ); function OnStatusChange(Bitrix\Main\Event $event) { $arEmailFields = array(); $order = $event->getParameter("ENTITY"); $oldValues = $event->getParameter("VALUES"); $arOrderVals = $order->getFields()->getValues(); if($arOrderVals['STATUS_ID'] == 'F' && isset($oldValues['STATUS_ID']) && $oldValues['STATUS_ID'] != 'F') // статус изменился { // Выполните необходимые вам действия // ... } }
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.