208 похожих чатов

Привет. Подскажите по купонам: как привязать купон к заказу? Те методы,

что есть не подходят. У меня к примеру купон на подарок, подарок я кладу в корзину сам через апи (не через функционал подарков).
Пробовал после оформления заказа привязать купон
\Bitrix\Sale\DiscountCouponsManager::init(
\Bitrix\Sale\DiscountCouponsManager::MODE_ORDER, [
"userId" => $order->getUserId(),
"orderId" => $order->getId()
]
);
$arCoupons = explode(",", $_REQUEST['COUPON']);
foreach ($arCoupons as $coupon){
\Bitrix\Sale\DiscountCouponsManager::add($coupon);
}
$discounts = $order->getDiscount();
$discounts->calculate();

Но купон считается не использованным и в таблицу b_sale_order_coupons не попадает. Хочу сделать это как-то через апи битрикса, чтобы в дальнейшем при обновлениях битрикса не было проблем, да и чтобы например если это одноразовый купон, он считался использованным уже.
Как мне привязать купон к заказу и сделать что он был использован, даже если он не был использован по версии битрикса?

5 ответов

22 просмотра

у меня от формулировки "использован, но не использован" шерсть на загривке дыбом встает. У вас всего-навсего своя схема добавления подарка (как я понимаю, автомат). сча файл кину. делается на событии ДО СОХРАНЕНИЯ заказа

Владислав-Vlad Автор вопроса
Eugene Zhukov
у меня от формулировки "использован, но не использ...

Спасибо. Я на событии onManagerCouponAdd "посадил" расчет. Там не хватало пары параметров. Я делал CUSTOM_PRICE=Y, но надо было провайдера указать, размер скидки и CUSTOM_PRICE=N (чтобы каллбак функция пересчитала корзину) и я так понял сделать $basket->refresh();

Владислав Vlad
Спасибо. Я на событии onManagerCouponAdd "посадил"...

лоза же ему лоза... что ж вы, как Колумб в Индию через Атлантику... берете файл, что я выложил (надо будет все пост накатать), в нем впихиваете свой купон, перед впихиванием добавляете товар в заказ. и все (надо будет только проверить, что с отгрузками все в порядке)

Владислав-Vlad Автор вопроса
Eugene Zhukov
у меня от формулировки "использован, но не использ...

Евгений, подскажите. Товар с 100% скидкой в корзине. В корзине и в оформлении заказа он приходит с 0 ценой (как подарок). Но если я выбираю товар через апи, то окончательная цена у него не как у подарка. Подскажите пожалуйста как через АПИ выбрать корзину, чтобы посмотреть - применился ли купон к товару и он стал подарочным. Я думал по цене смотреть, но он возвращает все цены без скидок и не определить подарок это или нет.

Владислав Vlad
Евгений, подскажите. Товар с 100% скидкой в корзин...

до момента оформления заказа в базе результатов скидок нет. работайте с объектом корзины и данными, которые отдает объект скидок

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта