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/
}
Copy link