Openerp 添加修改报表
Report Designer 模块在生成新报表的时候是有BUG的不建议直接使用,不过我们也可以通过该插件再写简单的代码来实现新添加报表,插件安装成功后我们可以按照下列方法来添加报表
OpenERP 简单报表开发指南
1.模块基本元素
shineit_account_demo
- init.py
- openerp.py
- report.xml
- report.py
init.py
本例子我们并不需要引入python文件,不过作为模块,__init__.py还是需要创建。
openerp.py
{
'name': 'Shineit Report Demo',
'version': '1.0',
'author': 'ShineIT<contact@openerp.cn>',
'summary': '',
'description' : """
basic report demo
""",
'website': 'www.openerp.cn', # 必须引入你所需要打印的模型的模块,例如我要打印account这里就引入了 # account_accountant
'depends': ["account_accountant"],
'category': '',
'sequence': 16,
'demo': [], # 必须引入报表记录文件,此文件是会给系统添加一条报表记录
'data': ['report.xml'],
'installable': True,
'application': True,
'auto_install': False,
}
report.xml
<!--
所有的OpenERP XML 记录必须通过
<oepnerp>
<data>
...
</data>
</oepenrp>
包裹
-->
<openerp>
<data>
<!--
这里通过<report>标签添加一个报表记录到系统,也就是添加一条ir.actions.report.xml记录。
id:为本报表的id,同一个模块里必须唯一。
model:报表对应的模型,例如我这里是“科目”account.account。
name:报表名字,可以根据自己需要自定义
rml:报表rml文件路径
string:报表按钮名字
-->
<report id="report_shineit_account_demo" model="account.account" name="shineit.account.report.demo"
rml="shineit_report_demo/account.rml" string="Shineit account report demo"/>
</data>
</openerp>
account.rml
模版文件
2.RMl文件生成方法
首先通过Openerp report designer插件修改好报表,然后另存为sxw格式的文件(例如:account.sxw),然后进入addons/base_report_designer/openerp_sxw2rml/ 路径下,运行:
python openerp_sxw2rml.py shineit_report_demo/account.sxw > shineit_report_demo/account.rml
成功后会生成对应的rml文件,openerp在打印的时候就会根据该文件来作为模版来渲染报表。
附件里已经包括模块,可以安装测试使用