• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/tax.php
  • Класс: BitrixSaleTax
  • Вызов: Tax::save
public function save()
{

	$result = new Result();
	/** @var Order $order */
	if (!$order = $this->getOrder())
	{
		throw new MainObjectNotFoundException('Entity "Order" not found');
	}

	//DoSaveOrderTax

	/** @var CSaleTax $className */
	$className = static::getTaxClassName();
	$className::DoSaveOrderTax($order->getId(), $this->getTaxList(), $errors);

	if (!empty($errors) && is_array($errors))
	{
		foreach ($errors as $error)
		{
			$result->addError(new MainEntityEntityError($error));
		}
	}


	if ($order->getId() > 0)
	{
		$registry = Registry::getInstance(static::getRegistryType());
		/** @var OrderHistory $orderHistory */
		$orderHistory = $registry->getOrderHistoryClassName();

		$orderHistory::collectEntityFields('TAX', $order->getId());
	}

	return $result;
}