2017-04-06 13 views
1

(openerp 7)では、私はこのようなことを行うために使用される:onchangeメソッド内で警告メッセージと更新フィールド値を組み合わせるにはどうすればよいですか? odoo odooの古いバージョンでは9

@api.multi 
@api.onchange('my_field') 
def my_field_change(self): 
    if condition is True: 
    return { 
      'warning': {'title': _('Error'), 'message': _('Error message'),}, 
      'value': { 'my_field': new_value }, 
      } 
:私はodoo 9でこれを実行したい場合は

@api.multi 
@api.onchange('my_field') 
def my_field_change(self, cr, uid, partner_ids, context=None): 
    if condition is True: 
    return { 
      'warning': {'title': _('Error'), 'message': _('Error message'),}, 
      'value': { 'my_field': new_value }, 
      } 

、私はこのコードを持っています

警告ウィンドウは表示されますが、値フィールドは無視されます。

フィールドの値を変更するにはどうすればよいですか?

答えて

2

odoo オレンジメソッドでは、古いバージョンのodooと同じ値を返すことはできません。

Onchangeメソッドは警告とドメインのみを返します。

@api.multi 
@api.onchange('my_field') 
def my_field_change(self): 
    self.field=value 
    return { 
     'warning': {'title': _('Error'), 'message': _('Error message'),}, 
     } 

Odooの新しいAPIでは、関連するフィールドに値を代入する必要はありません。

例:sale.field =値

これはあなたを助けるかもしれません。

+0

これだけです!どうもありがとう :) – MouTio

関連する問題