odoo - 在销售订单总成本中添加tablerow

时间:2015-07-29 14:58:55

标签: xml odoo odoo-8

我正在尝试在总免税成本总税费之间的销售订单中添加额外的行。查看report_saleorder.xml时,我的行应添加到以下代码中:

<div class="row">
                <div class="col-xs-4 pull-right">
                    <table class="table table-condensed">
                        <tr class="border-black">
                            <td><strong>Total Without Taxes</strong></td>
                            <td class="text-right">
                                <span t-field="o.amount_untaxed"
                                    t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/>
                            </td>
                        </tr>
                        <tr>
                            <td>Taxes</td>
                            <td class="text-right">
                                <span t-field="o.amount_tax"
                                    t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/>
                            </td>
                        </tr>
                        <tr class="border-black">
                            <td><strong>Total</strong></td>
                            <td class="text-right">
                                <span t-field="o.amount_total"
                                    t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/>
                            </td>
                        </tr>
                    </table>
                </div>
            </div>

由于编辑核心xml不是一个选项,我想知道是否可以使用<xpath>执行此操作,但我不确定如何执行此操作。我已经在我的sale.py文件中创建了一个field并查看了他们的代码,我的xml应该是类似

<tr>
     <td>Insurance</td>
     <td class="text-right">
         <span t-field="o.amount_insurance" t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/>
     </td>
</tr>

非常感谢任何有关我如何能够做到这一点的帮助

1 个答案:

答案 0 :(得分:0)

是的,你绝对正确地修改现有代码并不是一个好主意,因为当你更新模块时你将失去更改,所以正确的方法是不继承视图,在这种情况下你需要继承视图模板{{1使用xpath标记将所需字段添加为所需字段:

如果您在界面本身进行操作,则使用以下语法创建新的视图记录,并从report_saleorder_document继承。

report_saleorder_document

如果您正在通过代码执行,则添加继承的视图定义。它应该是这样的:

enter image description here

通过代码更改创建新文件并添加以下代码:

<?xml version="1.0"?>

<data inherit_id="sale.report_saleorder_document">
    <xpath expr="//div[@class='col-xs-4 pull-right']/table/tr[2]" position="after">
    <tr>
         <td>Insurance</td>
             <td class="text-right">
             <span t-field="o.amount_insurance" t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/>
         </td>
    </tr>
    </xpath>
</data>

并且不要忘记在清单

下注册我们的文件

贝斯茨