我正在$item->calcRowTotal()
对象上拨打Mage_Sales_Model_Quote_Item
。
这非常适合重置row total
和base row total
,但不会影响项目的行总计,包括税(row_total_incl_tax
)属性。
我假设我必须在新行总计后手动执行此操作,但我无法弄清楚如何正确计算税金并填充项目的row_total_incl_tax
属性
我们非常感谢任何建议。
答案 0 :(得分:1)
获取税率并重新计算row_total_incl_tax
。这是你如何获得税率。
假设您的订单没有。是101。
$sale = Mage::getModel('sales/sale)->load(101)
$taxModel = Mage::getModel('sales/order_tax')
->load($sale->getId(), 'order_id');
$taxRate = $taxModel->getPercent()
我想您知道如何根据row total
值计算税额。
修改强>:
根据产品征税:
$product = Mage::getModel('catalog/product')->load($item-getProductId());
$request = Mage::getSingleton('tax/calculation')
->getRateRequest()
->setProductClassId($product->getTaxClassId());
$taxRate = Mage::getSingleton('tax/calculation')
->getRate($request);
所以你知道税率,row_total_incl_tax
是税额*数量+总金额的总和(或者你可以随意计算)。您可能需要检查项目价格是否包含税,您可以通过Mage::getModel('Tax/Config')->priceIncludesTax()