Hi there, I'm fairly new to odoo14 and I am getting this error while trying to build a new custom report.
ValueError: External ID not found in the system: account.account_tag_operating_activities
So, I created two new xml files with the respective menu and the respective tags to use, both .xml files are references in the manifest.py:
This is where the menu xml file:
xml version="1.0" encoding="utf-8"?>
id="action_report_indirect_cash_flow" model="ir.actions.client">
name="name">indirect cash flow
name="tag">account_report
name="context" eval="{'model': 'account.cash.flow.report.indirect'}"/>
id="menu_action_reports_indirect_cash_flow"
name="indirect cash flow"
action="action_report_indirect_cash_flow"
parent="account.account_reports_legal_statements_menu"
groups="account.group_account_readonly"
/>
This is the tags file:
xml version="1.0" encoding="utf-8"?>
noupdate="1">
id="account_tag_operating_activities" model="account.account.tag">
name="name">Cash Generated From Operations
name="applicability">accounts
id="account_tag_operational_free_cash" model="account.account.tag">
name="name">Free cash flow from operations
name="applicability">accounts
id="account_tag_non_operational_cash" model="account.account.tag">
name="name">Non operational cash flow
name="applicability">accounts
Here is the custom model that I'm building:
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
class AccountCashFlowReportIndirect(models.AbstractModel):
_name = 'account.cash.flow.report.indirect'
_description = 'Cash Flow Report'
_inherit = 'account.report'
filter_date = {'mode': 'range', 'filter': 'today'}
filter_comparison = None
filter_journals = True
filter_unfold_all = False
filter_all_entries = False
@api.model
def _get_tags_per_account(self, tag_ids):
tags_per_accounts = {}
query = '''
SELECT
DISTINCT account_account_id,
ARRAY_AGG(account_account_tag_id)
FROM account_account_account_tag
WHERE account_account_tag_id IN %s
GROUP BY account_account_id
'''
params = [tag_ids]
self._cr.execute(query, params)
for account_id, tags in self._cr.fetchall():
tags_per_accounts[account_id] = tags
return tags_per_accounts
@api.model
def _get_lines(self, options, line_id=None):
tag_operations = self.env.ref('account.account_tag_operating_activities').id
# tag_operational_free_cash = self.env.ref('account.account_tag_operational_free_cash').id
# tag_non_operational_cash = self.env.ref('account_tag_non_operational_cash').id
# tag_ids = (tag_operations, tag_operational_free_cash, tag_non_operational_cash)
# result = self._get_tags_per_account(tag_ids)
print(tag_operations)
So, my error is when I'm trying to get the id of any of the created tags I get the
ValueError: External ID not found in the system.
Any suggestion or idea on what I might be doing wrong? When I check the table accounts_accounts_tags I can see the tags that I've created, the same when I check ir_model_data table in my local database.
Any response is kindly appreciated.