В интернет магазине в правилах работы с корзиной создал скидку (если общая стоимость товаров >= 5000 руб., то скидка 5%).

Оформил заказ, скидка сработала и отображается в заказе.

Не понимаю как получить процент скидки программно.
Получаю заказ по id, получаю его скидки и вижу что скидка хранится в DISCOUNT_LIST => 4 => ACTIONS_DESCR_DATA => BASKET => 0 => VALUE, но мне не кажется разумным смотреть таким образом скидку.
содержимое $res
пробую сделать аналогично, но при этом еще и получить скидку по id
в итоге получаю, что DISCOUNT_VALUE = "0.00"
содержимое $asdas
Прошу подсказать как можно получить размер скидки на заказ (процент из сработавшего правила работы с корзиной) по заказу.
Оформил заказ, скидка сработала и отображается в заказе.
Не понимаю как получить процент скидки программно.
Получаю заказ по id, получаю его скидки и вижу что скидка хранится в DISCOUNT_LIST => 4 => ACTIONS_DESCR_DATA => BASKET => 0 => VALUE, но мне не кажется разумным смотреть таким образом скидку.
| Код |
|---|
$orderObj = Sale\Order::load($ar_orders['ID']); $discounts = $orderObj->getDiscount(); $res = $discounts->getApplyResult(true); |
содержимое $res
| Код |
|---|
result = {array} [8]
DELIVERY_LIST = {array} [0]
SHIPMENT_LIST = {array} [1]
DISCOUNT_LIST = {array} [1]
4 = {array} [10]
ID = {int} 4
NAME = "Скидка на заказ от 5000 руб. (5%)"
MODULE_ID = "sale"
DISCOUNT_ID = {int} 4
REAL_DISCOUNT_ID = "2"
USE_COUPONS = "N"
ACTIONS_DESCR = {array} [1]
BASKET = "скидка 5%"
ACTIONS_DESCR_DATA = {array} [1]
BASKET = {array} [1]
0 = {array} [4]
TYPE = {int} 2
VALUE = {float} 5.0
VALUE_TYPE = "P"
VALUE_ACTION = "D"
APPLY = "Y"
EDIT_PAGE_URL = "/bitrix/admin/sale_discount_edit.php?lang=ru&ID=2"
COUPON_LIST = {array} [0]
PRICES = {array} [2]
RESULT = {array} [2]
FULL_DISCOUNT_LIST = {array} [0]
CONVERTED_ORDER = "N" |
пробую сделать аналогично, но при этом еще и получить скидку по id
| Код |
|---|
$asdas = CSaleDiscount::GetByID(2); // 2 - id скидки, его получал выше из DISCOUNT_LIST => 4 => REAL_DISCOUNT_ID |
содержимое $asdas
| Код |
|---|
result = {array} [25]
ID = "2"
XML_ID = "discount_5"
LID = "s1"
SITE_ID = "s1"
NAME = "Скидка на заказ от 5000 руб. (5%)"
PRICE_FROM = null
PRICE_TO = null
CURRENCY = "RUB"
DISCOUNT_VALUE = "0.00"
DISCOUNT_TYPE = "P"
ACTIVE = "Y"
SORT = "100"
ACTIVE_FROM = null
ACTIVE_TO = null
TIMESTAMP_X = "16.07.2019 13:00:35"
MODIFIED_BY = "1"
DATE_CREATE = "11.07.2019 19:08:26"
CREATED_BY = "1"
PRIORITY = "2"
LAST_DISCOUNT = "Y"
VERSION = "3"
CONDITIONS = "a:3:{s:8:"CLASS_ID";s:9:"CondGroup";s:4:"DATA";a:2:{s:3:"All";s:3:"AND";s:4:"True";s:4:"True";}s:8:"CHILDREN";a:1:{i:0;a:3:{s:8:"CLASS_ID";s:16:"CondBsktAmtGroup";s:4:"DATA";a:3:{s:5:"logic";s:4:"EqGr";s:5:"Value";d:5000;s:3:"All";s:3:"AND";}s:8:"CHILDREN";a:0:{}}}}"
UNPACK = "function($arOrder){return (((CSaleBasketFilter::AmountFilter($arOrder, "") >= 5000))); };"
APPLICATION = "function (&$arOrder){\Bitrix\Sale\Discount\Actions::applyToBasket($arOrder, array (\n 'VALUE' => -7,\n 'UNIT' => 'P',\n 'LIMIT_VALUE' => 0,\n), "");};"
ACTIONS = "a:3:{s:8:"CLASS_ID";s:9:"CondGroup";s:4:"DATA";a:1:{s:3:"All";s:3:"AND";}s:8:"CHILDREN";a:1:{i:0;a:3:{s:8:"CLASS_ID";s:14:"ActSaleBsktGrp";s:4:"DATA";a:6:{s:4:"Type";s:8:"Discount";s:5:"Value";d:7;s:4:"Unit";s:4:"Perc";s:3:"Max";i:0;s:3:"All";s:3:"AND";s:4:"True";s:4:"True";}s:8:"CHILDREN";a:0:{}}}}" |
Прошу подсказать как можно получить размер скидки на заказ (процент из сработавшего правила работы с корзиной) по заказу.