События
События, срабатывающие перед отправкой данных о ценах (OnPriceUpload) и остатках (OnUpdateStock) товара, перед выгрузкой нового товара (onUploadItem). События могут быть использованы, например, для применения наценки или изменения количества товара. 
 
Событие перед созданием заказа "OnOrderNew". Может быть использовано для изменения полей заказа перед сохранением.

С версии 2.2.0 добавлены события перед изменением статуса заказа OnStatusNew и перед изменение стикера OnStikerNew

Пример обработчика в init.php

<?
AddEventHandler("maxyss.wb", "OnStockUpload", Array("MyClass", "OnUpdateStockMy"));
AddEventHandler("maxyss.wb", "OnUploadItem", Array("MyClass", "OnUploadItemMy"));


class MyClass
{
function OnUpdateStockMy(&$items)
{
foreach ($items as &$item){
$item['stock'] = '0';
}
return $items;
}
function onUploadItemMy(&$item, $id_element, $auth){
$ar_cards = CAddinMaxyssWB::GetCardForArticle($item['vendorCode'].$item['vendorCode'], $id_element , '', $auth);
if(!empty($ar_cards['data'])){
if( $ar_cards['data'][0]['vendorCode'] == $item['vendorCode'].$item['vendorCode']){
$item['vendorCode'] = $ar_cards['data'][0]['vendorCode'];
}
}
return $item;
}

} ?>


Пример для события создания заказа

<?
AddEventHandler("maxyss.wb", "OnOrderNew", Array("MaxyssCustomClass", "OnOrderNewMy"));

class MaxyssCustomClass {

function OnOrderNewMy(&$order_bitrix, $order_wb){

// здесь что-то делаем с $order_bitrix - это объект заказа в БУСе
// в $order_wb находятся данные с Озона

return $order_bitrix;

}
}?>
Пример для OnStatusNew и OnStikerNew: 
 <? AddEventHandler("maxyss.wb", "OnStikerNew", "OnStikerNewWb");
function OnStikerNewWb(&$order_bitrix, $order_wb, $ar_stiker){
$propertyCollection = $order_bitrix->getPropertyCollection();
foreach ($propertyCollection as $prop) {
$value = '';
switch ($prop->getField('CODE')) {
case 'WB_STICKER_ENCODED':
$value = $ar_stiker['sticker']['wbStickerEncoded'];
break;
}

if (!empty($value)) {
$prop->setValue($value);
}
}

return $order_bitrix;
} Пример для изменения Артикула перед поиском карточки товара на wb.ru AddEventHandler('maxyss.wb', 'OnGetCardWb', 'OnGetCardWbRal'); function OnGetCardWbRal(&$ar_cards, $a, $id_element, $UUID, $AUTHORIZATION){
if(isset($ar_cards['data']) && empty($ar_cards['data'])) {
$ar_cards = CAddinMaxyssWB::GetCardForArticle($a['code'].$a['code'], $id_element , $UUID, $AUTHORIZATION);
}
return $ar_cards;
}