Накопительные скидкитак как не нашел официальной документации решил коротко написать сам
$obDiscSave = new CCatalogDiscountSave();
$obDiscSave->GetByID($ID);
$obDiscSave->Add($arData)
$obDiscSave->Update($ID, $arData);
CCatalogDiscountSave::GetList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
CCatalogDiscountSave::GetRangeByDiscount($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
Пример получения скидок:
if(($rsDiscSaves = $obDiscSave->GetByID($ID)) && ($arData = $rsDiscSaves->Fetch())) {}
Array
(
[ID] => 3
[XML_ID] =>
[SITE_ID] => s1
[TYPE] => 1
[NAME] => Программа поощрения
[ACTIVE] => N
[SORT] => 500
[CURRENCY] => RUB
[ACTIVE_FROM] =>
[ACTIVE_TO] =>
[COUNT_PERIOD] => U
[COUNT_SIZE] => 0
[COUNT_TYPE] => Y
[COUNT_FROM] =>
[COUNT_TO] =>
[ACTION_SIZE] => 0
[ACTION_TYPE] => Y
[TIMESTAMP_X] => 07.03.2014 20:08:51
[MODIFIED_BY] => 1
[DATE_CREATE] => 07.03.2014 20:08:51
[CREATED_BY] => 1
) |
а так получаем величины скидок
$rsDiscRanges = CCatalogDiscountSave::GetRangeByDiscount(array('RANGE_FROM' => 'ASC'),array('DISCOUNT_ID' => $ID));
while ($arDiscRange = $rsDiscRanges->Fetch())
{
$arRanges[] = $arDiscRange;
}
Array
(
[0] => Array
(
[ID] => 1
[DISCOUNT_ID] => 3
[RANGE_FROM] => 100 /// сумма от которой начнет действовать
[VALUE] => 1 /// величина скидки
[TYPE] => P /// тип скидки
)
[1] => Array
(
[ID] => 2
[DISCOUNT_ID] => 3
[RANGE_FROM] => 150
[VALUE] => 2
[TYPE] => P
)
[2] => Array
(
[ID] => 3
[DISCOUNT_ID] => 3
[RANGE_FROM] => 250
[VALUE] => 3
[TYPE] => P
)
)
|