• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/actions.php
  • Класс: BitrixSaleDiscountActions
  • Вызов: Actions::getActionConfiguration
static function getActionConfiguration(array $discount)
{
	$actionStructure = self::getActionStructure($discount);

	if(!$actionStructure || !is_array($actionStructure))
	{
		return null;
	}

	if($actionStructure['CLASS_ID'] != 'CondGroup')
	{
		return null;
	}

	if(count($actionStructure['CHILDREN']) > 1)
	{
		return null;
	}

	$action = reset($actionStructure['CHILDREN']);
	if($action['CLASS_ID'] != 'ActSaleBsktGrp')
	{
		return null;
	}

	$actionData = $action['DATA'];

	$configuration = array(
		'TYPE' => $actionData['Type'],
		'VALUE' => $actionData['Value'],
		'LIMIT_VALUE' => $actionData['Max']?: 0,
	);
	switch ($actionData['Unit'])
	{
		case 'CurEach':
			$configuration['VALUE_TYPE'] = SaleDiscountActions::VALUE_TYPE_FIX;
			break;
		case 'CurAll':
			$configuration['VALUE_TYPE'] = SaleDiscountActions::VALUE_TYPE_SUMM;
			break;
		default:
			$configuration['VALUE_TYPE'] = SaleDiscountActions::VALUE_TYPE_PERCENT;
			break;
	}

	return $configuration;
}