Skip to Content
Menu
This question has been flagged
3 Replies
12310 Views

Hi

I'm trying to show a qweb report after pressing a button, for now I can see the action report view, but I'm getting this error: 

Traceback (most recent call last):
  File "/Users/devkit/proyectos/Odoo_Base/odoo/venv/lib/python3.7/site-packages/werkzeug/serving.py", line 205, in run_wsgi
    execute(self.server.app)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/venv/lib/python3.7/site-packages/werkzeug/serving.py", line 193, in execute
    application_iter = app(environ, start_response)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/service/server.py", line 250, in app
    return self.app(e, s)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/service/wsgi_server.py", line 166, in application
    return application_unproxied(environ, start_response)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/service/wsgi_server.py", line 154, in application_unproxied
    result = handler(environ, start_response)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 1318, in __call__
    return self.dispatch(environ, start_response)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 1292, in __call__
    return self.app(environ, start_wrapped)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/venv/lib/python3.7/site-packages/werkzeug/wsgi.py", line 599, in __call__
    return self.app(environ, start_response)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 1490, in dispatch
    result = ir_http._dispatch()
  File "/Users/devkit/proyectos/Odoo_Base/odoo/addons/auth_signup/models/ir_http.py", line 19, in _dispatch
    return super(Http, cls)._dispatch()
  File "/Users/devkit/proyectos/Odoo_Base/odoo/addons/web_editor/models/ir_http.py", line 22, in _dispatch
    return super(IrHttp, cls)._dispatch()
  File "/Users/devkit/proyectos/Odoo_Base/odoo/addons/http_routing/models/ir_http.py", line 393, in _dispatch
    result = super(IrHttp, cls)._dispatch()
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/addons/base/ir/ir_http.py", line 212, in _dispatch
    return cls._handle_exception(e)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/addons/base/ir/ir_http.py", line 182, in _handle_exception
    return request._handle_exception(exception)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 770, in _handle_exception
    return super(HttpRequest, self)._handle_exception(exception)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/addons/base/ir/ir_http.py", line 208, in _dispatch
    result = request.dispatch()
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 829, in dispatch
    r = self._call_function(**self.params)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 936, in __call__
    return self.method(*args, **kw)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/addons/web/controllers/main.py", line 1566, in report_routes
    html = report.with_context(context).render_qweb_html(docids, data=data)[0]
  File "/Users/devkit/proyectos/Odoo_Base/enterprise/web_studio/models/report.py", line 17, in render_qweb_html
    return super(Report, self).render_qweb_html(docids, data)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/addons/base/ir/ir_actions_report.py", line 661, in render_qweb_html
    docs = self.env[self.model].browse(docids)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/api.py", line 760, in __getitem__
    return self.registry[model_name]._browse((), self)
  File "/Users/devkit/proyectos/Odoo_Base/odoo/odoo/modules/registry.py", line 179, in __getitem__
    return self.models[model_name]
KeyError: False


This is my button:

<button string="Generar reporte sin montos" type="object" name="printWOImportsAction" class="oe_highlight"/>

And this is my python code:


@api.multi
def printWOImportsAction(self, context={}):
self.ensure_one()
return {
'type': 'ir.actions.report',
'report_name':'account.report_invoice_document',
'model':'account.invoice',
'report_type':"qweb-pdf",
  } 

Avatar
Discard
Best Answer

Hello

You Can try this i hope it's help you.

 
@api.multi
def printWOImportAction(self):
return self.env.ref('Modulename.ReportActionID').report_action(self)

Thanks

Avatar
Discard
Best Answer

Hello, 

see this below. this type of example already exist into sale order.

    @api.multi
    def print_report(self):
        return self.env.ref('<modulename.report_action_id>').report_action(self)
Avatar
Discard
Best Answer
return {
'type': 'ir.actions.report',
'report_name':'account.report_invoice_document',
'model':'account.invoice',
'report_type':"qweb-pdf"
  } 

There was an extra , after 'report_type':"qweb-pdf" and also the report will be generated only according to the template xml which you are created. And the template is not shown in your question.
Avatar
Discard
Related Posts Replies Views Activity
4
Apr 24
19261
0
Nov 18
4564
3
Jun 21
21388
0
Mar 21
10540
0
Feb 21
2266