Отмена заказа при смене статуса

Модуль расширенного управления меню для битрикс

Март 15, 2019

Теги: События, Как это сделать?, Магазин

Отмена заказа при переводе заказа в определенные статусы.

В данном примере будет установлен флаг отмены заказа при переводе заказа в статусы "O", "P":


<?php

    
namespace Partner;

$eventManager = \Bitrix\Main\EventManager::getInstance();
 
$eventManager->addEventHandler(
    
'sale',
    
'OnSaleStatusOrderChange',
    [
'\Partner\OrderAutomation''statusChange']
);

class 
OrderAutomation 
{
    function 
statusChange(\Bitrix\Main\Event $event)
    {
        
$order $event->getParameter("ENTITY");

        if(
in_array($order->getField('STATUS_ID'),array('O','P')))
        {
            
$orderToChange = \Bitrix\Sale\Order::load($order->getId());
            
$orderToChange->setField("CANCELED","Y");
            
$orderToChange->save();
            \
Bitrix\Sale\Provider::resetTrustData($order->getSiteId());
        }
        
    }
}

См. также:

← Переход к списку