У торговых предложений одного товара разыне веса. Я передаю вес из 1С с помощью доп свойства.
В init.php пишу:
Через логи показывает что все проходит как надо: вес получаю, ид торгового предложения правильный, а в итоге поле вес все равно 0.
В init.php пишу:
Код |
---|
AddEventHandler( "iblock", "OnAfterIBlockElementUpdate", array( "class_import", "FillTheWeight" ) ); class class_import { function FillTheWeight($arFields){ $arCatalogID=array(14); if( in_array($arFields['IBLOCK_ID'], $arCatalogID) ){ $arItem = CIBlockElement::GetList( false, array( 'IBLOCK_ID' => $arFields['IBLOCK_ID'], 'ID' => $arFields['ID'] ), false, false, array( 'ID', 'PROPERTY_VES_BRUTTO_KG_' ) )->fetch(); if( $arItem['PROPERTY_VES_BRUTTO_KG__VALUE'] ){ AddMessage2Log('hvoost Вес получен ' . $arItem['PROPERTY_VES_BRUTTO_KG__VALUE'] * 1000 . ' будет установлен для ID ' . $arFields['ID']); $weightFields = array("WEIGHT" => $arItem['PROPERTY_VES_BRUTTO_KG__VALUE'] * 1000); if(CCatalogProduct::Update($arFields['ID'], $weightFields)) AddMessage2Log('hvoost Вес установлен'); else AddMessage2Log('hvoost Ошибка при установке веса'); } } } } |