跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • P 离线
    P 离线
    popkar77
    写于 最后由 编辑
    #19

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

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

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

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

        那么他读出数据是在那个py文件里呢?
        很奇怪就是某些字段是我自己添加进object的他都能显示到odt上面,我之前看peice_list的report里面,他要先写出读出哪些字段,然后在根据sxw上的标签来显示某些字段的。

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

          popkar77: 数据是不会存放在.py文件里的,数据都是存放在数据库中的。report是如何获取数据的呢?以sale模块下的report为例(addons/sale/report/):
          对于order这个报表,目录下有一个名为order.py的文件,
          [code]...
          class order(report_sxw.rml_parse):
          def init(self, cr, uid, name, context):
          super(order, self).init(cr, uid, name, context)
          self.localcontext.update({
          'time': time,
          })
          report_sxw.report_sxw('report.sale.order','sale.order','addons/sale/report/order.rml',parser=order)
          [/code]

          可以看到它定义了一个report_sxw.rml_parse的子类,名叫order。从其父类的名字就可以猜出这个类是用来解析rml文件的。在上例中实际上这个order类只多做了一件事情,就是把time模块作为键值放到localcontext里,这样你在报表中就可以使用time来显示时间了。
          另外一个就是report_sxw.report_sxw, 来看看这个类的定义:
          [code]class report_sxw(report_rml, preprocess.report):
          def init(self, name, table, rml=False, parser=rml_parse, header=True, store=False):
          [/code]
          由此可以知道,我们传递给它的'report.sale.order'是这个报表内部的名称,'sale.order'就是表对象了(其在addons/sale/sale.py中定义,通过ORM映射到数据库,所有的数据都是从这里来得),后面的参数也应该能看得懂了。

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

          1 条回复 最后回复
          0
          • H 离线
            H 离线
            hachang
            写于 最后由 编辑
            #23

            [quote]原帖由 [i]iplan[/i] 于 2009-9-8 11:21 发表 www.shine-it.net/redirect.php?goto=findpost&pid=2695&ptid=618
            测试情况还不错
            但是同时打印多条记录的话,不会自动每条记录打印一页,而是顺序打印
            不知有何好办法 [/quote]

            我也發生這種情形,麻煩請你告知一下是怎麼解決的
            先謝謝了..

            1 条回复 最后回复
            0
            • D 离线
              D 离线
              dquo
              写于 最后由 编辑
              #24

              把HORNERP的这个报表部份考到OE6.0后要安装RELATORIO_REPORT模块,但HORNERP的RELATORIO_REPORT模块好象在6.0下不能使用,老革命同志能不能帮忙升级一下模块呀

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

                支持 6.0 的版本

                1 条回复 最后回复
                0
                • D 离线
                  D 离线
                  dquo
                  写于 最后由 编辑
                  #26

                  有谁测试成功了嘛~我在UBUNTU下没安装成功~不显示安装包~不知道是怎么回事

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

                    能贴个调试信息么

                    1 条回复 最后回复
                    0
                    • C 离线
                      C 离线
                      ccdos
                      写于 最后由 编辑
                      #28

                      来迟了

                      主贴已经失效 还是 被墙了?

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

                        [quote author=ccdos link=topic=618.msg9122#msg9122 date=1324823293]
                        来迟了

                        主贴已经失效 还是 被墙了?
                        [/quote]

                        主贴的不好使了,用 23楼的那个

                        1 条回复 最后回复
                        0

                        • 登录

                        • 没有帐号? 注册

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