• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/ProductGrid/TaxCalculator.php
  • Класс: BitrixCrmMobileProductGridTaxCalculator
  • Вызов: TaxCalculator::calculate
public function calculate(float $basePrice, ?int $vatId = null, bool $vatIncluded = false): TaxCalculator
{
	if ($this->accounting->isTaxMode())
	{
		$this->taxRate = 0.0;
		$this->taxIncluded = false;
		$this->finalPrice = $basePrice;
		$this->priceBeforeTax = $basePrice;
	}
	else
	{
		$vat = $this->findVatRateOrDefault($vatId);

		$this->vatId = isset($vat['ID']) ? (int)$vat['ID'] : null;
		$this->vatName = isset($vat['NAME']) ? (string)$vat['NAME'] : null;
		$this->taxRate = isset($vat['VALUE']) ? (float)$vat['VALUE'] : 0.0;
		$this->taxIncluded = $vatIncluded;

		$this->finalPrice = $vatIncluded
			? $basePrice
			: $this->accounting->calculatePriceWithTax($basePrice, $this->taxRate);

		$this->priceBeforeTax = $this->accounting->calculatePriceWithoutTax($this->finalPrice, $this->taxRate);
	}

	return $this;
}