5

我一直在尝试从发票 pdf 中删除这一行(税:)。它不知道它会这么难,花了我 5 个小时,我仍然被困住了。

它是销售发票中的打印按钮。在管理员中 在此处输入图像描述

请帮忙!

我最后一次尝试是

放置在if($totalInfo['source_field'] == 'tax_amount') {continue;}foreach下面()

在 Mage_Sales_Model_Order_Pdf_Abstract 的 _getTotalsList($Source) 中(稍后我将覆盖它)

    protected function _getTotalsList($source)
{
    $totals = Mage::getConfig()->getNode('global/pdf/totals')->asArray();
    usort($totals, array($this, '_sortTotalsList'));
    $totalModels = array();
    foreach ($totals as $index => $totalInfo) {

if($totalInfo['source_field'] == 'tax_amount') {continue;}

        if (!empty($totalInfo['model'])) {
            $totalModel = Mage::getModel($totalInfo['model']);
            if ($totalModel instanceof Mage_Sales_Model_Order_Pdf_Total_Default) {
                $totalInfo['model'] = $totalModel;
            } else {
                Mage::throwException(
                    Mage::helper('sales')->__('PDF total model should extend Mage_Sales_Model_Order_Pdf_Total_Default')
                );
            }
        } else {
            $totalModel = Mage::getModel($this->_defaultTotalModel);
        }
        $totalModel->setData($totalInfo);
        $totalModels[] = $totalModel;
    }

    return $totalModels;
}

但它没有用。

4

5 回答 5

0

要从 magento PDF 发票中删除税列-

您需要编辑的两个文件是:

  • 要删除标题: /app/code/local/Mage/Sales/Model/Order/Pdf/Invoice.php
  • 从每个单独的行项目中移除税款 /app/code/local/Mage/Sales/Model/Order/Pdf/Items/Invoice/Default.php

希望对你有帮助!!

否则,

参考这个链接

于 2013-07-23T07:16:55.030 回答
0

负责以 pdf 格式显示税收摘要的两个 magento 核心类是

Mage_Tax_Model_Sales_Pdf_Tax 
Mage_Sales_Model_Order_Pdf_Total_Default

您可以根据需要使用这些类文件来显示税务信息

于 2013-07-30T11:34:19.713 回答
0

您无法删除此行,因为总计仍为 1.10,只是隐藏了。如果您不想在产品中征税,只需在 magento 配置中禁用它。

去:

Sales > Tax > Manage Tax Rules

并将所有客户组的税收设置为 0。

于 2013-07-29T06:41:47.227 回答
0

我自己也遇到过几次这个问题,并找到了一些解决方法,但今天我想我终于找到了“正确”的解决方案。

如果您查看 layout/sales.xml,您会发现许多节点包含一个名称为 的块order_totals,并且在其中包含一个名称为 的块tax。这就是您的 PDF 中出现该行的原因。

我建议删除它的“正确”方法是将其添加到您的 layout/local.xml 文件中:

<sales_order_printinvoice>
    <reference name="order_totals">
        <remove name="tax"/>
    </reference>
</sales_order_printinvoice>

(如果您没有 layout/local.xml 文件,只需创建一个。)

这会将其从发票打印输出中删除,这就是问题中提到的内容。要从其他地方删除它,请确保您拥有正确的节点名称 - 例如,要将其从客户可以从其订单历史记录中访问的订单打印输出中删除,请使用以下命令:

<sales_order_print>
    <reference name="order_totals">
        <remove name="tax"/>
    </reference>
</sales_order_print>

...等等对于电子邮件等。只需查看 layout/sales.xml_totals以查看所有受影响的节点。

于 2015-05-13T11:51:25.370 回答
0

我希望您可以

System > Configuration > Sales > Tax 从该选择

Orders, Invoices, Credit Memos Display Settings选项卡中尝试在管理员中设置

Display Full Tax SummaryNo. 也有不同的设置。这会有所帮助。

在此处输入图像描述

于 2015-07-06T13:12:19.293 回答