This question has been flagged
class SoftOneInvoice(models.Model):    
    _inherit= "account.move"
    global_discount=fields.Float('global discount')
class SoftOneInvoiceLine(models.Model):
    _inherit= "account.move.line"     @api.onchange("discount")
    def _onchange_discount(self):
        self.move_id.global_discount=0.0

The code above doesn't update in form view  the custom field global_discount of account.move model when I change the discount field of an account move line.

 

Avatar
Discard
Best Answer

Try to use the write method as below:

self.move_id.write({'global_discount':0.0})

Avatar
Discard
Author

Tried with both .write and .update methods without success.

You can do it by override write method as below and you can add your conditions if you want to check the value of discount by using vals.get('discount') :

def write(self, vals):
res = super(SoftOneInvoiceLine, self).write(vals)
if 'discount' in vals:
self.move_id.global_discount=0.0
return res