Задать вопрос
@anton99zel
29а класс средней школы №7

Как выполнить код по событию «смена статуса заказа» в битрикс?

В init.php нужно добавить код, который выполнится при переводе в админке статуса заказа на F - доставлен. В данный код нужно еще передать номер заказа у которого этот статус сменился.
Я так понял нужно написать код по событию OnSaleStatusOrder
Как выполнить код по событию "смена статуса заказа" в битрикс?
  • Вопрос задан
  • 5003 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ArmBar
Если код нужен до смены статуса, то OnSaleBeforeStatusOrderChange, если после - то OnSaleStatusOrderChange
\Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSaleStatusOrderChange', ['Handler', 'OnSaleStatusOrderChange']);

class Handler {
	function OnSaleStatusOrderChange($event)
	{
		$parameters = $event->getParameters();
		if ($parameters['VALUE'] === 'F')
		{
			/** @var \Bitrix\Sale\Order $order */
			$order = $parameters['ENTITY'];
			/**
			 *
			 * Your code is here
			 *
			 */
		}

		return new \Bitrix\Main\EventResult(
			\Bitrix\Main\EventResult::SUCCESS
		);
	}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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