Документация для разработчиков
Темная тема

События после сохранения сущности

События

СобытиеОписание и параметрыПолные названия событий
On<наследник>EntitySaved Происходит непосредственно после сохранения сущности системы заказов.

Параметры
ENTITY Сохраняемый объект.
VALUES Cтарые значения полей.
IS_NEW Является ли отгрузка новой. Параметр доступен с версии sale 22.0.200 и только для события OnSaleShipmentEntitySaved.
OnSaleOrderEntitySaved

OnSaleBasketItemEntitySaved

OnSaleShipmentEntitySaved

OnSaleShipmentItemEntitySaved

OnSalePaymentEntitySaved

OnSalePropertyValueEntitySaved
где <наследник> – это один из наследников класса \Bitrix\Sale\Internals\Entity:
  • заказ – SaleOrder;
  • товар в корзине – SaleBasketItem;
  • отгрузка – SaleShipment;
  • товар в отгрузке – SaleShipmentItem;
  • оплата – SalePayment;
  • свойство заказа – SalePropertyValue.

Примеры

//рассмотрим пример использования события 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