跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. OpenERP Relatorio ODT 报表模块

OpenERP Relatorio ODT 报表模块

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
29 帖子 8 发布者 27.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • O 离线
    O 离线
    oldrev
    写于 最后由 编辑
    #1

    我已经实现了完全的 Relatorio OpenOffice 报表支持,请参考下文进行安装和使用:

    alwaysrev.spaces.live.com/blog/cns%21218708052A8413FB%21201.entry

    [[i] 本帖最后由 oldrev 于 2009-9-6 11:13 编辑 [/i]]

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

      兄弟辛苦了,这个绝对是要捧场的

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复
      0
      • I 离线
        I 离线
        iplan
        写于 最后由 编辑
        #3

        支持。。。
        我在windows环境下测试,python2.5
        能出来结果,但debug时后台报错:

        no module name yaml

        安装yaml后,报另一个错:

        D:Python25libsite-packagesrelatorio-0.5.1-py2.5.eggrelatoriotemplates__init__.py:31: UserWarning: Unable to load plugin 'chart', you will not be able to use it
        "to use it" % name)
        Original traceback

        Traceback (most recent call last):
        File "d:python25libsite-packagesrelatorio-0.5.1-py2.5.eggrelatoriotemplates__init__.py", line 28, in <module>
        import('relatorio.templates.%s' % name)
        File "d:python25libsite-packagesrelatorio-0.5.1-py2.5.eggrelatoriotemplateschart.py", line 33, in <module>
        import cairo
        File "D:Python25Libsite-packagescairo__init__.py", line 1, in <module>
        from _cairo import *
        ImportError: DLL load failed: �Ҳ���ָ����ģ�顣

        1 条回复 最后回复
        0
        • I 离线
          I 离线
          iplan
          写于 最后由 编辑
          #4

          setLang、formatLang等函数好像不能用
          user、company变量也不能用

          1 条回复 最后回复
          0
          • O 离线
            O 离线
            oldrev
            写于 最后由 编辑
            #5
            1. 昨天更新了一下,原系统支持的变量 relatorio 引擎也支持

            2. 那个警告是因为你没有安装 pycha,relatorio 用它来产生图表

            1 条回复 最后回复
            0
            • I 离线
              I 离线
              iplan
              写于 最后由 编辑
              #6

              测试情况还不错
              但是同时打印多条记录的话,不会自动每条记录打印一页,而是顺序打印
              不知有何好办法

              1 条回复 最后回复
              0
              • P 离线
                P 离线
                popkar77
                写于 最后由 编辑
                #7

                我在安装relatorio_report的时候出现了错误
                [code]

                Environment Information :
                System : Windows-XP-5.1.2600-SP2
                OS Name : nt
                Operating System Release : XP
                Operating System Version : 5.1.2600
                Operating System Architecture : 32bit
                Operating System Locale : zh_CN.cp936
                Python Version : 2.5.2
                OpenERP-Client Version : 5.0.3
                Last revision No. & ID :Bazaar Package not Found !Traceback (most recent call last):
                File "netsvc.pyo", line 242, in dispatch
                File "netsvc.pyo", line 73, in call
                File "serviceweb_services.pyo", line 639, in execute
                File "serviceweb_services.pyo", line 619, in execute
                File "wizard__init
                _.pyo", line 178, in execute
                File "wizard__init__.pyo", line 74, in execute_cr
                File "d:OpenERP AllInOneServeraddonsbasemodulewizardwizard_module_upgrade.py", line 92, in upgrade_module
                File "pooler.pyo", line 62, in restart_pool
                File "pooler.pyo", line 40, in get_db_and_pool
                File "addons__init
                _.pyo", line 728, in load_modules
                File "addons__init__.pyo", line 578, in load_module_graph
                File "addons__init__.pyo", line 400, in register_class
                File "d:Program FilesOpenERP AllInOneServeraddonsrelatorio_report__init__.py", line 3, in <module>
                ImportError: No module named relatorio.templates.opendocument

                [/code]

                不知道应该怎么安装relatorio,
                我的系统是windowsXP,安装openerp_allinone_5.0.3。我自己安装了Python2.5不知是否对其有影响。
                我还想知道openerp需要使用Python吗?是用它自带的还是我安装的呢?
                谢谢:)

                1 条回复 最后回复
                0
                • O 离线
                  O 离线
                  oldrev
                  写于 最后由 编辑
                  #8

                  不支持 all in one

                  1 条回复 最后回复
                  0
                  • V 离线
                    V 离线
                    vincentmrsf
                    写于 最后由 编辑
                    #9

                    我成功安装了partner_report_odt和relatorio_report,但是进入Partners后每当按“ODTReport”生成报表的时候,总是会出现这个错误[code]
                    Environment Information :
                    System : Windows-XP-5.1.2600-SP2
                    OS Name : nt
                    Operating System Release : XP
                    Operating System Version : 5.1.2600
                    Operating System Architecture : 32bit
                    Operating System Locale : zh_CN.cp936
                    Python Version : 2.5.2
                    OpenERP-Client Version : 5.0.3
                    Last revision No. & ID :Bazaar Package not Found !Traceback (most recent call last):
                    File "serviceweb_services.pyo", line 687, in go
                    File "reportreport_sxw.pyo", line 364, in create
                    File "reportreport_sxw.pyo", line 367, in create_source_odt
                    File "d:OpenERP AllInOneServeraddonsrelatorio_report__init__.py", line 20, in create_single_odt
                    File "d:OpenERP AllInOneServeraddonsrelatoriotemplatesopendocument.py", line 174, in init
                    File "d:OpenERP AllInOneServeraddonsgenshitemplatebase.py", line 377, in init
                    File "d:OpenERP AllInOneServeraddonsrelatoriotemplatesopendocument.py", line 181, in _parse
                    File "zipfile.pyo", line 339, in init
                    IOError: [Errno 2] No such file or directory: u'd:\OpenERP AllInOne\Server\bin\addons\partner_report_odt\report\partner.odt'
                    [/code]
                    我的运行环境是Windows XP,OpenERP版本为5.0.3。
                    请问是什么问题呢?

                    [[i] 本帖最后由 vincent@mrsf 于 2009-9-10 09:02 编辑 [/i]]

                    1 条回复 最后回复
                    0
                    • digitalsatoriD 离线
                      digitalsatoriD 离线
                      digitalsatori 管理员
                      写于 最后由 编辑
                      #10

                      请仔细看你楼上的帖子,oldrev 上面说了:
                      [quote]不支持 all in one[/quote]

                      这是一个简明的说法,因为要使用oldrev的这个报表模块,要有relatorio ,genshi 等 Python模块的支持,allinone的python环境中没有这些模块,要手工添加这些模块比较麻烦

                      另外,按照以上的说明,在allinone下即使安装成功也没有用,何况,你并没有安装成功,以下的错误信息应该能看得懂:(提示:检查压缩包路径中有没有这个partner.odt文件)
                      [quote]IOError: [Errno 2] No such file or directory: u'd:\OpenERP AllInOne\Server\bin\addons\partner_report_odt\report\partner.odt'[/quote]

                      [[i] 本帖最后由 digitalsatori 于 2009-9-10 09:42 编辑 [/i]]

                      【上海先安科技】(tony AT openerp.cn)

                      1 条回复 最后回复
                      0
                      • V 离线
                        V 离线
                        vincentmrsf
                        写于 最后由 编辑
                        #11

                        我成功地在All InOne上使用了ODT Report,
                        确实比较麻烦,
                        需要的包很多,
                        每个都需要手工添加。

                        还有一个问题就是,怎么在Report上添加公司的Logo?

                        [[i] 本帖最后由 vincent@mrsf 于 2009-9-10 09:54 编辑 [/i]]

                        1 条回复 最后回复
                        0
                        • P 离线
                          P 离线
                          popkar77
                          写于 最后由 编辑
                          #12

                          一直想知道怎么安装不是all_in_one的openerp版本:Q

                          1 条回复 最后回复
                          0
                          • I 离线
                            I 离线
                            iplan
                            写于 最后由 编辑
                            #13

                            这个报表速度快多了,也没有中文的问题,很好

                            但__init__里的路径写死了,换了环境有可能报错:
                            sxw_path = os.path.realpath("bin/addons/" + report_xml.report_sxw)

                            我的建议是引入配置文件,改成如下:
                            from tools.config import config

                            adp = os.path.abspath(config['addons_path'])
                            sxw_path = os.path.normcase(os.path.join(adp,report_xml.report_sxw))

                            另外我发现这个模板不仅仅支持字段指令,也支持${o.name}这种形式
                            在某些循环(例如动态增加表格列的循环)里后者表现更好

                            1 条回复 最后回复
                            0
                            • O 离线
                              O 离线
                              oldrev
                              写于 最后由 编辑
                              #14

                              [quote]原帖由 [i]iplan[/i] 于 2009-9-10 10:13 发表 www.shine-it.net/redirect.php?goto=findpost&pid=2706&ptid=618
                              这个报表速度快多了,也没有中文的问题,很好

                              但__init__里的路径写死了,换了环境有可能报错:
                              sxw_path = os.path.realpath("bin/addons/" + report_xml.report_sxw)

                              我的建议是引入配置文件,改成如下:
                              ... [/quote]

                              1. 这行代码是实际上是从官方的 ODT 报表代码里抄的,应该是问题不大。这个模块的局限在于它依赖 create_single_odt 这个函数,目前 trunk 里的代码已经不使用这个函数了,因此报表模块只支持 5.0.3。

                              2. relatorio 的文本模板是 Genshi ( genshi.edgewall.org/ ),你可以参考它的语法文档。Relatorio 比内置 ODT 报表出色的地方在于它支持 OpenOffice Calc 电子表格和 OpenOffice Impress 幻灯片的文档。

                              [[i] 本帖最后由 oldrev 于 2009-9-10 16:24 编辑 [/i]]

                              1 条回复 最后回复
                              0
                              • O 离线
                                O 离线
                                oldrev
                                写于 最后由 编辑
                                #15

                                [quote]原帖由 [i]vincent@mrsf[/i] 于 2009-9-10 09:51 发表 www.shine-it.net/redirect.php?goto=findpost&pid=2704&ptid=618
                                我成功地在All InOne上使用了ODT Report,
                                确实比较麻烦,
                                需要的包很多,
                                每个都需要手工添加。

                                还有一个问题就是,怎么在Report上添加公司的Logo? [/quote]

                                静态的方法:改一下模块里的 odt
                                动态的方法:我还没试过把图片字段插到报表里

                                为了方便使用 all in one 的朋友,有空我会上传个包含 relatorio 相关依赖的模块。

                                1 条回复 最后回复
                                0
                                • O 离线
                                  O 离线
                                  oldrev
                                  写于 最后由 编辑
                                  #16

                                  可能还需要一个修改过的 base_report_designer 来上传下载报表模板

                                  1 条回复 最后回复
                                  0
                                  • P 离线
                                    P 离线
                                    popkar77
                                    写于 最后由 编辑
                                    #17

                                    我之前看price_list的report的时候,他生成的PDF文件里面的数据是根据pricelist.py读出来的。
                                    我想问下这个relatorio是怎么读出数据的呢?

                                    1 条回复 最后回复
                                    0
                                    • P 离线
                                      P 离线
                                      popkar77
                                      写于 最后由 编辑
                                      #18

                                      我之前看price_list的report的时候,他生成的PDF文件里面的数据是根据pricelist.py读出来的。
                                      我想问下这个relatorio是怎么读出数据的呢?

                                      1 条回复 最后回复
                                      0
                                      • O 离线
                                        O 离线
                                        oldrev
                                        写于 最后由 编辑
                                        #19

                                        报表跟原来的没什么区别,只是语法不同而已,一样需要代码来处理数据

                                        1 条回复 最后回复
                                        0

                                        • 登录

                                        • 没有帐号? 注册

                                        • 登录或注册以进行搜索。
                                        • 第一个帖子
                                          最后一个帖子
                                        0
                                        • 版块
                                        • 标签
                                        • 热门
                                        • 用户
                                        • 群组