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-2024, «1С-Битрикс», 2024