- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/tax.php
- Класс: BitrixSaleTax
- Вызов: Tax::loadAvailableList
protected function loadAvailableList()
{
$order = $this->getOrder();
$basket = $order->getBasket();
if (!$basket)
return null;
$availableList = array();
if (!$order->isUsedVat())
{
$taxExemptList = static::loadExemptList($order->getUserId());
$taxRateRes = CSaleTaxRate::GetList(
array("APPLY_ORDER" => "ASC"),
array(
"LID" => $order->getSiteId(),
"PERSON_TYPE_ID" => $order->getPersonTypeId(),
"ACTIVE" => "Y",
"LOCATION_CODE" => $order->getTaxLocation(),
)
);
while ($taxRate = $taxRateRes->GetNext())
{
if (!in_array(intval($taxRate["TAX_ID"]), $taxExemptList))
{
if ($taxRate["IS_PERCENT"] != "Y")
{
$taxRate["VALUE"] = PriceMaths::roundPrecision(CCurrencyRates::convertCurrency($taxRate["VALUE"], $taxRate["CURRENCY"], $order->getCurrency()));
$taxRate["CURRENCY"] = $order->getCurrency();
}
$availableList[] = $taxRate;
}
}
}
else
{
$availableList[] = array(
"NAME" => MainLocalizationLoc::getMessage("SOA_VAT"),
"IS_PERCENT" => "Y",
"VALUE" => $order->getVatRate() * 100,
"VALUE_FORMATED" => "(".($order->getVatRate() * 100)."%, ".GetMessage("SOA_VAT_INCLUDED").")",
"VALUE_MONEY" => $order->getVatSum(),
"VALUE_MONEY_FORMATED" => SaleFormatCurrency($order->getVatSum(), $order->getCurrency()),
"APPLY_ORDER" => 100,
"IS_IN_PRICE" => "Y",
"CODE" => "VAT"
);
}
return $availableList;
}