2017-08-24 11 views
0

私はOdoo 9を試しましたが、 "Total"フィールド= amount_totalをフィールドコンテンツ(sum_of_total)のいくつかの追加結果である新しいフィールドに置き換えたいと思います。結果を返さない。ここ
は私のXMLコードです:フィールドはxpathを使用してodooに置き換えます

<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が購入注文フォームビューにはform1はありません

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

正確にエラーメッセージには何が伝えられましたか?フィールド名= "sum_of_total" /> –

+0

エラーは、exprの 'form1'によると思います。マヌーが提案したようにしてください。代わりに '// field [@name = ...]'を使用してください – thangtn

答えて

1

初期化なっているかを理解するには、以下をご参照ください。 試してみてください:

<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

はい、あなたもそれを行うことができます。 –

関連する問題