2017-08-24 84 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

是的,你也可以做到這一點。 –