В некоторых проектах требуется передать кратность товара из свойства или характеристики в процессе обмена с 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

Готовы сделать всю работу за Вас
от750
  • 60 минут


Поработаем?

Опишите свой запрос, мы расчитаем стоимость вашей задачи.