ODOO 8 - 使用 XMLRPC 的调用方法

问题描述

我使用名为 dym.work.order 的新方法扩展了模型 get_report_json_pdf,该方法返回编码的 pdf 报告。

class inherit_wor(models.Model):
    _inherit = 'dym.work.order'

    @api.multi
    def get_report_json_pdf(self):
        request.website_multilang = False

        pdf = self.env['report'].get_pdf(self,'dym_work_order.report_invoice_wo_template')
        data = None
        if pdf:
            return {'data': pdf.encode('base64'),'name': self.name} 
        else:
            return {'error': 'Attachment not found','name': self.name}

我尝试使用以下方法调用该方法:

wor_id = 101010
models_odm.execute_kw(db_odm,uid_odm,password_odm,'dym.work.order','get_report_json_pdf',[wor_id])

但它返回一个 错误如下:

xmlrpc.client.Fault: <Fault 1: 'Traceback (most recent call last):\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/service/wsgi_server.py",line 75,in xmlrpc_return\n    result = openerp.http.dispatch_rpc(service,method,params)\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/http.py",line 115,in dispatch_rpc\n    result = dispatch(method,params)\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/service/model.py",line 37,in dispatch\n    res = fn(db,uid,*params)\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/service/model.py",line 167,in execute_kw\n    return execute(db,obj,*args,**kw or {})\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/service/model.py",line 118,in wrapper\n    return f(dbname,**kwargs)\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/service/model.py",line 175,in execute\n    res = execute_cr(cr,**kw)\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/service/model.py",line 164,in execute_cr\n    return getattr(object,method)(cr,**kw)\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/api.py",line 268,in wrapper\n    return old_api(self,**kwargs)\n  File "/opt/proj80_dym/OpenObject/server/8.0/openerp/api.py",line 399,in old_api\n    result = method(recs,**kwargs)\n  File "/opt/proj80_dym/OpenObject/addons/addons80_dymsm/dym_syrl_wor_tes/models/inherit_wor.py",line 12,in get_json_pdf_aaa\n    request.website_multilang = False\n  File "/opt/proj80_dym/ve/lib/python2.7/site-packages/werkzeug/local.py",line 355,in <lambda>\n    __setattr__ = lambda x,n,v: setattr(x._get_current_object(),v)\n  File "/opt/proj80_dym/ve/lib/python2.7/site-packages/werkzeug/local.py",line 297,in _get_current_object\n    return self.__local()\n  File "/opt/proj80_dym/ve/lib/python2.7/site-packages/werkzeug/local.py",line 132,in _lookup\n    raise RuntimeError(\'object unbound\')\nRuntimeError: object unbound\n'>

谁能帮我解决这个问题?我是否编码了错误的参数? 我的参考:(https://www.odoo.com/documentation/8.0/api_integration.html)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...