Предварительно нужно создать статус заказа "Отменен" с кодом CN (Магазин - Статусы):
Затем добавить в init.php обработчик события
$bxEventManager = \Bitrix\Main\EventManager::getInstance();
$bxEventManager->addEventHandler('sale', 'OnSaleOrderBeforeSaved', 'OnSaleOrderBeforeSavedHandler');
function OnSaleOrderBeforeSavedHandler(\Bitrix\Main\Event $event)
{
/** @var \Bitrix\Sale\Order $order */
$order = $event->getParameter("ENTITY");
global $USER;
if (!$order->isNew()) {
$orderStatus = $order->getField("STATUS_ID");
if ($order->isCanceled() && ($orderStatus != "CN")) {
$order->setField("STATUS_ID", "CN");
$event->addResult(new \Bitrix\Main\EventResult(
\Bitrix\Main\EventResult::SUCCESS,
array(
"RESULT" => $order,
)
));
}
return;
}
}
Вот и всё. Теперь при отмене заказа будет меняться его статус
Больше полезных материалов в нашем Telegram канале. Вступайте и будем на связи! https://t.me/bf_conversion
Комментарии 2