Как получить купон и сумму его скидки?

Чтобы получить купон и сумму его скидки в системе 1C-Bitrix, вам потребуется использовать модуль "Маркетинг и продажи" (Sale). В этом модуле есть специальный класс CCatalogDiscountCoupon, который предоставляет методы для получения информации о купонах и скидках.

1. Подключение модуля:
Для начала работы с модулем "Маркетинг и продажи" необходимо подключить его в файле php:

   <?php
   require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
   CModule::IncludeModule("sale");
   ?>

2. Получение информации о купоне и скидке:
Чтобы получить информацию о купоне и его скидке, вы можете использовать метод GetCoupon() класса CCatalogDiscountCoupon:

   <?php
   $coupon = 'COUPON_CODE';
   $couponInfo = CCatalogDiscountCoupon::GetCoupon($coupon);

   if (!$couponInfo)
   {
       echo "Купон не найден";
   }
   else
   {
       echo "Купон: " . $couponInfo["COUPON"] . "<br/>";
       echo "Скидка: " . $couponInfo["DISCOUNT_VALUE"] . "<br/>";
   }
   ?>

В этом примере мы передаем код купона в переменную $coupon и вызываем метод GetCoupon(), который возвращает информацию о купоне в виде массива. Затем мы проверяем, найден ли купон и выводим его код и сумму скидки.

3. Применение купона для расчета скидки:
Для применения купона и расчета скидки, вы можете использовать метод GetDiscountByCoupon() класса CCatalogProduct и передать в него код купона и ID товара:

   <?php
   $coupon = 'COUPON_CODE';
   $productId = 1234;

   $discountValue = CCatalogProduct::GetDiscountByCoupon($coupon, $productId);

   if ($discountValue === false)
   {
       echo "Произошла ошибка при расчете скидки";
   }
   else if ($discountValue == 0)
   {
       echo "Купон не применен";
   }
   else
   {
       echo "Скидка: " . $discountValue . "<br/>";
   }
   ?>

В этом примере мы передаем код купона в переменную $coupon и ID товара в переменную $productId. Затем мы вызываем метод GetDiscountByCoupon(), чтобы получить сумму скидки для данного товара с применением купона. Если возвращаемое значение равно false, значит произошла ошибка. Если значение равно 0, значит купон не применен. В противном случае, выводится сумма скидки.

Таким образом, для получения купона и суммы его скидки в системе 1C-Bitrix, вам потребуется подключить модуль "Маркетинг и продажи", использовать класс CCatalogDiscountCoupon для получения информации о купоне и его скидке, а также класс CCatalogProduct для применения купона и расчета скидки на товары.