+7 (843) 212-62-17 - Казань
+7 (843) 212-62-17 - Казань

Событие до начисления бонусов

Событие позволяет повлиять на параметры до начисления бонусов.

Пример события (код вставлять в init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler("logictim.balls", "BeforeAddBonus", "EventBeforeAddBonus");
function EventBeforeAddBonus(\Bitrix\Main\Event $event)
{
	$arFields = $event->getParameters();

        //Для примера отменим начисление
	$arFields["ADD_BONUS"] = 0;
	
	$result = new Bitrix\Main\EventResult($event->getEventType(), $arFields);
    return $result;
	
}

Пример использования для отмены начисления бонусов за заказы, выгруженных например из 1С (в номере заказа имеется идентификатор - в примере символ "С")
/* ДЛЯ МОДУЛЯ logictim.bonus  - отмена начисления бонусов за заказы с номерами "С"*/
\Bitrix\Main\EventManager::getInstance()->addEventHandler("logictim.balls", "BeforeAddBonus", "EventBeforeAddBonus");
function EventBeforeAddBonus(\Bitrix\Main\Event $event)
{
	$arFields = $event->getParameters();
	
	if($arFields['OPERATION_TYPE'] == 'ADD_FROM_ORDER' && $arFields['ADD_BONUS'] > 0):
		$order = \Bitrix\Sale\Order::load($arFields['ORDER_ID']);
		$orderNumber = $order->getField("ACCOUNT_NUMBER");
		if(strpos($orderNumber, 'C') !== false)
		{
			$arFields["ADD_BONUS"] = 0;
		}
	endif;

	$result = new Bitrix\Main\EventResult($event->getEventType(), $arFields);
    return $result;
	
}
/* ДЛЯ МОДУЛЯ logictim.bonus  - отмена начисления бонусов за заказы с номерами "С"*/






Возврат к списку