наверное, здесь вопрос уместнее будет ))
Здравствуйте!
Вопрос в следующем: Есть база 1С, вес там - через ",", из справочника, как я понимаю... Загружается в Битрикс это добро в отдельное свойство.
Использую обработчики событий, дабы исправить то, что не заносится в базу - правильный ВЕС и галочка УМЕНЬШАТЬ.
Вот файл init.php:
код функции SaveWeightToProp_1с проверял для конкретного элемента - всё ОК меняет... А в обработчике не пашет почему-то Галочка также не ставится...
Кто-нибудь может подсказать, из-за чего такое?
Здравствуйте!
Вопрос в следующем: Есть база 1С, вес там - через ",", из справочника, как я понимаю... Загружается в Битрикс это добро в отдельное свойство.
Использую обработчики событий, дабы исправить то, что не заносится в базу - правильный ВЕС и галочка УМЕНЬШАТЬ.
Вот файл init.php:
Код |
---|
<? AddEventHandler("sale", "OnProductAdd", "OnProductAdd"); AddEventHandler("iblock", "OnAfterIBlockElementAdd", "SaveWeightToProp_1с"); AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "SaveWeightToProp_1с"); function OnProductAdd(&$ID,$Fields) { $res=Array("QUANTITY_TRACE" => 'Y'); CCatalogProduct::Update($ID,$res); } function SaveWeightToProp_1с(&$arFields) { $db_props = CIBlockElement::GetProperty($arFields['ID'], $arFields['IBLOCK_ID'], "sort", "asc", Array("CODE"=>"CML2_weight")); if($ar_props = $db_props->Fetch()) if($ar_props['VALUE_ENUM']!="") { $weight = str_replace(",", ".", $ar_props['VALUE_ENUM']); $weight_tovar = (float) $weight; CModule::IncludeModule("catalog"); CCatalogProduct::Update($arFields['ID'], array("WEIGHT" => $weight_tovar)); } } ?> |
код функции SaveWeightToProp_1с проверял для конкретного элемента - всё ОК меняет... А в обработчике не пашет почему-то Галочка также не ставится...
Кто-нибудь может подсказать, из-за чего такое?