Skip to Content
Menu
This question has been flagged
3 Replies
1577 Views

I need to fetch the fields and its values from Settings > Accounting > Taxes, particularly the Avatax configs. 


I tried self.env['res.config.settings'] but it always returns False

Avatar
Discard
Author

this is resolved apparently i'm looking at the wrong model

Best Answer

you can use the ir.config_parameter model. Here's an example of how you can retrieve the Avatax configuration values:

avatax_account_number = self.env['ir.config_parameter'].sudo().get_param('account.avatax_account_number') avatax_license_key = self.env['ir.config_parameter'].sudo().get_param('account.avatax_license_key'

# Fetch other Avatax configuration fields as needed

# Process the retrieved values as required

In the above code, account.avatax_account_number and account.avatax_license_key are the parameter keys for the Avatax configuration fields.

Make sure to import the ir.config_parameter model in your Python file:

from odoo import models, fields, api

Note: The specific parameter keys may vary depending on the module or customization you have installed for Avatax integration in Odoo. You can refer to the Avatax module's code or documentation to find the exact parameter keys for the configuration fields you need.

If self.env['res.config.settings'] is returning False, it means that there is no active configuration settings record available. In that case, you can directly fetch the configuration values from the ir.config_parameter model as shown above.

Avatar
Discard
Author

i tried this one: avatax_account_number = self.env['ir.config_parameter'].sudo().get_param('account.avalara_environment')

but it still returns false

Author

also, self.env['ir.config_parameter'].sudo() doesnt return anything

Best Answer

Hi,
Please check this eg:

please define field in res.config.settings like below.

    Fieldname = fields.Boolean(config_parameter='module_name.field_name')

   mobile_phone_no = fields.Char(srting='Mobile Phone No:',
                                  config_parameter="integration_whatsapp_chat_live.mobile_phone_no",
                                  default='', help='User Can add the mobile number')
    then fetch field value.

    Fieldname = self.env['ir.config_parameter'].sudo().get_param('module_name.field_name')


Hope it helps

Avatar
Discard
Author Best Answer

does this mean i have to create a new model that inherits the config_parameter?

Avatar
Discard

no, you don't need to create new model you can directly access like self.env['ir.config_parameter'].sudo().get_param('account.avatax_license_key')

Related Posts Replies Views Activity
3
May 24
15996
1
Apr 24
1136
3
Aug 23
3222
1
May 23
2879
2
Jan 24
1049