Из 1С приходит измененный заказ на сайт, что вызывает ряд ошибок(как пример: когда 1С разделяет позицию на несколько, при возвращении на сайт такого заказа позиции не разделяются, а сбрасывается количество до 1 и заказ пересчитывается и сумма уменьшается).
Хотим чтобы менялся только статус , а все остальное не трогалось. Как это сделать?
На событии OnSaleOrderBeforeSaved делаю проверку что из 1С, но не получаю нужного результата, так как в любом случае изменения из 1С приходят совместно с изменением статуса
Код |
---|
if($_REQUEST['type']=='sale' && $_REQUEST['mode']=='file') {
// А тут как оставить только статусы, убрав изменение остального
$order = $event->getParameter('ENTITY');
$ValArr = $event->getParameter('VALUES');
if(!empty($ValArr['STATUS_ID']) && $order->getField('STATUS_ID')!=$ValArr['STATUS_ID']){
return new EventResult(EventResult::SUCCESS);
}else{
return new EventResult(EventResult::ERROR);
}
}
|