• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/compatible/discountcompatibility.php
  • Класс: BitrixSaleCompatibleDiscountCompatibility
  • Вызов: DiscountCompatibility::setBasketItemData
static function setBasketItemData($code, $providerData)
{
	if ($code == '' || empty($providerData) || !is_array($providerData))
		return;
	if (isset($providerData['CUSTOM_PRICE']) && $providerData['CUSTOM_PRICE'] == 'Y')
	{
		static::clearBasketItemData($code);
		return;
	}
	if (isset($providerData['BASE_PRICE']) && isset($providerData['CURRENCY']))
		static::setBasketItemBasePrice($code, $providerData['BASE_PRICE'], $providerData['CURRENCY']);
	if (isset($providerData['DISCOUNT_LIST']))
	{
		if (!empty($providerData['DISCOUNT_LIST']) || isset(self::$basketDiscountList[$code]))
			static::setBasketItemDiscounts($code, $providerData['DISCOUNT_LIST']);
	}

	$fields['PRICE'] = static::getBasketItemBasePrice($code);
	if (empty($fields['PRICE']))
		return;

	self::$basketItemsData[$code] = $providerData;

	$fields['DISCOUNT_PRICE'] = 0;
	$fields['CURRENCY'] = self::$config['CURRENCY'];

	if (self::$config['SALE_DISCOUNT_ONLY'] == 'Y')
		return;
	static::calculateBasketItemDiscount($code, $fields);
}