2017-08-24 105 views
0

我试过Odoo 9并希望用一个新字段替换“总计”字段= amount_total这是XPath表达式的字段内容(sum_of_total)的一些附加的结果,但它的失败和不返回任何结果。
这里是我的XML代码:字段替换odoo使用xpath

<openerp> 
    <data> 
     <record id="purchase_order_form_training1" model="ir.ui.view"> 
      <field name="name">purchase.order.form1</field> 
      <field name="model">purchase.order</field> 
      <field name="inherit_id" ref="purchase.purchase_order_form"/> 
      <field name="arch" type="xml"> 
       <field name="amount_tax" position="after"> 
        <field name="down_payment" widget="monetary" options="{'currency_field':'currency_id'}"/> 
       </field> 
       <xpath expr="form1/sheet/page/group/field[@name='amount_total']" position="replace"> 
        <field name="sum_of_total"/> 
       </xpath> 
      </field> 
     </record> 
    </data> 
</openerp> 

的odoo日志没有显示我任何语法错误。任何人都可以帮助我确定根本原因吗?

下面请参阅了解sum_of_total是如何得到初始化

from openerp import models, fields, api, _ 

class purchase_order(models.Model): 
    _inherit = "purchase.order" 

    @api.one 
    @api.depends('down_payment', 'amount_total') 
    def get_total_after_dp(self): 
     dp = self.down_payment 
     tot = selt.amount_total 
     tota = tot + dp 
     self.sum_of_total = tota 

    sum_of_total = fields.Float('Total Amount', 
            compute='get_total_after_dp') 

    down_payment = fields.Float('Down Payment') 
+0

错误信息告诉了什么?尝试使用

+0

我认为错误来自expr中的form1。像Manu建议的那样尝试。使用'// field [@name = ...]'而不是 – thangtn

回答

1

有在采购订单视图中没有form1。 试试这个:

<xpath expr="form/sheet/notebook/page/group/field[@name='amount_total']" position="replace"> 
    <field name="sum_of_total"/> 
</xpath> 
+0

你也可以稍微缩短这个:'// field [@ name ='amount_total']'。您正在使用名称直接搜索字段,因此您不需要提供完整路径。 –

+0

是的,你也可以做到这一点。 –