• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/productrow.php
  • Класс: Bitrix\Crm\ProductRow
  • Вызов: ProductRow::normalizeDiscountForMonetary
protected function normalizeDiscountForMonetary(Result $result): void
{
	if (is_null($this->getDiscountSum()))
	{
		$result->addError(new Error(
			'Discount Sum (DISCOUNT_SUM) is required if '
			. "Monetary Discount Type (DISCOUNT_TYPE_ID) is used. ID = {$this->getId()}",
			static::ERROR_CODE_NORMALIZATION_DISCOUNT_SUM_REQUIRED,
		));
		return;
	}

	$priceBeforeDiscount = $this->getPriceExclusive() + $this->getDiscountSum();
	$discountRate = Discount::calculateDiscountRate($priceBeforeDiscount, $this->getPriceExclusive());

	$this->setDiscountRate($discountRate);
}