[QUOTE]Событие устарело. Будет работать только если в настройках модуля [B]Каталог[/B] включена опция [B]Включить поддержку устаревших событий[/B].[/QUOTE]
Пример работы с событием нового ядра
[CODE]\Bitrix\Main\EventManager::getInstance()->addEventHandler('catalog','\Bitrix\Catalog\Model\Product::OnBeforeUpdate','onBeforeProductUpdate');
function onBeforeProductUpdate(\Bitrix\Catalog\Model\Event $event){
$result = new \Bitrix\Catalog\Model\EventResult();
/**
* получаем поля товара
*/
$arFields = $event->getParameter('fields');
/**
* получаем ID товара
*/
$id = $event->getParameter('primary')['ID'];
/**
* модифицируем поле "MEASURE"
*/
$arFields['MEASURE']= 10;
$result->modifyFields($arFields);
/**
* удаляем поле "QUANTITY"
*/
$unsetFields= ['QUANTITY'];
$result->unsetFields($unsetFields);
return $result;
}[/CODE]
Пример работы с событием нового ядра
[CODE]\Bitrix\Main\EventManager::getInstance()->addEventHandler('catalog','\Bitrix\Catalog\Model\Product::OnBeforeUpdate','onBeforeProductUpdate');
function onBeforeProductUpdate(\Bitrix\Catalog\Model\Event $event){
$result = new \Bitrix\Catalog\Model\EventResult();
/**
* получаем поля товара
*/
$arFields = $event->getParameter('fields');
/**
* получаем ID товара
*/
$id = $event->getParameter('primary')['ID'];
/**
* модифицируем поле "MEASURE"
*/
$arFields['MEASURE']= 10;
$result->modifyFields($arFields);
/**
* удаляем поле "QUANTITY"
*/
$unsetFields= ['QUANTITY'];
$result->unsetFields($unsetFields);
return $result;
}[/CODE]