zoukankan      html  css  js  c++  java
  • 通过nginx代理的odoo报表打印时总是超时 问题解决 (转)

    转自: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')
     
     
     
    我碰到的问题其表象与其不一致,就是点击打印后一直不动,直到超时时间过了,然后报一个错。
    但是我通过上述的解决方案也解决了我的问题。今天在此记录一下。
  • 相关阅读:
    Java 并发核心编程
    JavaScript中的类型(二)
    IEEE 754 规定的双精度浮点数表示
    javascript 上传多个附件(struts)
    给自己放放松
    C语言快速排序
    Mac付费软件免费获取
    Keil4 uVision软件生成hex文件
    Mac苹果电脑安装虚拟机
    数据结构是什么
  • 原文地址:https://www.cnblogs.com/kxxx/p/13111717.html
Copyright © 2011-2022 走看看