Вот информация из просторов сети.
Скидка правила работы с корзиной добавляется методом:
CSaleDiscount::Add($arFields)
Купон правила работы с корзиной добавляется методом
Internals\DiscountCouponTable::add($fields);
Для данных методов нужно подключать модуль sale.
Описание функции CSaleDiscount::Add доступно по
ссылке .
Для метода Internals\DiscountCouponTable::add($fields); не предусмотрено описания, это не документированная функция. Её применение можно посмотреть в кода ядра в файле \bitrix\modules\sale\admin\discount_coupon_edit.php, а также в файле \bitrix\modules\sale\admin\discount_edit.php, где создается скидка-правило работы с корзиной.
Update 2017-06-21
Ниже пример кода, генерирующего купон для определенной скидки с установкой активности купона в 2 дня (привожу как есть, по коду много комментариев, думаю, все прозрачно и понятно)
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php'); class PaiCouponGeneration{ var $DISCOUNT_ID = 9; // идентификатор скидки var $PERIOD = '2 days'; // период активности купона если нужен будет 1 день - заменить на '1 day', // в остальных случаях - просто замена цифры function __construct() { \Bitrix\Main\Loader::includeModule('sale'); } function GetDiscountID(){ if(intval($this->DISCOUNT_ID)<=0){ $arDiscountFilter = array('ACTIVE'=>'Y','ID'=>$this->DISCOUNT_ID); // сюда можно прописать любые параметры фильтрации для поиска конктетной скидки по параметрам // если же нужно просто привязаться к какой-то конкретной скидке - прописываем ее идентификатор // в переменную $DISCOUNT_ID $saleDiscountDb = \CSaleDiscount::GetList(array('DATE_CREATE' => 'DESC'),$arDiscountFilter, false,false,array('ID','ACTIONS','CONDITIONS')); $saleDiscountId = null; if ($saleDiscount = $saleDiscountDb->Fetch()) { $saleDiscountId = $saleDiscount['ID']; } $this->DISCOUNT_ID = $saleDiscountId; } } function GenerateCoupon(){ $this->GetDiscountID(); if(intval($this->DISCOUNT_ID)>0){ $activeFrom = new \Bitrix\Main\Type\DateTime(); $activeTo = new \Bitrix\Main\Type\DateTime(); $activeTo = $activeTo->add($this->PERIOD); $coupon = \Bitrix\Sale\Internals\DiscountCouponTable::generateCoupon(true); $addDb = \Bitrix\Sale\Internals\DiscountCouponTable::add(array( 'DISCOUNT_ID' => $this->DISCOUNT_ID, 'COUPON' => $coupon, 'TYPE' => \Bitrix\Sale\Internals\DiscountCouponTable::TYPE_ONE_ORDER, 'ACTIVE_FROM' => $activeFrom, 'ACTIVE_TO' => $activeTo, 'MAX_USE' => 1, 'USER_ID' => 0, 'DESCRIPTION' => '' )); if ($addDb->isSuccess()) { echo $coupon; } else { echo $addDb->getErrorMessages(); } } else { echo 'Ошибка генерации купона скидки. Обратитесь к администратору сайта'; } } } $coupon = new PaiCouponGeneration(); $coupon->GenerateCoupon();
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.