I have an onchange function that creates an order line on the sales order, which fires when I put a discount value in the global_discount_rate field. The function is:
@api.onchange('global_discount_rate', 'global_discount_type')
def calculate_discount(self):
I need to call this onchange function from a function that I am attaching to a button in the same view. But I don't know the correct way to do it. I tried the following:
Attemp 1:
def create_line(self):
...
self.calculate_discount()
Attemp 2:
def create_line(self):
...
linevals = {
'global_discount_rate': disc,
'global_discount_type': self.global_discount_type
}
line = self.env['sale.order'].new(self)
line.calculate_discount()
linevals = line._convert_to_write(line._cache)
Neither creates the line I need in the sales order