如何解决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 举报,一经查实,本站将立刻删除。