Необходимо при обновлении элемента устанавливать розничную цену товара добавив наценку к закупочной цене.
В init.php добавил код:
[CODE]AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("MyClass", "OnAfterIBlockElementUpdateHandler"));
class MyClass
{
function OnAfterIBlockElementUpdateHandler(&$arFields)
{
if($arFields["RESULT"]){
CModule::IncludeModule("catalog");
$product = CCatalogProduct::GetByID($arFields["ID"]);
$base_price = $product["PURCHASING_PRICE"]+($product["PURCHASING_PRICE"]*3)/100;
$b = CPrice::SetBasePrice($arFields["ID"],$base_price,$product["PURCHASING_CURRENCY"]);
}
}
}
[/CODE]Данный код не работает, не пойму почему.
Хотя CPrice::SetBasePrice возвращяет true.
Если вместо $arFields["ID"] задать, допустим, id другого элемента, то цена устанавливается. А цену изменяемого элемента изменить не удается.