Документация для разработчиков

CountPriceWithDiscount

array
CCatalogProduct::CountPriceWithDiscount(
 double price,
 string currency,
 array arDiscounts
);

Метод применяет к цене price в валюте currency цепочку скидок из массива arDiscounts. Нестатический метод.

Примечание: до версии модуля 12.0 метод применял к цене price в валюте currency наибольшую скидку из массива arDiscounts.

Параметры вызова

ПараметрОписание
price Цена.
currency Валюта цены.
arDiscounts массив ассоциативных массивов скидок. Имеет вид:
array(
        array(
                "VALUE_TYPE" => "тип скидки 
                                (P - в процентах, 
                                 F - фиксированная сумма)",
                "VALUE" => "величина скидки",
                "CURRENCY" => "валюта",
                "MAX_DISCOUNT" => "максимальный размер скидки"
            ),
        array(
                "VALUE_TYPE" => "тип скидки 
                                (P - в процентах, 
                                 F - фиксированная сумма)",
                "VALUE" => "величина скидки",
                "CURRENCY" => "валюта",
                "MAX_DISCOUNT" => "максимальный размер скидки"
            ),
        * * *
    )

Возвращаемые значения

Метод возвращает цену, получившуюся после применения цепочки скидок.

Примечание: до версии модуля 12.0.0 метод возвращал наименьшую цену, которую можно было получить с помощью наибольшей скидки.

Пример использования

<?
// Для товара с кодом $ID выведем различные цены (по типу и количеству), по
// которым данный товар может быть куплен текущим пользователем

$dbPrice = CPrice::GetList(
        array("QUANTITY_FROM" => "ASC", "QUANTITY_TO" => "ASC", "SORT" => "ASC"),
        array("PRODUCT_ID" => $ID),
        false,
        false,
        array("ID", "CATALOG_GROUP_ID", "PRICE", "CURRENCY", "QUANTITY_FROM", "QUANTITY_TO")
    );
while ($arPrice = $dbPrice->Fetch())
{
    $arDiscounts = CCatalogDiscount::GetDiscountByPrice(
            $arPrice["ID"],
            $USER->GetUserGroupArray(),
            "N",
            SITE_ID
        );
    $discountPrice = CCatalogProduct::CountPriceWithDiscount(
            $arPrice["PRICE"],
            $arPrice["CURRENCY"],
            $arDiscounts
        );
    $arPrice["DISCOUNT_PRICE"] = $discountPrice;

    echo "<pre>";
    print_r($arPrice);
    echo "</pre>";
}
?>


© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх