• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/services/configurable.php
  • Класс: BitrixSaleDeliveryServicesConfigurable
  • Вызов: Configurable::calculateConcrete
protected function calculateConcrete(BitrixSaleShipment $shipment = null)
{
	$result = new CalculationResult;
	$price = $this->config["MAIN"]["PRICE"];

	if($shipment && BitrixMainLoader::includeModule('currency'))
	{
		$rates = new CCurrencyRates;
		$currency = $this->currency;
		$shipmentCurrency = $shipment->getCollection()->getOrder()->getCurrency();
		$price = $rates->convertCurrency( $price,  $currency, $shipmentCurrency);
	}

	$result->setDeliveryPrice(
		roundEx(
			$price,
			SALE_VALUE_PRECISION
		)
	);

	$result->setPeriodDescription($this->getPeriodText());
	$result->setPeriodFrom($this->config["MAIN"]["PERIOD"]["FROM"]);
	$result->setPeriodTo($this->config["MAIN"]["PERIOD"]["TO"]);
	$result->setPeriodType($this->config["MAIN"]["PERIOD"]["TYPE"]);

	return $result;
}