2017-04-06 1 views
1

In älteren Versionen von odoo (OpenERP 7), habe ich solche Dinge zu tun:Wie kann ich eine Warnmeldung kombinieren und Feldwert innerhalb der Onchange-Methode aktualisieren? In 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 }, 
      } 

Wenn ich dies in odoo 9 tun will, habe ich diesen Code:

@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 }, 
      } 

Das Warnfenster wird angezeigt, aber das Wertfeld wird ignoriert.

Wie kann ich den Wert des Feldes ändern?

Antwort

2

In odoo Onchange Methode, können Sie nicht Wert wie ältere Version von odoo zurückgeben.

Onchange-Methode gibt nur Warnung und Domäne zurück.

In Odoo neue API keine Notwendigkeit, Wert in Dict zurückzugeben, nur Wert in relevanten Feld zuweisen.

Ex: sale.field = Wert

Dies kann Ihnen helfen.

+0

Das war's! Danke vielmals :) – MouTio