Документация для разработчиков

DiscountCouponTable

DiscountCouponTable - класс для работы с таблицей купонов правил корзины.

Методы класса

МетодОписание С версии
addPacketМетод создает один или несколько купонов для правила корзины. 14.11.0
checkCouponМетод проверяет купон на уникальность и существование. 14.11.0
checkDiscountIdМетод проверяет поле с идентификатором правила. 14.11.0
checkPacketМетод проверяет данные для создания одного или нескольких купонов. 14.11.0
checkTypeМетод проверяет поле TYPE (тип купона). 14.11.0
clearDiscountCheckListМетод очищает список правил, чтобы обновить флаг Имеет купоны. 14.11.0
deleteByDiscountМетод удаляет все купоны для правила с кодом $discount. 14.11.0
disableCheckCouponsUseМетод запрещает пересчет флага Имеет купоны для правил после вызова методов add/update/delete. 14.11.0
enableCheckCouponsUseМетод разрешает пересчет флага Имеет купоны для правил после вызова методов add/update/delete. 14.11.0
generateCouponМетод генерирует код купона. 14.11.0
getCouponTypesМетод возвращает список типов купонов. 14.11.0
getMapМетод возвращает список полей для таблицы купонов правил корзины. 14.11.0
getTableNameМетод возвращает название таблицы купонов правил корзины в базе данных. 14.11.0
isCheckedCouponsUseМетод определяет пересчитывать ли у правил корзины, относящихся к обработанным купонам, флаг Имеет купоны. 14.11.0
isValidCouponTypeМетод проверяет валиден ли тип купона. 14.11.0
onAfterAddЯвляется обработчиком по умолчанию события onAfterAdd. 14.11.0
onAfterDeleteЯвляется обработчиком по умолчанию события onAfterDelete. 14.11.0
onAfterUpdateЯвляется обработчиком по умолчанию события onAfterUpdate. 14.11.0
onBeforeAddЯвляется обработчиком по умолчанию события onBeforeAdd. 14.11.0
onBeforeUpdateЯвляется обработчиком по умолчанию события onBeforeUpdate. 14.11.0
onDeleteЯвляется обработчиком по умолчанию события onDelete. 14.11.0
onUpdateЯвляется обработчиком по умолчанию события onUpdate. 14.11.0
prepareCouponDataМетод подготавливает данные по купону. 14.11.0
saveAppliedМетод сохраняет информацию о применененных купонах. 14.11.0
setDiscountCheckListМетод заполняет список правил, чтобы обновить флаг Имеет купоны. 14.11.0
updateUseCouponsМетод обновляет флаг Имеет купоны для списка правил корзины. 14.11.0
validateCouponМетод возвращает валидатор для поля COUPON (код купона). 14.11.0
validateDiscountIdМетод возвращает валидатор для поля DISCOUNT_ID (идентификатор правила). 14.11.0
validateTypeМетод возвращает валидатор для поля TYPE (тип купона). 14.11.0

Поля купонов правил работы с корзиной

Поле Описание Тип Обяз.
ID Идентификатор купона.Int Да
DISCOUNT_ID Идентификатор правила.Int Да
ACTIVE Флаг активности (Y/N). Char(1) Да
ACTIVE_FROM Дата начала активности. Datetime Нет
ACTIVE_TO Дата окончания активности. Datetime Нет
COUPON Код купона.Varchar(32) Да
TYPE Тип купона.Int Да
MAX_USE Максимально возможное количество использований купона.Int Да
USE_COUNT Количество раз использований купона.Int Да
USER_ID Код пользователя - владельца купона.Int Да
DATE_APPLY Дата и время последнего применения купона.Datetime Нет
TIMESTAMP_X Дата и время последнего изменения купона. Datetime Нет
MODIFY_BY Код последнего изменившего купон. Int Нет
DATE_CREATE Дата и время создания купона.Datetime Нет
CREATED_BY Код пользователя, создавшего купон.Int Нет
DESCRIPTION Комментарий к купону. Text Нет


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Алексей Попович
Пример добавления одного купона к  скидкам корзины:
Код
if(Main\Loader::includeModule('sale')){
   $COUPON = Internals\DiscountCouponTable::generateCoupon(true);;
   $fields = array(
      "DISCOUNT_ID" => "1", // ИД скидки
      "ACTIVE" => "Y",
      "TYPE" => Internals\DiscountCouponTable::TYPE_ONE_ORDER,
      "COUPON" => $COUPON,
      "DATE_APPLY" => false
   );

   $result = Internals\DiscountCouponTable::add($fields);
   if (!$result->isSuccess())
   {
      $res =  $result->getErrorMessages();
   } else {
      $res = $result->getId();
   }

var_dump($COUPON);
var_dump($res);
}
0
Андрей Воробьев
Код
CModule::IncludeModule('sale');
   $coupon = \Bitrix\Sale\Internals\DiscountCouponTable::generateCoupon(true);
   $couponsResult = \Bitrix\Sale\Internals\DiscountCouponTable::add(
         array(
         'COUPON' => $coupon,
         'DISCOUNT_ID' => 11,
         'USER_ID' => $arFields['ID'],
         'ACTIVE_FROM' => null,
         'ACTIVE_TO' => null,
         'TYPE' => \Bitrix\Sale\Internals\DiscountCouponTable::TYPE_ONE_ORDER,
         'MAX_USE' => 1
         )
   );
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх