Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3 Odpowiedzi
12321 Widoki

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",
  } 

Awatar
Odrzuć
Najlepsza odpowiedź

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

Awatar
Odrzuć
Najlepsza odpowiedź

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)
Awatar
Odrzuć
Najlepsza odpowiedź
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.
Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
4
kwi 24
19271
0
lis 18
4589
3
cze 21
21406
0
mar 21
10551
0
lut 21
2298