OnSetPropsForItem

Событие вызывается после обработки импортируемых свойств. Событием можно изменить массив записываемых свойств.

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

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

    //Элемент БУС (массив)
    $itemBx = $eventParams['itemBx'];
    //Элемент МС (объект)
    $itemMs= $eventParams['itemMs'];
    //Массив импорируемых свойств модулем (ID Свойства БУС => ID Свойства МС)
    $propList = $eventParams['propList'];
    //Массив все текущих свойств товара в БУС (если не новый товар), нужно для сравнения
    $arAllPropsValues = $eventParams['arAllPropsValues'];
    //Массив, который можно менять для установки новых свойств. Метод CIblockElement::SetPropertyValuesBx
    $arPropsSets = $eventParams['arPropsSets'];
    //Флаг нового товара (товар создается или нет)
    $isNew= $eventParams['isNew'];
    
    //$arPropsSets['PROP_1'] = 'TEST'; //К примеру меняем у свойства с кодом PROP_1 значение на 'TEST'
    
    //Отправляем \Bitrix\Main\EventResult::SUCCESS только в случае, если нужно поменять данные перед отправкой
    //return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $arPropsSets);
    
    //\Rbs\MoyskladStocks\Logger::debugMsg($arPropsSets, 'importItemsLog.log'); //запись в логи, логи хранятся в папке /bitrix/rbs.moyskladstocks/logs/
}

Last updated