码迷,mamicode.com
首页 > 其他好文 > 详细

通过nginx代理的odoo报表打印时总是超时 问题解决 (转)

时间:2020-06-13 11:13:27      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:obj   映射   order   self   服务   conf   源码   错误   文件   

转自:http://blog.sina.com.cn/s/blog_53d318170102wvnm.html

 

 

背景

  将odoo服务器部署在公网上, 服务器没有公网地址,  前端使用nginx提供对外服务的公网ip和tcp端口

 qweb-html类型的报表能正常在浏览器上显示,但打印时浏览器上出现如下错误:
 Uncaught SyntaxError:
追溯:
SyntaxError: Unexpected token S
    at Object.parse (native)
    at HTMLIFrameElement. (http://..../web/content/.../web.assets_common.js:3038:379)
    at HTMLIFrameElement.jQuery.event.dispatch (http://.../web/content/.../web.assets_common.js:637:451)
    at HTMLIFrameElement.elemData.handle (http://.../web/content/.../web.assets_common.js:610:173)
 
  qweb-pdf类型的的报表打印时 也出现上述错误。
 
解决方法
  在设置| 技术| 参数| 系统参数 界面中, 增加一个系统参数
  参数名称:  report.url
  取值 :http://127.0.0.1:8069
 
原因: 
  odoo生成报表时, 首先生成html格式的报表, 然后使用Wkhtmltopdf将 html转换成pdf
  当不设置report.url时,其html 报表内,有如下内容
 

...

....
因服务器使用内网ip 无法访问其被映射的公网ip, 导致在服务器上无法访问css , 也就无法生成pdf
 
相关源码
文件addon|report|model|report.py
       irconfig_obj = self.env[‘ir.config_parameter‘].sudo()
       base_url = irconfig_obj.get_param(‘report.url‘) or irconfig_obj.get_param(‘web.base.url‘)
 
 
 
我碰到的问题其表象与其不一致,就是点击打印后一直不动,直到超时时间过了,然后报一个错。
但是我通过上述的解决方案也解决了我的问题。今天在此记录一下。

通过nginx代理的odoo报表打印时总是超时 问题解决 (转)

标签:obj   映射   order   self   服务   conf   源码   错误   文件   

原文地址:https://www.cnblogs.com/kxxx/p/13111717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!