• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/exchange/exportonecpackage.php
  • Класс: BitrixSaleExchangeExportOneCPackage
  • Вызов: ExportOneCPackage::getVatRateByShipment
protected function getVatRateByShipment(ShipmentImport $item, $orderTax)
{
	$result = array();

	$shipmentFields = $item->getFieldValues();
	/** @var Shipment $shipmemt */
	$shipmemt = $item->getEntity();
	if($shipmemt->getPrice()>0)
	{
		$vatRate = 0;
		$vatSum = 0;
		$order = $shipmemt->getParentOrder();
		/** @var BasketItem $basket */
		foreach ($order->getBasket() as $basket)
		{
			$vatRate = (float)$basket->getVatRate();
			$basketVatSum = $basket->getPrice()/($vatRate+1) * $vatRate;
			$vatSum += roundEx($basketVatSum * $basket->getQuantity(), 2);
		}

		$tax = roundEx((($shipmemt->getPrice() / ($vatRate+1)) * $vatRate), 2);

		if($orderTax > $vatSum && $orderTax == roundEx($vatSum + $tax, 2))
		{
			$result = array('VAT_RATE'=>$vatRate*100);
		}
	}
	return $result;
}