Odoo Help

2

Is it possible to call a function field method from onchange function.

By
Vikram
on 6/26/14, 7:36 AM 3,560 views

i created a function field tax_amount in sale_order_line. Now i want to call my function field from existing onchange function of product uom in sale order line. How to call a function field function from onchange function and give me example

(or)

Simply i want to compute a sale order amounts(amount_untaxed, amount_tax, amount_total) for each sale order line entries. Can be a solution or idea to achieve this

 

1
Akhil P Sivan
On 10/12/15, 10:38 PM

Hi,

Hope you are working with v8. I don't think, you need to override the onchange function.

If your tax_amount depends only on product uom, you can define the tax_amount as a compute field which depends on product_uom. onchange is default in compute fields. If tax_amount depends on more fields, you can include that also. For eg:

class sale_order_line(models.Model):
_inherit = 'sale.order.line'

tax_amount = fields.Float(compute='_get_tax_amount', string='Tax Amount')

@api.one
@api.depends('product_uom', 'product_id')
def _get_tax_amount(self):

//Your code here that calculates the tax value
self.tax_amount = tax value
0
Sharmila
On 5/12/17, 8:41 AM

Hi,

You can call the function field method from onchange method.

class sale_order_line(models.Model):
_inherit = 'sale.order.line'

tax_amount = fields.Float(compute='_get_tax_amount', string='Tax Amount')

@api.one
@api.depends('product_uom', 'product_id')
def _get_tax_amount(self):

//Your code here that calculates the tax value
self.tax_amount = tax value

0
René Schuster
On 6/26/14, 7:43 AM

Simply call your function from within the on_change method.

Take care of the scope and use self.function_name.

An example can be found in the hr_holidays module: onchange_date_from calls _get_number_of_days

 

Regards.

Yes! You can call a function(Normal) from onchange, but need to call a function _amount_tax_line (function field defined in column of sale.order.line class). A function field column is called when you press Save button but need to call from onchange_product_id function from sale.order.line...

Vikram
on 6/26/14, 10:07 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)

Stats

Asked: 6/26/14, 7:36 AM
Seen: 3560 times
Last updated: 5/12/17, 8:41 AM