Внимание:
События это заложенная разработчиком возможность вносить изменения в логику решения без кастомизации (с сохранением обновлений)
Для работы с событиями необходимы базовые навыки программирования. События позволяют сделать подстройку решения под индивидуальные требования сайта, поэтому их реализация не входит в стандартную техническую поддержку решения
Для модификации заказов созданных на основе сборочных заданий с 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;
}
}
}
}
}
?>
Эта информация оказалась полезной?
Да
Нет