跳至内容
菜单
此问题已终结
3 回复
12753 查看

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

形象
丢弃
最佳答案

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

形象
丢弃
最佳答案

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)
形象
丢弃
最佳答案
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.
形象
丢弃
相关帖文 回复 查看 活动
4
4月 24
19622
0
11月 18
4986
3
6月 21
22280
0
3月 21
11010
0
2月 21
2586