润乾报表入门.doc

上传人:scccc 文档编号:12047839 上传时间:2021-12-01 格式:DOC 页数:18 大小:774KB
返回 下载 相关 举报
润乾报表入门.doc_第1页
第1页 / 共18页
润乾报表入门.doc_第2页
第2页 / 共18页
润乾报表入门.doc_第3页
第3页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《润乾报表入门.doc》由会员分享,可在线阅读,更多相关《润乾报表入门.doc(18页珍藏版)》请在三一文库上搜索。

1、1 前言鉴于目前报表开发没有一个统一的规范, 每个开发的风格和习惯也不一致, 所以动手写 了这份报表开发文档,一来有助于统一大家的报表的风格,提供一些常见问题的解决方案, 二来方便以后新人的学习使用。 本人也是略懂皮毛, 有什么错误和不足之处, 欢迎大家补充 修改。2. 报表工具安装解压后运行 安装文件,按引导完成安装。其中,在初次打开报表文件和发布报表文件的时候(后续会提到) ,会提示我们需要 lic 文件,就是下图中的两个 lic 文件。Figure 13. 报表工具的使用3-1 配置数据源使用报表时需要先对数据源进行配置:Figure 2选择新建一个数据源:Figure 3 项目中默认使

2、用的数据源名称为 reportjndi .参考图 3 进行配置后,点击连接,进行数 据源连接,这样就完成了报表服务器与数据库的连接。3-2 新建报表目前的报表形式分为两部分,一是用来显示查询结果的“ 报表名 .raq ”文件, 另一个是 用来提供查询条件的“ 报表名 ”文件。我们只需要在保存文件的时候,按上述格式命名,打 开.raq 文件时,会自动打开相关的文件。3-3 结果显示报表设计首先新建一张报表, 直接点击左上角工具栏上的 即可。 按照给定的表样设计好报 表名名、列名。如下图, 这里提供一种样式当做参考模板,如客户无特殊需求,希望各开发 按照统一的样式标准进行设计, 有助于提高所有报表

3、的统一性, 后面还会提到一些规范, 希 望大家也可以遵守起来。Figure 4报表名这一行,采用黑色、二号字,加粗。列名采用白色、三号字,加粗, 背景色使用淡紫色(颜色相近即可)。若每一列下面还要分列,则使用黑色、小 三号字,结果数据使用黑色、四号字。Figure 5完整显示的,要选择“按单元格内容扩大”设定好报表样式后, 开始根据逻辑进行取数, 设置每一列的宽度时, 如果需要在一行中 ,并去掉“自动换行” 。Figure 6报表通过配置的“ 数据集 ”进行取数。点击配置数据集,新增一个数据集,大部分逻辑, 通过 sql 检索即可完成,若遇到比较复杂的也可以使用存储过程。Figure 7 语法

4、”中输入 sql 语句,获得我们想要的查询结果:然后在报表中通过数据源名 .select ( 列名),即可获得我们要的数据, select 方法还 提 供了排序等功能,详细用法可以参考安装 安装包 安装包,帮助文档, 使用手册 报表设计 润乾报表用户手册 .chm ,通过搜索关键字, 可以 了解相关的功能,开发的时候可以多使用这个手册。3-4 查询条件报表设计很多时候需要根据一些条件来对数据进行筛选,点击左上角新建报表,选择填报报表, 生成一张空白报表,设计好需要的查询条件,例如:Figure 8 在设计的时候需要统一一下样式: 从上往下,每行四个查询条件,黑色小三号字体。右击查询条件后面的空

5、白格, 选择填报属性们可以选择编辑风格, 如所属机构、 银行大类这 些条件,我们一般使用下拉数据集,通过数据集进行取数,可以分别设置显示列和数据列。Figure 9 比较常用的编辑风格包括下拉日历,下拉列表框以及普通的文本编辑框。 通过配置查询条件所在格的 WEB变量名,可以在结果报表中通过相同的参数名获得该单 元格的数据。Figure 10在结果报表中,点击 配置参数 ,配置对应的参数名Figure 11 在这里配置好以后,我们在数据集中也需要配置参数,然后在 sql 语句中,使用“ ?” 与该参数进行绑定。需要注意的是, sql 语句中的 ?与参数中的参数是 按照顺序一一对应绑 定的,有几

