• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/compatible/discountcompatibility.php
  • Класс: BitrixSaleCompatibleDiscountCompatibility
  • Вызов: DiscountCompatibility::convertCoupon
static function convertCoupon($coupon, $discount)
{
	$result = new SaleResult();

	if (!is_array($coupon))
	{
		$couponData = SaleDiscountCouponsManager::getEnteredCoupon($coupon, true);
		if (empty($couponData))
		{
			$result->addError(new MainEntityEntityError(
				Loc::getMessage('BX_SALE_DISCOUNT_ERR_COUPON_NOT_FOUND'),
				self::ERROR_ID
			));
			return $result;
		}
		$coupon = array(
			'COUPON' => $couponData['COUPON'],
			'TYPE' => $couponData['TYPE'],
			'COUPON_ID' => $couponData['ID'],
			'DATA' => $couponData
		);
		unset($couponData);
	}
	$coupon['ORDER_DISCOUNT_ID'] = $discount;
	$coupon['ID'] = 0;

	$orderCouponId = $coupon['COUPON'];
	if (!isset(self::$couponsCache[$orderCouponId]))
		self::$couponsCache[$orderCouponId] = $coupon;
	$result->setId($orderCouponId);
	$result->setData($coupon);
	unset($coupon, $orderCouponId);
	return $result;
}