【开发】Report_Webkit 报表制作方法
-
(1)在“addons” 目录新建一个目录,命名为:“report_webkit_demo”
(2)添加两个文件
---- init.py
---- openerp.py
init.py (不添加内容)
openerp.py (按odoo模块要求添加){<br /> 'name': 'webkit report demo',<br /> 'version': '1.1',<br /> 'author': '',<br /> 'summary': 'webkit, report, demo',<br /> 'description': """<br />webkit report demo<br />==============================================================<br /> """,<br /> 'website': '',<br /> 'images': [],<br /> 'depends': ['report_webkit'],<br /> 'category': '',<br /> 'sequence': 16,<br /> 'demo': [<br /> ],<br /> 'data': [<br /> ],<br /> 'test': [<br /> ],<br /> 'installable': True,<br /> 'application': True,<br /> 'auto_install': False,<br /> 'qweb': [],<br />}
(3)以上为odoo模块所要求的最基础两个文件,建立完成后可,更新“模块列表”,然后进行安装,如无问题进入下一步。 -
步骤1的基础上
(1)在"report_webkit_demo"目录下建立子文件夹“report”
(2)在“report”文件夹下建立始下代码文件:
init.py : 空
webkit_report_demo.mako 报表模板文件<br /><!DOCTYPE html><br /><html><br /><head><br /> <style type="text_css">${css}</style><br /></head><br /><body><br /> % for user in objects:<br /> <h1>${user.name} Access Informations:</h1> <br /> % for group in user.groups_id:<br /> <h2>Group Name:${group.name}</h2><br /> <table border="1" width="100%"><br /> <tr><br /> <th width="40%">Model</th><br /> <th>Read</th><br /> <th>write</th><br /> <th>Create</th><br /> <th>Delete</th><br /> </tr><br /> % for access in group.model_access:<br /> <tr><br /> <td>${access.model_id.name}</td><br /> <td>${access.perm_read}</td><br /> <td>${access.perm_write}</td><br /> <td>${access.perm_create}</td><br /> <td>${access.perm_unlink}</td> <br /> </tr><br /> % endfor<br /> </table> <br /> % endfor <br /> % endfor<br /><br /> <p>The administrator name is: ${admin_name}</p><br /> <p>If this report does not contain headers, it is because you have a badly compiled wkhtmltopdf. Consider installing<br /> the static version distributed on the official web site: <a href="https://code.google.com/p/wkhtmltopdf/">https://code.google.com/p/wkhtmltopdf/</a>.</p><br /></body><br /></html><br />
webkit_report_demo.py :报表数据准备代码,非必须(本DEMO中只为说明如何使用,加入了个简单的例子)<br />from openerp.addons.report_webkit.webkit_report import webkit_report_extender<br />from openerp import SUPERUSER_ID<br /><br />@webkit_report_extender("report_webkit_demo.webkit_demo_report_users")<br />def extend_demo(pool, cr, uid, localcontext, context):<br /> admin = pool.get("res.users").browse(cr, uid, SUPERUSER_ID, context)<br /> localcontext.update({<br /> "admin_name": admin.name,<br /> })<br />
webkit_report_demo.xml :在“用户”增加界面菜单,并关联报表模板<br /><?xml version="1.0" encoding="utf-8"?><br /><openerp><br /> <data><br /><br /> <report string="Report on users"<br /> id="webkit_demo_report_users"<br /> model="res.users"<br /> name="webkit.res.users.report.xml"<br /> file="report_webkit_demo/report/webkit_report_demo.mako"<br /> report_type="webkit"/><br /> <br /> </data><br /></openerp><br />
-
在步骤2的基础上:
(1)更新report_webkit_demo/report/init.py文件<br />import webkit_report_demo<br />
(2)更新report_webkit_demo/init.py文件<br />import report<br />
(3)更新report_webkit_demo/openerp.py文件 : 将 "report/webkit_report_demo.xml"文件加入,在模块安装或更新时,对该文件加载。{<br /> 'name': 'webkit report demo',<br /> 'version': '1.1',<br /> 'author': '[email protected]',<br /> 'summary': 'webkit, report, demo',<br /> 'description': """<br />webkit report demo<br />==============================================================<br /> """,<br /> 'website': '',<br /> 'images': [],<br /> 'depends': ['report_webkit'],<br /> 'category': '',<br /> 'sequence': 16,<br /> 'demo': [<br /> ],<br /> 'data': [<br /> "report/webkit_report_demo.xml",<br /> ],<br /> 'test': [<br /> ],<br /> 'installable': True,<br /> 'application': True,<br /> 'auto_install': False,<br /> 'qweb': [],<br />}
(4)进入设置>本地模块,找到report_webkit_demo模块,对其更新。
(5)进入设置>用户>用户,选择用户进行打印,或进入表单界面进行打印。