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在打印的时候就会根据该文件来作为模版来渲染报表。
附件里已经包括模块,可以安装测试使用
Openerp 添加修改报表的更多相关文章
- 关于devexpress报表XtraReport,动态修改报表样式(.repx格式),动态添加数据并使用的理解
一.基本概念: XtraReports 中的每个报表都由 XtraRepot 类的一个实例表示,或者由该类的子类来表示(这种情况更常见). 因此,每个报表都作为带区的容器使用,而每个带区中都包含报表控 ...
- VS2010 C#添加水晶报表及设计
添加并设计水晶报表. [1]在VS中添加水晶报表 右击项目-->添加-->组件-->Crystal Report,输入文件名称“CrystallistReport”,如下图所示: 此 ...
- JavaWeb_day03_员工信息添加修改删除
day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...
- Web 1三级联动 下拉框 2添加修改删除 弹框
Web 三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
- roundcute 添加修改密码插件
添加修改密码插件 现打开main.inc.php 文件,搜索“$rcmail_config['plugins']”,找到: // List of active plugins (in plugins/ ...
- ASP.NET MVC用存储过程批量添加修改数据
用Entity Framework 进行数据库交互,在代码里直接用lamda表达式和linq对数据库操作,中间为程序员省去了数据库访问的代码时间,程序员直接可以专注业务逻辑层的编写.但是对于比较复杂的 ...
- 帝国cms添加修改会员字段时字段名不能带数字,否则注册页会出现空白
这几天ytkah在整帝国cms会员模块,根据客户需求添加不同的字段,这个相对不难,可还是遇到了点问题.当时添加会员字段时,在字段名用数字“1”来代表第一次,如下图的字段名“1rwsdy” 但是添加以后 ...
- 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
第三章 建议学习时间8小时 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...
- phpcms v9 后台添加修改页面空白页问题解决方法
phpcms v9 添加修改页面空白页的解决方法 找一个正常运行的phpcms 将caches\caches_model\caches_data 目录下的 content_form.class.php ...
随机推荐
- [转]如何创建一个自签名的SSL证书(X509)
原文出自:http://www.joyios.com/?p=47 引言 使用HTTP(超文本传输)协议访问互联网上的数据是没有经过加密的.也就是说,任何人都可以通过适当的工具拦截或者监听到在网络上传输 ...
- ADO.net开放式并发
https://docs.microsoft.com/zh-cn/dotnet/framework/data/adonet/optimistic-concurrency 在多用户环境中,有两种用于更新 ...
- Python之模块和包学习
模块简介 python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题.模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象 ...
- 网络排错与网络命令的理解ping-traceroute-host(nslookup)-tcpdump获取对方的mac
1. 虚拟机中NAT架构的网络结构中, 虚拟网卡VMnet8(192.168.134.1)是连接宿主主机. 用虚拟网段中主机(192.168.134.133),ping VMnet8 为什么没有响 ...
- dxbarmanager生成传统下拉式样的菜单
传统菜单 //创建一个dxSubItem,相当于创建一个主菜单项 dxBarSubItem := TdxBarSubItem.Create(Self); dxBarSubItem.Caption := ...
- 个人介绍&我的GitHub注册经历&初步使用
(1)个人介绍 我叫刘雨恬,目前是南通大学计科院网络工程141班的一名大二的学生,学号1413042004.由于学习软件工程的需要,我注册了cnblogs的这个博客账号,方便以后的学习交流.在兴趣爱好 ...
- 手动编译安装lamp之mysql
转自马哥教育的讲课文档 二.安装mysql-5.5.28 1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/mydata,而后需要 ...
- aspnetPage分页控件
项目里面有一个分页,刚好知道了aspnetPage分页控件,现在就把实现步骤和代码贴出来分享一下,如有错误欢迎指正. http://www.webdiyer.com 该控件原网址.里面文档 1.首先 ...
- DataGridView添加一行数据、全选、取消全选、清空数据、删除选中行
.net 2005下的Windows Form Application,一个DataGridView控件和4个Button,界面设置如下: 代码如下,有注解,相信大家都看得明白: ...
- 浅谈TCP通讯
基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息. 使用Tcp协议通讯需要具备以下几个条件: (1).建立一个套接字(Socket) (2).绑定 ...