Skip to Content
Menu
This question has been flagged
808 Views

            
                
                
I create one function to export report with the help of report_xlsx its export only headers of excel file when I click from the print menu but it give an error when I click on my custom excel report button it will give below error

 

Traceback (most recent call last):
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/api.py", line 886, in get
    return field_cache[record._ids[0]]
KeyError:

 

During handling of the above exception, another exception occurred:

 

Traceback (most recent call last):
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/fields.py", line 1057, in __get__
    value = env.cache.get(record, self)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/api.py", line 889, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: 'base.document.layout(,).preview'

 

During handling of the above exception, another exception occurred:

 

Traceback (most recent call last):
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/qweb.py", line 219, in render_template
    yield from compiled_fn(self, values, log)
  File "", line 29, in template_207
AttributeError: 'NoneType' object has no attribute 'company_id'

 

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

 

Traceback (most recent call last):
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/http.py", line 687, in dispatch
    result = self._call_function(**self.params)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/http.py", line 359, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/http.py", line 348, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/http.py", line 916, in __call__
    return self.method(*args, **kw)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/http.py", line 535, in response_wrap
    response = f(*args, **kw)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/addons/web/controllers/main.py", line 1343, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/addons/web/controllers/main.py", line 1335, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/api.py", line 464, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/api.py", line 451, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/models.py", line 6489, in onchange
    snapshot1 = Snapshot(record, nametree)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/models.py", line 6271, in __init__
    self.fetch(name)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/models.py", line 6281, in fetch
    self[name] = record[name]
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/models.py", line 5888, in __getitem__
    return self._fields[key].__get__(self, type(self))
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/fields.py", line 1106, in __get__
    self.compute_value(recs)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/fields.py", line 1265, in compute_value
    records._compute_field_value(self)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/models.py", line 4255, in _compute_field_value
    getattr(self, field.compute)()
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/addons/web/models/base_document_layout.py", line 126, in _compute_preview
    wizard.preview = ir_ui_view._render_template('web.report_invoice_wizard_preview', {'company': wizard_with_logo, 'preview_css': preview_css})
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/ir_ui_view.py", line 1985, in _render_template
    return self.browse(self.get_view_id(template))._render(values, engine)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/addons/website/models/ir_ui_view.py", line 436, in _render
    return super(View, self)._render(values, engine=engine, minimal_qcontext=minimal_qcontext)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/addons/web_editor/models/ir_ui_view.py", line 29, in _render
    return super(IrUiView, self)._render(values=values, engine=engine, minimal_qcontext=minimal_qcontext)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/ir_ui_view.py", line 1993, in _render
    return self.env[engine]._render(self.id, qcontext)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/tools/profiler.py", line 292, in _tracked_method_render
    return method_render(self, template, values, **options)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/ir_qweb.py", line 76, in _render
    result = super()._render(template, values=values, **compile_options)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/qweb.py", line 134, in _render
    result = ''.join(rendering)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/qweb.py", line 221, in render_template
    raise e
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/qweb.py", line 219, in render_template
    yield from compiled_fn(self, values, log)
  File "", line 24, in template_201
  File "", line 21, in t_call_content
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/qweb.py", line 221, in render_template
    raise e
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/qweb.py", line 219, in render_template
    yield from compiled_fn(self, values, log)
  File "", line 65, in template_208
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/qweb.py", line 223, in render_template
    raise QWebException("Error when render the template", self, options,
Exception

 

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

 

Traceback (most recent call last):
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/http.py", line 643, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/http.py", line 301, in _handle_exception
    raise exception.with_traceback(None) from new_cause
odoo.addons.base.models.qweb.QWebException: 'NoneType' object has no attribute 'company_id'
Traceback (most recent call last):
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/api.py", line 886, in get
    return field_cache[record._ids[0]]
KeyError:

 

During handling of the above exception, another exception occurred:

 

Traceback (most recent call last):
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/fields.py", line 1057, in __get__
    value = env.cache.get(record, self)
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/api.py", line 889, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: 'base.document.layout(,).preview'

 

During handling of the above exception, another exception occurred:

 

Traceback (most recent call last):
  File "/home/priyankspaththa/Desktop/Odoo15_crm/py_crm/odoo/addons/base/models/qweb.py", line 219, in render_template
    yield from compiled_fn(self, values, log)
  File "", line 29, in template_207
AttributeError: 'NoneType' object has no attribute 'company_id'

 

Error when render the template
AttributeError: 'NoneType' object has no attribute 'company_id'
Template: web.external_layout_standard
Path: /t/div[1]/div[2]/div/div[2]/span
Node:

 

Here is my code for generate excel report

 

class ExportFile(models.AbstractModel):
_name = 'report.estimation_mod.report_export_xls'
_inherit = 'report.report_xlsx.abstract'

 

def generate_xlsx_report(self,workbook,data,estimation):
sheet = workbook.add_worksheet('Estimation')
bold = workbook.add_format({'bold':True,'align':'center'})
style = workbook.add_format({'align':'center'})
sheet.set_column('A:A',20)
sheet.set_column('B:B',20)
sheet.set_column('C:C',20)
sheet.set_column('D:D',25)
sheet.set_column('E:E',15)
sheet.set_column('F:F',15)
row = 0
col = 0
sheet.write(row,col,'Technology_Name',bold)
sheet.write(row,col+1,'Category_Name',bold)
sheet.write(row,col+2,'Module_Name',bold)
sheet.write(row,col+3,'Notes',bold)
sheet.write(row,col+4,'Hours',bold)
sheet.write(row,col+5,'Total_Hours',bold)
for item in data:
if item == 'items':
for data in data['items']:
row += 1
sheet.write(row,col,data['Technology_Name'])
sheet.write(row,col+1,data['Category_Name'])
sheet.write(row,col+2,data['Module_Name'])
sheet.write(row,col+3,data['Notes'])
sheet.write(row,col+4,data['Hours'])
sheet.write(row,col+5,data['Total_Hours'],style)

 

its working fine on my other instance..but in some instance it will give above error


Avatar
Discard