This question has been flagged

Hello community, I'm new here developing modules for odoo.

I'm creating a module that allows you to classificate purchases by projects (using their analyitic account; they are related).

I want that when u select the project, ALL PURCHASE LINES get their analytic account from the project, but i don't know how to do it.

I leave my code here and if someone helps me I would be eternally grateful!!


from odoo import fields, models, api


class PurchaseOrder(models.Model):
_inherit = 'purchase.order'
_inherit = 'purchase.order.line'

analytic_account_id = fields.Many2one(
string='Project', comodel_name='account.analytic.account')

@api.onchange('analytic_account_id')
def _onchange_analytic_account_id(self):
account.analytic.account.account_analytic_id = analytic_account_id



Avatar
Discard
Best Answer

Try something like:

@api.onchange('analytic_account_id')
def _onchange_analytic_account_id(self):
for order in self:
analytic_id = order.analytic_account_id
for line in order.order_line:
line.account_analytic_id = analytic_id
Avatar
Discard
Author

I missed to add api in the import line. But that worked, thank you!

Best Answer

good

Avatar
Discard