关于openerp里面的报表
-
在msn group与大家讨论,特别是XXF(NewZN)指导,现在做下记录。
[b][color=#0000FF]oe报表有三种:[/color][/b]
一、最常见的是RML格式的,这占大多数。RML格式报表的内部处理流程大致是:
1.先用RML语言定义报表格式,这个和html语言定义web page类似。
2.再在RML里嵌入python语句,这些python语句从数据库(或者对象)里取数据生成报表。
这个处理和html里嵌入java语句做jsp类似
这两步做好以后,oe就可以生成pdf报表了。
二、简单一些的报表,尤其是在新开发的模块中,报表格式用xsl定义,报表数据定义在同名的.xml文件中。这两个文件搞好了,oe就能生成pdf报表。
三、基于数据库的View做的,就是说只要做好了VIEW,很简单的就能定义报表。这个可以用一个工具来完成 report_creator。[b][color=#0000FF]报表的定义需要的条件:[/color][/b]
定义一个报表需要这么几个文件:rml定义格式,xml将rml和对象关联起来,报表py文件,定义报表渲染。
而在XML文件里面的例如:
采购模块( purchase)下purchase_report.xml,其中model="purchase.order"就是定义对象rml="purchase/report/request_quotation.rml" 定义rml文件定义好对应关系以后,你打开对象的FORM,右边的工具栏里就会出项报表按钮,点击该按钮就生成报表。而一般对于某些复杂的报表就会在相应的report文件夹下有*.py文件用于组织数据,例如product_pricelist.py里面的方法,可以在RML里面调用。注意几点的是:
1.OE里面可以通过修改RML文件达到对报表的修改,也可以通过sxw文件转成RML但是不推荐,因为转换工具比较少。
2.不建议使用SXW修改报表。
3.MR.shelly提出使用Html可以更简化报表操作。
等等
PS.为什么我之前使用report_designer修改pricelist的报表,后来导致直接修改RML文件无效...
欢迎大家指正,补充:lol[[i] 本帖最后由 Joshua 于 2009-12-17 17:28 编辑 [/i]]