OnAfterUpdateItems

Событие вызывается после массовой обработки найденных элементов из МойСклад. Событие нужно именно тогда, когда необходимо использовать одновременно оба элемента из МойСклад и из БУС, в ином случае можно использовать стандартные события обновления \ создания элементов.

Пример вызова события (файл init.php)

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'rbs.moyskladstocks',
    'OnAfterUpdateItems',
    'OnAfterUpdateItemsHandler'
);

function OnAfterUpdateItemsHandler(\Bitrix\Main\Event $event)
{
    $eventParams = $event->getParameters();

    $entity= $eventParams['entity']; //сущность в МойСклад, которая обрабатывается (четыер варианта значения: product / variant / bundle / service)
    $items = $eventParams['items']; //массив обрабатываемых объектов (ниже пример их обработки)

    foreach ($items as $xmlId => $currentItem) {
        // $xmlId -- внешний код элемента, для модификаций это значение будет без решетки # во внешнем коде
        $itemBx = $currentItem['BX']; //сущность в битриксе, доступ к полям идет через ассоциативный массив
        $item = $currentItem['MS']; //сущность в МС, доступ к полям идет через свойства объекта
    }
    
    // \Rbs\MoyskladStocks\Logger::debugMsg($arItems, 'updateItemsLog.log'); //запись в логи, логи хранятся в папке /bitrix/rbs.moyskladstocks/logs/
}

Last updated