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

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

События

СобытиеОписание и параметрыПолные названия событий
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
Наверх