Skip to Content
Menú
This question has been flagged
1 Respondre
1231 Vistes

While trying to install customized accounting localization module for Qatar,  getting the below error:

Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/http.py", line 1765, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/home/odoo/src/odoo/odoo/service/model.py", line 133, in retrying
    result = func()
  File "/home/odoo/src/odoo/odoo/http.py", line 1792, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/home/odoo/src/odoo/odoo/http.py", line 1996, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 222, in _dispatch
    result = endpoint(**request.params)
  File "/home/odoo/src/odoo/odoo/http.py", line 722, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/home/odoo/src/odoo/addons/web/controllers/dataset.py", line 24, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/home/odoo/src/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 464, in call_kw
    result = _call_kw_model(method, model, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 435, in _call_kw_model
    result = method(recs, *args, **kwargs)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 2457, in get_views
    result['models'][model] = self.env[model].fields_get(
  File "/home/odoo/src/odoo/odoo/models.py", line 3418, in fields_get
    description = field.get_description(self.env, attributes=attributes)
  File "/home/odoo/src/odoo/odoo/fields.py", line 852, in get_description
    value = value(env)
  File "/home/odoo/src/odoo/odoo/fields.py", line 2795, in _description_selection
    return determine(selection, env[self.model_name])
  File "/home/odoo/src/odoo/odoo/fields.py", line 105, in determine
    return needle(records, *args)
  File "/home/odoo/src/odoo/addons/account/models/res_config_settings.py", line 37, in 
    chart_template = fields.Selection(selection=lambda self: self.env.company._chart_template_selection(), default=lambda self: self.env.company.chart_template)
  File "/home/odoo/src/odoo/addons/account/models/company.py", line 640, in _chart_template_selection
    return self.env['account.chart.template']._select_chart_template(self.country_id)
  File "/home/odoo/src/odoo/addons/account/models/chart_template.py", line 106, in _select_chart_template
    chart_template_mapping = self._get_chart_template_mapping()
  File "/home/odoo/src/odoo/addons/account/models/chart_template.py", line 98, in _get_chart_template_mapping
    for mapping in modules.mapped('account_templates')
  File "/home/odoo/src/odoo/odoo/models.py", line 6079, in mapped
    recs = recs._fields[name].mapped(recs)
  File "/home/odoo/src/odoo/odoo/fields.py", line 1281, in mapped
    self.__get__(first(remaining), type(remaining))
  File "/home/odoo/src/odoo/odoo/fields.py", line 1207, in __get__
    self.compute_value(recs)
  File "/home/odoo/src/odoo/odoo/fields.py", line 2424, in compute_value
    super().compute_value(records)
  File "/home/odoo/src/odoo/odoo/fields.py", line 1389, in compute_value
    records._compute_field_value(self)
  File "/home/odoo/src/odoo/odoo/models.py", line 4867, in _compute_field_value
    fields.determine(field.compute, self)
  File "/home/odoo/src/odoo/odoo/fields.py", line 102, in determine
    return needle(*args)
  File "/home/odoo/src/odoo/addons/account/models/ir_module.py", line 40, in _compute_account_templates
    templates = {
  File "/home/odoo/src/odoo/addons/account/models/ir_module.py", line 42, in 
    'name': fct(ChartTemplate).get('name'),
AttributeError: 'NoneType' object has no attribute 'get'


Avatar
Descartar
Best Answer

Hi,
Shared trace back doesn't have much information, as it is not a default odoo module, it is better to cross check the code of the custom app or report the issue with the author of the application.

Thanks

Avatar
Descartar
Autor

The module name is l10n_qa.It has the followingstructure as below.
l10n_qa
├── data
│ ├── template
│ │ ├── account.account-qa.csv
├── demo
│ └── demo_company.xml
├── models
│ ├── template_qa.py
│ └── __init__.py
├── __init__.py
└── __manifest__.py

account.account-qa.csv

id,name,code,account_type,tag_ids/id,reconcile
acc_1,Furniture and Fixtures,1100001,asset_fixed,,False
acc_2,Motor Vehicles,1100002,asset_fixed,,False
................................................
.................................................

template_qa.py

from odoo import models, Command
from odoo.addons.account.models.chart_template import template

class AccountChartTemplate(models.AbstractModel):
_inherit = "account.chart.template"

@template('qa')
def _get_qa_template_data(self):
return
{
'name': _('Qatar'),
'country':'base.qa',
'property_account_receivable_id': 'acc_17',
'property_account_payable_id': 'acc_28',
'property_account_expense_categ_id': 'acc_155',
'property_account_income_categ_id': 'acc_162',
'code_digits': '6',
}

@template('qa', 'res.company')
def _get_qa_res_company(self):
return {
self.env.company.id: {
'account_fiscal_country_id': 'base.qa',
'bank_account_code_prefix': '101',
'cash_account_code_prefix': '105',
'transfer_account_code_prefix': '100',
'income_currency_exchange_account_id': 'acc_166',
'expense_currency_exchange_account_id': 'acc_167',

},
}

demo_company.xml

<record id="partner_demo_company_qa" model="res.partner">
<field name="name">QA Company</field>
</record>

<record id="demo_company_qa" model="res.company">
<field name="name">QA Company</field>
<field name="partner_id" ref="partner_demo_company_qa"/>
</record>

<function model="account.chart.template" name="try_loading">
<value eval="[]"/>
<value>qa</value>
<value model="res.company" eval="obj().env.ref('l10n_qa.demo_company_qa')"/>
</function>

I have the following error:
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 556, in _tag_root
f(rec)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 456, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/home/odoo/src/odoo/odoo/models.py", line 5061, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/home/odoo/src/odoo/odoo/models.py", line 4972, in _load_records_create
return self.create(values)
File "<decorator-gen-12>", line 2, in create
File "/home/odoo/src/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/home/odoo/src/odoo/odoo/models.py", line 4601, in create
records = self._create(data_list)
File "/home/odoo/src/odoo/odoo/models.py", line 4820, in _create
self.env.cache.set(record, field, field.convert_to_cache(None, record))
File "/home/odoo/src/odoo/odoo/fields.py", line 2822, in convert_to_cache
if value in self.get_values(record.env):
File "/home/odoo/src/odoo/odoo/fields.py", line 2811, in get_values
selection = determine(selection, env[self.model_name].with_context(lang=None))
File "/home/odoo/src/odoo/odoo/fields.py", line 105, in determine
return needle(records, *args)
File "/home/odoo/src/odoo/addons/account/models/account_report.py", line 45, in <lambda>
chart_template = fields.Selection(string="Chart of Accounts", selection=lambda self: self.env['account.chart.template']._select_chart_template())
File "/home/odoo/src/odoo/addons/account/models/chart_template.py", line 106, in _select_chart_template
chart_template_mapping = self._get_chart_template_mapping()
File "/home/odoo/src/odoo/addons/account/models/chart_template.py", line 98, in _get_chart_template_mapping
for mapping in modules.mapped('account_templates')
File "/home/odoo/src/odoo/odoo/models.py", line 6079, in mapped
recs = recs._fields[name].mapped(recs)
File "/home/odoo/src/odoo/odoo/fields.py", line 1281, in mapped
self.__get__(first(remaining), type(remaining))
File "/home/odoo/src/odoo/odoo/fields.py", line 1207, in __get__
self.compute_value(recs)
File "/home/odoo/src/odoo/odoo/fields.py", line 2424, in compute_value
super().compute_value(records)
File "/home/odoo/src/odoo/odoo/fields.py", line 1389, in compute_value
records._compute_field_value(self)
File "/home/odoo/src/odoo/odoo/models.py", line 4867, in _compute_field_value
fields.determine(field.compute, self)
File "/home/odoo/src/odoo/odoo/fields.py", line 102, in determine
return needle(*args)
File "/home/odoo/src/odoo/addons/account/models/ir_module.py", line 40, in _compute_account_templates
templates = {
File "/home/odoo/src/odoo/addons/account/models/ir_module.py", line 42, in <dictcomp>
'name': fct(ChartTemplate).get('name'),
AttributeError: 'NoneType' object has no attribute 'get'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 113, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 480, in load_modules
processed_modules += load_marked_modules(env, graph,
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 364, in load_marked_modules
loaded, processed = load_module_graph(
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 227, in load_module_graph
load_data(env, idref, mode, kind='data', package=package)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 71, in load_data
tools.convert_file(env, package.name, filename, idref, mode, noupdate, kind)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 627, in convert_file
convert_xml_import(env, module, fp, idref, mode, noupdate)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 693, in convert_xml_import
obj.parse(doc.getroot())
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 613, in parse
self._tag_root(de)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 556, in _tag_root
f(rec)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 569, in _tag_root
raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
odoo.tools.convert.ParseError: while parsing /home/odoo/src/odoo/addons/account/data/account_reports_data.xml:6, somewhere inside
<record id="generic_tax_report" model="account.report">
<field name="name">Generic Tax report</field>
<field name="filter_multi_company">tax_units</field>
<field name="filter_fiscal_position" eval="1"/>
<field name="default_opening_date_filter">last_tax_period</field>
<field name="only_tax_exigible" eval="True"/>
<field name="column_ids">
<record id="generic_tax_report_column_net" model="account.report.column">
<field name="name">Net</field>
<field name="expression_label">net</field>
<field name="figure_type">monetary</field>
</record>
<record id="generic_tax_report_column_tax" model="account.report.column">
<field name="name">Tax</field>
<field name="expression_label">tax</field>
<field name="figure_type">monetary</field>
</record>
</field>
</record>

Thanks for your help

hi,
is this custom app developed by your own from odoo store

Autor

Yes.Developed by us.