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

Add

Описание и параметры

mixed
CCatalogDiscountCoupon::Add(
	array arFields
	boolean $bAffectDataFile = True
);

Метод добавляет купон для выбранной скидки. Нестатический метод.

Параметры вызова

Параметр ОписаниеС версииДо версии
arFields Ассоциативный массив параметров нового купона, ключами в котором являются названия параметров, а значениями - соответствующие значения:
  • DISCOUNT_ID - код (ID) скидки (обязательный)
  • ACTIVE - активность купона (Y|N) (необязательный), по умолчанию - Y
  • ONE_TIME - флаг одноразовости купона (необязательный). Может принимать одно из трёх значений: Y - на одну позицию заказа, O - на весь заказ, N - многоразовый, по умолчанию - Y.
  • COUPON - код купона (обязательный)
  • DATE_APPLY - дата применения купона (необязательный), если указать - одноразовый купон будет считаться использованным
  • DESCRIPTION - комментарий (необязательный)
Необязательные ключи, отсутствующие в массиве, получат значения по умолчанию.
bAffectDataFile Необязательный параметр, указывающий на необходимость перегенерировать файл скидок и купонов. Эти действия осуществляет метод CCatalogDiscount::GenerateDataFile().

Примечание: начиная с версии 12.0 параметр не требуется, т.к. с этой версии больше не используется файловый кеш скидок.
5.1.112.0.0

Возвращаемое значение

Метод возвращает код (ID) купона в случае успешного создания и false, если произошла ошибка. Для получения детальной информации об ошибке следует вызвать $APPLICATION->GetException().

Перед добавлением записи в таблицу осуществляется проверка параметров привязки методом CCatalogDiscountCoupon::CheckFields. Если проверка прошла успешно, производится запись в базу.

Смотрите также

Перед использованием метода необходимо сгенерировать код купона функцией CatalogGenerateCoupon().

Примеры использования

if (CModule::IncludeModule("catalog"))
{
	$COUPON = CatalogGenerateCoupon();

	$arCouponFields = array(
		"DISCOUNT_ID" => "4",
		"ACTIVE" => "Y",
		"ONE_TIME" => "Y",
		"COUPON" => $COUPON,
		"DATE_APPLY" => false
	);

	$CID = CCatalogDiscountCoupon::Add($arCouponFields);
	$CID = IntVal($CID);
	if ($CID <= 0)
	{
		$ex = $APPLICATION->GetException();
		$errorMessage = $ex->GetString();
		echo $errorMessage;
	}
}

© «Битрикс», 2001-2024, «1С-Битрикс», 2024