События после сохранения сущности
События
| Событие | Описание и параметры | Полные названия событий | ||||||
|---|---|---|---|---|---|---|---|---|
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-2025, «1С-Битрикс», 2025