Модификация заказов созданных на основе данных с WB

Внимание:
События это заложенная разработчиком возможность вносить изменения в логику решения без кастомизации (с сохранением обновлений)

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

Для модификации заказов созданных на основе сборочных заданий с WB вы можете использовать стандартное событие OnSaleOrderBeforeSaved


Пример использования события (в заказах созданных решением проверяем наличие заполненного email'а и если он не заполнен подставляем дефолтный):
<? \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderBeforeSaved', 'onSaleOrderModifyWbData' ); function onSaleOrderModifyWbData(\Bitrix\Main\Event $event){ $order = $event->getParameter("ENTITY"); if($order) { $propertyCollection = $order->getPropertyCollection(); $propsData = array(); foreach ($propertyCollection as $propertyItem) { if (!empty($propertyItem->getField("CODE"))) { $propsData[$propertyItem->getField("CODE")] = trim($propertyItem->getValue()); } } if(intval($propsData["AWB_ORDERID"]) > 0){ foreach ($propertyCollection as $propertyItem) { switch ($propertyItem->getField("CODE")) { case 'EMAIL': if(!$propsData["EMAIL"]){ $propertyItem->setField("VALUE", "no-reply@wb.ru"); } break; } } } } } ?>