Допиливаем логику обработки цен при импорте из 1С, вопрос как я могу получить цену создаваемого товара. Делаю так:
Код |
---|
//Проверка товара
//print_p() - это обёртка для echo '<pre>'; print_r($var); echo '</pre>';
function importProductPriceCheck(&$arFields){
$price = CPrice::GetBasePrice($arFields['ID']);
print_p($price, 'Цены для ID: ' . $arFields['ID']);
print_p($arFields, 'Создание товара');
die();
}
//Регистрируем обработчик
AddEventHandler('catalog', 'OnBeforeProductAdd', 'importProductPriceCheck');
|
Создаю товар, указываю цену, сохраняю, получаю такой die():
Код |
---|
Цены для ID: 10771:
Создание товара: Array
(
[ID] => 10771
[QUANTITY_TRACE] => D
[WEIGHT] =>
[WIDTH] =>
[LENGTH] =>
[HEIGHT] =>
[VAT_ID] => 0
[VAT_INCLUDED] => N
[CAN_BUY_ZERO] => D
[PRICE_TYPE] =>
[RECUR_SCHEME_TYPE] =>
[RECUR_SCHEME_LENGTH] =>
[TRIAL_PRICE_ID] =>
[WITHOUT_ORDER] =>
[BARCODE_MULTI] => N
[MEASURE] => 5
[SUBSCRIBE] => D
[QUANTITY] => 15
) |
CPrice::GetBasePrice() ничего не вернул. Не соображу как цену перехватить, вечно путаюсь в этих событиях =)