----------
更新时间:
18:06 2016-09-18 星期日
18:13 2016-04-05 星期二
10:31 2016-03-01 星期二
----------
* odoo8 采用是Qweb报表,废弃了7.0中的RML报表
       
* 创建业务报表
    报表是通过Qweb的技术来建立的
    #一般报表结构如下:
     purchase
       ├ views
       │  ├ report_purchaseorder.xml (报表模板)
       │  ├ report_purchasequotaion.xml
       ├ purchase_report.xml (模块中报表定义 模块名_report.xml)   
      
     当要建立报表时,就按这样的结构来创建,   
    
    #注意,报表,用到了wkhtmltopdf依赖
      http://wkhtmltopdf.org/downloads.html   wkhtmltopdf-0.12.1 版本
      $ sudo apt-get remove --purge wkhtmltopdf
      $ cd /tmp
      $ wget http://downloads.sourceforge.net/project/wkhtmltopdf/archive/0.12.1/
              wkhtmltox-0.12.1_linux-trusty-adm64.deb
             
      $ sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
 
    #报表定义purchase_report.xml:(注册报表)
      <?xml version="1.0" encoding="utf-8"?>
        <openerp>
            <data>
                <report
                    string="Purchase Order"
                    >
              .example-css-class {
                background-color: red;
              }
            </style>
          </xpath>
        </template>
       
    #自定义报表
      默认有 get_html方法来调用报表传递数据,这时,我们只要定义模型时,重写这个方法就
      可以完成自定义报表输出
        from openerp import api, models

      class ParticularReport(models.AbstractModel):
        _name = 'report.module.report_name'
        @api.multi
        def render_html(self, data=None):
            report_obj = self.env['report']
            report = report_obj._get_report_from_name('module.report_name')
            docargs = {
                'doc_ids': self._ids,
                'doc_model': report.model,
                'docs': self,
            }
            return report_obj.render('module.report_name', docargs)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-20
  • 2021-06-21
  • 2021-09-13
  • 2021-08-31
  • 2022-02-07
  • 2022-12-23
猜你喜欢
  • 2021-08-10
  • 2022-02-08
  • 2021-04-24
  • 2021-10-16
  • 2021-11-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案