Openerp 添加修改报表

时间:2022-08-25 09:58:08

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在打印的时候就会根据该文件来作为模版来渲染报表。

Openerp 添加修改报表

附件里已经包括模块,可以安装测试使用