diff --git a/om_account_budget/models/account_budget.py b/om_account_budget/models/account_budget.py index 1d506f44..8b789e49 100644 --- a/om_account_budget/models/account_budget.py +++ b/om_account_budget/models/account_budget.py @@ -164,9 +164,11 @@ def _compute_practical_amount(self): acc_ids = line.general_budget_id.account_ids.ids date_to = line.date_to date_from = line.date_from - if line.analytic_account_id.id: + if line.analytic_account_id.plan_id: + analytic_plan = line.analytic_account_id.plan_id + analytic_col_name = analytic_plan._column_name() analytic_line_obj = self.env['account.analytic.line'] - domain = [('account_id', '=', line.analytic_account_id.id), + domain = [(analytic_col_name, '=', line.analytic_account_id.id), ('date', '>=', date_from), ('date', '<=', date_to), ] @@ -235,12 +237,14 @@ def _must_have_analytical_or_budgetary_or_both(self): raise ValidationError( _("You have to enter at least a budgetary position or analytic account on a budget line.")) - + def action_open_budget_entries(self): - if self.analytic_account_id: + if self.analytic_account_id.plan_id: + analytic_plan = self.analytic_account_id.plan_id + analytic_col_name = analytic_plan._column_name() # if there is an analytic account, then the analytic items are loaded action = self.env['ir.actions.act_window']._for_xml_id('analytic.account_analytic_line_action_entries') - action['domain'] = [('account_id', '=', self.analytic_account_id.id), + action['domain'] = [(analytic_col_name, '=', self.analytic_account_id.id), ('date', '>=', self.date_from), ('date', '<=', self.date_to) ]