Коэффициент единицы измерения из характеристики товара
от v2Team
В некоторых проектах требуется передать кратность товара из свойства или характеристики в процессе обмена с 1с. Для решения этой задачи можно использовать функцию-обработчик OnAfterIBlockElementUpdate
Для того что бы реализовать эту задачу необходимо в файл init.php вписать следующий код
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "OnAfterIBlockElementUpdateHandler");
function OnAfterIBlockElementUpdateHandler(&$arFields){
CModule::IncludeModule("iblock");
$rsRatios = CCatalogMeasureRatio::getList(Array(), array('IBLOCK_ID' => $arFields['IBLOCK_ID'], 'PRODUCT_ID' => $arFields['ID']), false, false);
while ($arRatio = $rsRatios->Fetch()) {
$ratId= $arRatio['ID'];
}
if($arFields['PROPERTY_VALUES']['108']['n6']['VALUE'] > 0) {
CCatalogMeasureRatio::update($ratId, Array('PRODUCT_ID' => $arFields['ID'], 'RATIO' => $arFields['PROPERTY_VALUES']['108']['n6']['VALUE']));
}
}
В данном примере кратность товара берется из множественного свойства реквизиты. ID этого свойства 108, а номере элемента массива этого свойства, в котором передается кратность - 6
Поработаем?
Опишите свой запрос, мы расчитаем стоимость вашей задачи.