润乾报表4.0可填报报表的编制培训安排时间:AM9:30—12:00PM:1:30—5:30方式:讲课、课堂练习、课后练习深入了解润乾填报表作为输入的开发工具,其基本的开发流程;会制作网格式、自由式、行式、主子表、多源分片等不同风格的填报表;掌握填报表与网页脚本的结合开发掌握填报API接口的调用与应用开发;学习灵活使用填报表完成数据的清洗与过滤培训目标培训对象已初步掌握润乾报表的设计,同时需要进行输入开发的人员;内容提要网格式填报表行式填报自由格式填报表填报表强提交填报表中使用参数填报处理类多源填报表填报表组利用填报实现数据清洗与过滤基本概念与相关操作—普通报表与填报表润乾报表分成两种:普通报表填报/参数表单,填报表参数表单。区别常规报表与填报/参数表单的区别:常规报表只能浏览汇总运算数据,不能录入数据,而填报/参数表单不仅仅能够浏览数据,还可以录入数据。填报表与参数表单的区别:填报表录入的数据是用于向数据库提交保存的,而参数表单录入的数据作为参数值传递给报表的。普通报表参数表单填报表基本概念与相关操作-填报表的设计流程基本概念与相关操作-如何制作填报表新建填报表报表在新建时,可以选择是普通报表还是参数表单及填报表。转为填报表普通报表建成后,通过修改报表属性可以指定其转为参数表单及填报表网格式填报表-新建填报表什么是网格式填报表清单的形式纵向列出,一条记录就是一行,多行一起提交保存的填报表。新建网格式填报表连接数据源新建数据集生成报表,并编辑预览结果网格式填报表-设置更新属性基本概念定义填报表单元格与数据库中待更新的表、字段之间的对应关系可以有多个,每一个更新属性对应一张数据库表扩展的单元格,更新属性需要设定在主单元格中;不扩展的单元格,更新属性可设定到任何单元格中每个更新属性都必须选定一个更新字段做为主键。操作注意:系统调用存储过程完成更新,更新属性的问号与对应的取值表达式中,如果此问号要求取单元格的填报值进行表达式计算,那么应写成:=inputValue(单元格名)的形式,如果直接写单元格名,表示是取单元格填报前的原始值网格式填报表-设置可写属性基本概念定义填报表单元格在发布后,在页面中是否可进行输入或改写设为不可写的适用情况填报人ID、填报日期、自动计算出的金额等操作直接勾选通过可写表达式控制注意:如果可写表达式存在,那么“是否可写”属性将失效,也就是可写表达式优先于是否可写属性网格式填报表-发布填报表操作网格式填报表-填报数据类型基本概念用户录入数据时,通过设置单元格数据类型,在发布后的页面上进行初步的合法性检查。数据类型种类字符串、整数、数值型、日期、数字串,Email地址、时间型、日期时间型操作属性—填报属性—填报数据类型网格式填报表-编辑风格基本概念帮助用户快速正确录入数据的功能编辑风格种类密码框、下拉列表框、下拉数据集、下拉视图、复选框、下拉日历、下拉树、下拉视图树、上载文件、自定义等网格式填报表-编辑风格(下拉数据集)操作增加数据集设置单元格的填报属性为下拉数据集网格式填报表-编辑风格(下拉日历)操作设置单元格的填报属性为下拉日历网格式填报表-编辑风格(下拉树)操作增加数据集设置单元格的填报属性为下拉数据集网格式填报表-合法性检查基本概念在客户端浏览器中实现对输入合法性的校验两种实现方式通过设置单元格的填报数据类型自动实现合法性检查通过设置单元格校验属性,输入校验表达式,实现手工校验操作注意写在可扩展单元格中的校验,该单元格要加上${},会随着单元格的扩展而被复制,写在不可扩展单元格,则不会被复制。立即校验:鼠标移开当前单元格时就进行合法性检查网格式填报表-自动计算基本概念在客户端浏览器中跟据输入自动实现单元格值计算操作注意输入自动计算的表达式的规则如下:自动计算的表达式语法规则全部采用javascript的语法规则。自动计算的表达式中,如果需要相对引用单元格,即当报表进行扩展时,扩展出来的单元格中对该单元格的引用会随位置相对变化,那么要求这个相对引用单元格写成${Cellx}的格式。比如:绝对引用:直接引用单元格的编号,如C3*D3相对引用:加上${},如${C3}*${D3}写在可扩展单元格中的自动计算,会随着单元格的扩展而被复制,写在不可扩展单元格,则不会被复制网格式填报表-表报发布和TAG标签介绍操作TAG标签介绍网格式填报表-设定当前行背景色操作例子:3.11.jsp网格式填报表-修改后单元格的高亮显示操作行式填报表基本概念能够在页面上动态增加、插入、删除行。行式填报表的特征行式填报表不支持的功能不支持隐藏行/列不支持自动换行/尺寸调整方式不支持行/列后分页可写属性不支持表达式不支持动态过滤行式填报表-转为行式填报操作行式填报表-增加流水号基本概念按照一定的递增或者递减规则,在当前值的基础上进行递增或者递减后算出来的值。采用的也是javascript表达式或者函数;但是流水号的初值是报表展现之初给出的。常见方法xuehao++、++xuehao、xuehao+=2groupMaxNumber()自定义函数操作行式填报表-导入不定行Excel操作例子行式填报表-行式报表发布操作例子:4.4.raqTAG标签insertRowLabelappendRowLabeldeleteRowLabel自由格式填报基本概念一条记录的字段可以分布在多个不同行上,多条记录扩展时,能够带动所有单元格成片复制。操作例子:5.1.4.raq自由格式填报-几个常见javaScript函数打印_print()函数导出函数提交保存函数翻页函数自由格式填报-合法性检查字符型数据的合法性检查正则表达式校验邮政编码例子:5.2.1.raq定义合法性检查函数例子:5.2.2.jsp系统提供name_userDefineValidScript()函数自由格式填报-单元格自动计算操作:直接写表达式引用在JSP里定义的javascript函数注意:自动计算表达式中,如果用到引号,一定要用双引号,不能用单引号例子:5.2.1.raq、5.2.2.jsp自由格式填报-switchCase函数功能用途说明内置定义的一个javascript函数,可以在报表中直接使用而无需用户再定义,它主要完成在不同的匹配值下返回不同表达式的计算结果,相当于各编程语言的switchcase语句的功能例子自由格式填报-图片上传基本概念把图片存入数据库的blob或者images等二进制类型的字段中操作步骤定义上传文件的编辑风格设置上传文件的更新属性要定义单元格的数据类型,和数据值表达式注意:图片字段需要单独设置其更新属性例子:自由格式填报-控制光标的跳转顺序回车键向右移动(多行输入框中要按住Ctrl键)Ctrl+left向左移动Ctrl+right向右移动up向上移动(多行输入框中要按住Ctrl键)down向下移动(多行输入框中要按住Ctrl键)左右移动可以在全表中循环,上下移动只能在同列中移动填报表强提交业务背景多时候合法性检查的目的仅仅是警告用户,并非一定得阻止用户提交数据。用户往往由于某些原因,数据就是不合法,但是仍旧需要提交实现思路直接调用的是_submitTable()方法,因此,我们只需要在网页上重载_submitTable()方法,在该方法里,调用合法性检查函数的时候,定义一个变量,用于保存用户面对错误警告时的选择,从而控制是直接提交还是继续合法性检查还是返回。提交的时候,在该方法里调用_submitReport()进行提交即可实用举例:参数-填报表中使用参数操作例子:7.1.raq、7.1.jsp参数-参数模版的设计需求:实现步骤编辑页面增加数据集设置编辑风格发布效果参数-参数处理类参数处理类AbstractParamProcessor介绍对象:session、request、response、context方法:process()、getParamValue()、putParam()处理类的调用标签processor实用例子:1、7.1_arg.raq、7.4.jsp参数-对HTML报表单元格值的引用概念不可扩展单元格可以在页面中引用其值引用方法在JSP代码中引用:%StringmyVar=request.getAttribute(myVar);%在tag标签引用report:varname=myVar/注意两种引用方式均需在报表标签report:html……/之后方可有效参数-在填报表中使用自定义输入控件设计单元格的数据类型,编辑风格可以为自定义数据交换varcell=event.srcElement;_setEditingValue(cell,value,dispValue);发布scriptlanguage=javascriptsrc=myControl.js/script填报处理类作用在数据提交到数据库之前和之后进行调用,以便作一些业务逻辑的处理。类介绍AbstractInputListenerbeforeSave()afterSave()getInputSql()实用例子:8.2.raq、8.2.jsp多源填报概念同一页面中的数据填报到一个数据库的多张表中或不同的数据库表中主子填报表操作例子:9.2.raq多源交叉填报表操作例子:9.3.raq离线填报1.使用销售合同报表作为填报样表2.确定发布的TAG中needofflineInput属性值为“yes”离线填报测试1.打开IE浏览器输入离线填报报表URL2.点击在本机保存功能链接,在弹出的输入路径窗口中输入保存文件的位置3.打开保存的文件填报表组概念很多业务系统中,都需要对多张填报表同时进行编辑,同时保存到数据库中,批量地打印出来,或者批量地导入导出到excel等。多张填报表之间还需要进行合法性检查、自动计算等等,这种多个填报表同时操作的功能,我们称为填报表组填报表组-新建填报表组建报表组前,准备报表订单.raq、订单明细.raq新建填报表组填报表组-填报表源定义URL只要能够返回一个报表模板文件流的URL均可以绝对路径资源管理器中报表模板的全路径文件名相对路径编辑器中相对于系统/选项中配置的应用资源路径web发布中相对于reportconfig.xml里配置的reportFileHome属性中的报表文件路径填报表组-Sheet修改填报表组-表间合法性检查定义概念表与表之间是存在一定关联关系的,以保证填报数据的正确性,如:订单的ID在订单表和在订单明细表中必须一致操作填报表组-发布TAG标签介绍利用填报实现数据清洗与过滤业务背景原始报表数据量杂乱、庞大。需要将原始数据定期进行初步汇总,汇总数据存入中间数据库中。然后再基于中间数据库生成报表实现思路使用一张填报表,来统计原始数据,根据填报数据的来去无关性,分别设置原始数据的数据源与填报入库的数据源实现例子9.3.raq、11.jsp相关类介绍WebDataSaver联系方法北京润乾软件技术有限公司技术支持论坛:技术支持邮箱:support@runqian.com.cn技术支持电话:(10)51295365Q&A谢谢!