Какие скидки были применены к товарам в заказе

541
Алексей,
Какие скидки были применены к товарам в заказе

Нужен всего один метод OrderEdit::getOrderedDiscounts, его нет в документации, т.к. используется только в админке битрикс.

Нужен всего один метод OrderEdit::getOrderedDiscounts, его нет в документации, т.к. используется только в админке битрикс. Первым параметром передайтеся объект заказа, а второй указывает необходимость перерасчета.

$discountsList = \Bitrix\Sale\Helpers\Admin\OrderEdit::getOrderedDiscounts($order, false);

В $discountsList будет массив вида:

"RESULT" => [
	"BASKET" => [
		933136 => [
			"DISCOUNT_ID" => 14706,
			"COUPON_ID" => "",
			"APPLY" => "Y",
			"DESCR" => "скидка 10%, не более 9 999 р. (330 р.)"
		],
		933137 => ['...']
	],
	"DELIVERY" => ['...']
]

Т.е. для каждого товара корзины будут указаны применённые скидки. Также в массиве "PRICES" будет информация о сумме скидки, а в "DISCOUNT_LIST" информация о самой скидке

Еще из метода getDiscount можно получить информцию. Например, о размере скидки (330р) конкретной скидки (Акция - 10%) на каждый товар. Вызывается у объекта заказа.

$order->getDiscount()->getApplyResult()

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 30 октября 2023 | Обновлено 20 ноября 2023
скидки, разработчику, примеры d7, ядро, интернет-магазин, корзина
Поделиться
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Нужен всего один метод OrderEdit::getOrderedDiscounts, его нет в документации, т.к. используется только в админке битрикс.