• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discountbase.php
  • Класс: BitrixSaleDiscountBase
  • Вызов: DiscountBase::normalizeDiscountResult
protected function normalizeDiscountResult()
{
	if (!empty($this->orderData['BASKET_ITEMS']))
	{
		foreach (array_keys($this->orderData['BASKET_ITEMS']) as $basketCode)
		{
			$customPrice = $this->isCustomPriceByCode($basketCode);
			$basketItem = $this->orderData['BASKET_ITEMS'][$basketCode];
			$basketItem['DISCOUNT_PRICE'] = (!$customPrice
				? PriceMaths::roundPrecision($basketItem['DISCOUNT_PRICE'])
				: 0
			);
			if (!$customPrice)
			{
				if ($basketItem['DISCOUNT_PRICE'] > 0)
					$basketItem['PRICE'] = $basketItem['BASE_PRICE'] - $basketItem['DISCOUNT_PRICE'];
				else
					$basketItem['PRICE'] = PriceMaths::roundPrecision($basketItem['PRICE']);
			}
			$this->orderData['BASKET_ITEMS'][$basketCode] = $basketItem;
		}
		unset($basketItem, $customPrice, $basketCode);
	}
}