6、个“ ?”就有几个参数,而且对应顺序要一致。如下图,参数列表中第9,第 10个参数为 bankid ,在 sql 语句中,对应的刚好也是第 9,第 10 个“ ?”Figure 12Figure 133-5 发布报表完成报表的设计之后,点击右上方的“发布报表” ,可以将报表发布到指定路径中。再点击 Internet 图标,就可以在网页中查看报了。4. 常见问题及解决方案4-1 分组,排序经常要对查询结果进行排序和分组, 报表工具自带 group 语法,可以在 sql 里先用 order by 排好序,然后在报表工具里使用 group 进行分组。常用的 select 排序和 group 排序是:

7、 (AAA, false , BBB),从数据集 ds1 中获取 AAA字段,并根据 BBB字段进行排序 (AAA, true ),把数据集 ds1 中所有记录按照 AAA字段降序排列,然后根据 AAA进行分组 对组织进行排序,可以通过 org_level 和 org_id 两个条件来排序。4-2 非必填查询条件有时候查询条件很多, 使用的时候往往不是所有的条件都要输入, 这时可以在 sql 的判 断中加上 or ? is null 。如图 12 所示, 对非必填的条件,加上 or ? is null,就可以在没有传该条件参数的时候也能查出数据。 (如果条件为多选,设置的数据类型为“字符串 组

8、”,这种情况下如果写 or ? is null 是会报错的,这里提供一种处理方法:在绑定参数 的时候需要特殊处理,如下图, typecode 为多选条件的变量名,第一个变量为正常的字符 串组变量,第二个变量特殊处理,如果为 null 时,赋值 1',如果不是,赋值 2',这样 在 sql 中判断的时候,只要将 or ? is null改为 or ? = ' 1'即可完成对空值的判断。这样配置后,对应的 sql 应该写成 and (code in (?) or ? = 1' ) )4-3 组织隔离需要对查询条件中的“组织机构”下拉框进行数据隔离时,可以这样

9、配置数据集:SELECT org_code|'-'|org_name namecode,org_id from tsys_organization t where org_id in(SELECT org_id FROM tsys_organization start with org_id = nvl(? , '6000001')CONNECT BY NOCYCLE PRIOR org_id = PARENT_ID) ORDER BY org_code“?”表示传进来的 expectedorgID ,这样就只能选到登录用户所在组织的本级以及下 级组织。4-4

10、是否包含下级需要这个条件时,查询报表需要添加一个下拉列表框,假设“1”表示“是”,“ 0”表示“否” ,WEB变量名为“ includesubs ”,设置该单元格不能为空,则默认选择“是” 。在结果 报表的 sql 中,需要判断的字段为,可以参考下面的代码:(?is not nulland (?='1' andin(SELECTorg_idFROMtsys organizaton START WITH org id =?CONNECTBY NOCYCLEPRIOR org id= PARENT ID) or (?='0' and=?) or(? is nulla

11、nd (?='1' andin(SELECTorg idFROMtsys organization START WITH org id =?CONNECTBY NOCYCLEPRIOR org_id = PARENT_ID) or (?='0' and =?)10 个?对应的参数为:Figure 15上诉代码的逻辑是: 如果选了“组织”条件,那么是否包含下级就根据这个组织来进行 判断,选是,就显示该组织及下级的数据,选否,只显示该组织的数;如果没有选“组织” 条件,则以登录用户的组织 ID( expectedorgID )作为参考组织。4-5 中文传参乱码和无法分页问题类似于开户行这类查询条件, 由于数据太多, 无法做成下拉的形式, 就只能通过文本输 入进行模糊查询, 但是有时候发现报表工具在传中文时会变成乱码。 还有如果对报表进行分 页,点下一页时一直会跳转回第一页, 只要把中的 isRedirect=1; 改为 isRedirect=0; 即可, 这样就不会把中文放在 url 里去传参了。4-6 分页后列显示不全分页时,建议选择“按行分页” ,然后在 报表属性打印 中根据实际情况设定宽度,使 一个页面中能显示所有列。如图Figure 16

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1