наверное, здесь вопрос уместнее будет ))
Здравствуйте!
Вопрос в следующем: Есть база 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с проверял для конкретного элемента - всё ОК меняет... А в обработчике не пашет почему-то
Галочка также не ставится...Кто-нибудь может подсказать, из-за чего такое?
| |