@tgarl

Как запретить менять составы, суммы заказов, разрешить только статусы?

При обмене с 1С из нее приходит не всегда такой же состав и суммы как были изначально в заказе. И проблема в том что сопоставить тоже не может битрикс: на сайте товар может отсутсвовать, а в 1С присутсвовать, так как дали добро использовать со склада который на сайт не выгружается, или в 1с товар разбился на несколько позиций и когда такой приходит на сайт, то сайт не может их так же разбить на несколько позиций, для него товар просто уменьшается в количестве и при сохранении происходит пересчет сумм.

Как правильно запретить изменять у заказа из 1С все кроме статусов?

Как понимаю нужно
На событии OnSaleOrderBeforeSaved делать проверку что из 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);
}
}

не работает как нужно
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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