Skip to Content
Menu
This question has been flagged
1 Reply
9893 Views

Hello:

Could anybody help me with this error?

ValueError: External ID not found in the system: report.external_layout

load could not load template
Template: report.external_layout
I´m trying to create an odoo report for a libreria module

Thanks!!!

==================================================

REPORT_LIBRO.XML

<odoo> 
<data>

<report 
id="libreria.report_libro" 
model="libreria.libro" 
string="informe Libro" 
name="libreria.report_libro_view" 
file="libreria.report_libro_view" 
report_type="qweb-pdf" 
/>

<template id="libreria.report_libro_view"> 
<t t-call="report.html_container"> 
<t t-foreach="docs" t-as="libro"> 
<t t-call="report.external_layout"> 
<div class="page"> 
<h2 t-field="libro.name"></h2> 
<div> 
<strong>Precio:</strong> 
<span t-field="libro.precio"></span> 
</div> 
<div> 
<strong>Ejemplares:</strong> 
<span t-field="libro.ejemplares"></span> 
</div> 
<div> 
<strong>Categoría:</strong> 
<span t-field="libro.categoria"></span> 
</div> 
</div> 
</t> 
</t> 
</t> 
</template>

</data> 
</odoo>

==========================

MANIFEST:

..........

# any module necessary for this one to work correctly 
'depends': ['base'], 

# always loaded 
'data': [ 
# 'security/ir.model.access.csv', 
'views/views.xml', 
'reports/report_libro.xml' 
#'views/templates.xml', 
],

==================

ERROR

Odoo Server Error
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\cache.py", line 88, in lookup
    r = d[key]
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\func.py", line 69, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\lru.py", line 44, in __getitem__
    a = self.d[obj].me
KeyError: ('ir.qweb', <function IrQWeb.compile at 0x0366C810>, 'report.external_layout', ('es_ES', False, None, None, None, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\cache.py", line 88, in lookup
    r = d[key]
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\func.py", line 69, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\lru.py", line 44, in __getitem__
    a = self.d[obj].me
KeyError: ('ir.model.data', <function IrModelData.xmlid_lookup at 0x0206C198>, 'report.external_layout')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\qweb.py", line 372, in get_template
    document = options.get('load', self.load)(template, options)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_qweb.py", line 122, in load
    template = env['ir.ui.view'].read_template(name)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 1184, in read_template
    return self._read_template(self.get_view_id(xml_id))
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 1200, in get_view_id
    return view and view.id or self.env['ir.model.data'].xmlid_to_res_id(template, raise_if_not_found=True)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_model.py", line 1413, in xmlid_to_res_id
    return self.xmlid_to_res_model_res_id(xmlid, raise_if_not_found)[1]
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_model.py", line 1404, in xmlid_to_res_model_res_id
    return self.xmlid_lookup(xmlid)[1:3]
  File "<decorator-gen-25>", line 2, in xmlid_lookup
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\cache.py", line 93, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_model.py", line 1393, in xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: report.external_layout

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 1671, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 519, in response_wrap
    response = f(*args, **kw)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 1612, in report_routes
    pdf = report.with_context(context).render_qweb_pdf(docids, data=data)[0]
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_actions_report.py", line 711, in render_qweb_pdf
    html = self.with_context(context).render_qweb_html(res_ids, data=data)[0]
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_actions_report.py", line 751, in render_qweb_html
    return self.render_template(self.report_name, data), 'html'
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_actions_report.py", line 534, in render_template
    return view_obj.render_template(template, values)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 1299, in render_template
    return self.browse(self.get_view_id(template)).render(values, engine)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web_editor\models\ir_ui_view.py", line 27, in render
    return super(IrUiView, self).render(values=values, engine=engine, minimal_qcontext=minimal_qcontext)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 1308, in render
    return self.env[engine].render(self.id, qcontext)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_qweb.py", line 59, in render
    result = super(IrQWeb, self).render(id_or_xml_id, values=values, **context)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\qweb.py", line 274, in render
    self.compile(template, options)(self, body.append, values or {})
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\qweb.py", line 348, in _compiled_fn
    raise e
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\qweb.py", line 346, in _compiled_fn
    return compiled(self, append, new, options, log)
  File "<template>", line 1, in template_953_54
  File "<template>", line 2, in body_call_content_53
  File "<template>", line 3, in foreach_52
  File "<decorator-gen-54>", line 2, in compile
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\cache.py", line 93, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_qweb.py", line 114, in compile
    return super(IrQWeb, self).compile(id_or_xml_id, options=options)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\qweb.py", line 291, in compile
    element, document = self.get_template(template, options)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\qweb.py", line 376, in get_template
    raise QWebException("load could not load template", name=template)
odoo.addons.base.models.qweb.QWebException: None
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\cache.py", line 88, in lookup
    r = d[key]
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\func.py", line 69, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\lru.py", line 44, in __getitem__
    a = self.d[obj].me
KeyError: ('ir.qweb', <function IrQWeb.compile at 0x0366C810>, 'report.external_layout', ('es_ES', False, None, None, None, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\cache.py", line 88, in lookup
    r = d[key]
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\func.py", line 69, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\lru.py", line 44, in __getitem__
    a = self.d[obj].me
KeyError: ('ir.model.data', <function IrModelData.xmlid_lookup at 0x0206C198>, 'report.external_layout')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\qweb.py", line 372, in get_template
    document = options.get('load', self.load)(template, options)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_qweb.py", line 122, in load
    template = env['ir.ui.view'].read_template(name)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 1184, in read_template
    return self._read_template(self.get_view_id(xml_id))
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 1200, in get_view_id
    return view and view.id or self.env['ir.model.data'].xmlid_to_res_id(template, raise_if_not_found=True)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_model.py", line 1413, in xmlid_to_res_id
    return self.xmlid_to_res_model_res_id(xmlid, raise_if_not_found)[1]
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_model.py", line 1404, in xmlid_to_res_model_res_id
    return self.xmlid_lookup(xmlid)[1:3]
  File "<decorator-gen-25>", line 2, in xmlid_lookup
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\cache.py", line 93, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_model.py", line 1393, in xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: report.external_layout

load could not load template
Template: report.external_layout


Avatar
Discard
Best Answer

Hi,

Instead of calling report.external_layout in the template call web.external_layout . In the earlier versions we have got a separate module named report, but in the latest odoo versions it has been merged in the web module, so instead of calling report.external_layout call web.external_layout.

Also you have to replace <t t-call="report.html_container"> by <t t-call="web.html_container">

For PDF Tutorials See: Odoo Qweb - PDF Report Tutorial

Thanks

Avatar
Discard