• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/actions.php
  • Класс: BitrixSaleDiscountActions
  • Вызов: Actions::getPercentByValue
static function getPercentByValue($basket, $value)
{
	$summ = 0;
	switch (static::getPercentMode())
	{
		case self::PERCENT_FROM_BASE_PRICE:
			foreach ($basket as $basketRow)
				$summ += (float)$basketRow['BASE_PRICE'] * (float)$basketRow['QUANTITY'];
			unset($basketRow);
			break;
		case self::PERCENT_FROM_CURRENT_PRICE:
			foreach ($basket as $basketRow)
				$summ += (float)$basketRow['PRICE'] * (float)$basketRow['QUANTITY'];
			unset($basketRow);
			break;
	}

	return static::roundZeroValue($summ > 0 ? ($value * 100) / $summ : 0);
}