报表制作说明
业务数据填报表
实现关键点:
1. 主从结构
主表保存交接单基本信息,包括业务人员信息,交接单号,交接单日期等.
从表业务明细数据,可为一个交接单添加多条明细信息。
报表表样结果设计,详见下文报表格式及关键表达式。
2. 多个更新属性,回填至多张数据库表中
每个更新属性可以回填至一个物理表中,本报表需要将填报数据分别回填至交接单表,业务-发展人员表及业务数据明细表中,故需要定义三个更新属性,详见下文的填报属性设置。
3.一个交接单可增加多个发展人员,每个发展人员可添加多个业务明细
交接单表单可切换显示多个填报表单,在业务表单内可动态添加发展人员区块,每个发展人员下发可添加多条业务数据明细。可通过输入特效实现复杂灵活的填表表单,详见下文的输入特效。
实现步骤
该报表中显示交接单基本信息,并使用tab特效显示多张填表表单。
1.关键数据集:
Ds2:select * from gd_jjd where taskid=?taskid
该数据集用于获取当前填报任务所填报的交接单基本信息
2.展现属性设置:
E1:=if(ds2.JJDID!=null,ds2.JJDID,@Mode=="ywy",@Task_ID+str(date(now()),"yyyyMMdd")),显示交接单号,对于已经填报的任务,这里显示查询出来的字段值,否则如果当前节点@mode参数为ywy,显示默认生成交接单号,交接单号生成规则为任务ID+当前日期
H1:=if(ds2.JJRQ!=null,ds2.JJRQ,@Mode=="ywy",now());显示交接单日期,对于已经填报的任务,显示查询出来的字段值,否则如果当前节点@mode参数为ywy显示当前日期。
E2:=if(ds2.YYRYID!=null,ds2.YYRYID,@Mode=="ywy",@User_ID);显示业务人员,对于已经填报的任务,显示查询出来的字段值,否则如果当前节点@mode参数为ywy,显示当前用户
E3:=ds2.BZ,显示备注信息
3.输入特效
B4:选择tab页特效,属性为{name:"ywmx_tab", tabs:[{label:"业务", content:{name:"ywmx_block", type:"report", id:"2055031769",params:{Task_ID: "=@Task_ID",Mode: "@Mode",jjrq:"@jjrq",ywyid:"@ywyid"}}},{label:"物资", content:"物资填报表"},{label:"票据", content:"票据填报表"}]}
其中业务tab中显示的资源id为2055031769的资源,并且传递参数task_id,mode,jjrq,ywyid供tab中的资源使用。
设置如下图:
4.填报属性设置
更新属性设置如下:
更新属性主要用于将单元格值回填GD_JJD表
可写属性:
E3为业务员可填报单元格,仅在数据上报时可写,数据审核查看时不可写,需使用权限参数并获取调度相关参数@mode来控制单元格的可写。
报表参数定义中添加accessParam参数,参数类型为动态参数。定义权限参数的表达式为@mode,此步骤将权限参数和流程参数关联,在【报表属性】-【填报属性】中添加权限参数值“ywy”
报表单元格的“可写“/“可见”属性,勾选权限参数accessParam为选中的ywy时为可写
注意此处需要配合流程节点的属性设置。
关于权限参数的使用参见用户手册报表级填报属性>权限参数性>权限参数
- 业务发展人员填报表
该报表中可动态添加区块,增加发展人员。
1.关键数据集:
Ds2:select * from gd_jjd where taskid=?taskid ;该数据集用于获取当前填报任务所填报的交接单基本信息
Ds3:select * from gd_ywfzry;该数据集用于获取业务发展人员表的信息
2.展现属性设置:
A1:=if(ds2.JJDID!=null,ds2.JJDID,@Mode=="ywy",@Task_ID+str(date(now()),"yyyyMMdd"))
交接单号,对于已经填报的任务,这里显示查询出来的字段值,否则如果当前节点@mode参数为ywy,显示默认生成交接单号,交接单号生成规则为任务ID+当前日期
H1:=if(ds2.JJRQ!=null,ds2.JJRQ,@Mode=="ywy",now())
E3: =ds3.Select(YWFZRYID,false,JJDID==A1)
交接单对应的业务-发展人员ID。
C3:=ds3.FZRYID,业务发展人员的ID,设置显示值为users.select1(USER_NAME,USER_ID==value())
B1:=@Task_ID 任务ID接受自交接单主表的参数,这里在单元格显示用于设置填报更新属性,单元格隐藏。
A5:=@jjrq 交接单日期接受自交接单主表的参数,这里在单元格显示用于设置填报更新属性,单元格隐藏。
3.输入特效:
D1:按钮特效,实现动态添加区块
属性设置:{name: "add_block", onclick:"ywmx_block_add_row()"}
E1:按钮特效,实现删除区块
属性设置:{name: "del_block", onclick:"ywmx_block_del_row()"}
D5:按钮特效,实现行式子报表添加行
属性设置:{name:"addRowBtn", onclick:"='order_details_'+cell(E3)+'_add_row()'"}
E5:按钮特效,实现行式子报表删除行
属性设置:{name:"delRowBtn", onclick:"='order_details_'+cell(E3)+'_del_row()'"}
A7: 子报表特效,实现添加子报表
属性设置:{name:"='order_details_'+E3", id:"2055031757", overflow:"scroll", params:{ywfzryid: "= '@ywfzryid_'+cell(E3) ",Task_ID:"@Task_ID",Mode:"@Mode"}}
其中子报表资源id为2055031757,可传递的参数包括:ywfzryid,Task_ID,Mode。Ywfzryid为业务-发展人员id,子报表中更新属性需要使用;Task_ID,Mode为流程相关参数。
E3:参数特效,指定参数单元格变量名
{name:"='ywfzryid_'+cell(E3)"},注意这里的值需要和子报表中传递的参数对应。
params:{ywfzryid: "= '@ywfzryid_'+cell(E3) ",Task_ID:"@Task_ID",Mode:"@Mode"}
4.填报属性设置
该表为行式填报表
更新属性:
更新属性主要用于将单元格值回填GD_YWFZRY表
可写属性:
C3单元格需要设置可写属性,设置方式同交接单主表的可写属性
编辑风格:
C3设置下拉树编辑风格,选择当前系统用户作为下拉选项。
流水号:
E3为流水号单元格,取业务发展人员表ywfzryid最大值,每次增1作为流水号。
流水号初值:
流水号设置:++ID
该报表为业务发展人员添加业务明细。
1.关键数据集:
Ds1:select * from gd_ywsj where taskid=?task_id
该数据集获取任务相关的业务发展明细
2.展现属性设置:
A1:=if(ds2.JJDID!=null,ds2.JJDID,@Mode=="ywy",@Task_ID+str(date(now()),"yyyyMMdd"))
显示交接单id,对于已经填报的任务,这里显示查询出来的字段值,否则如果当前节点@mode参数为ywy,显示默认生成交接单号,交接单号生成规则为任务ID+当前日期
B2:=ds1.Select(YWLX,,JJDID==A1&&YWFZRYID==@ywfzryid) 显示当前交接单,业务-发展人员id下的业务明细的业务类型
D2: =ds1.SLFS 显示受理方式
F2:=ds1.SLL,显示受理量
G2: =@ywfzryid,显示业务-发展人员ID,取自主报表业务-发展人员填报表传递的参数。
I2:= =ds1.YWMXID,业务数据明细id,通过隐藏列不可见。
3.填报属性设置
更新属性:更新属性主要用于将单元格值回填GD_YWSJ表
需要注意的是GD_YWSJ表主键的更新值为=G2+"_"+str(I2),即为业务发展人员ID单元格(G2)_流水号单元格I2
流水号设置:
I2为流水号单元格,初值为0,每次增1作为流水号。
流水号初值:MXID为0;流水号设置:++MXID
可写性:
B2,D2,F2需要设置可写属性,设置方式同交接单主表的可写属性
每日业务数据汇总表
实现关键点
1. 汇总每日业务数据情况,统计不同业务员的业务受理情况2. 多层分组报表,需要进行分组统计
实现步骤
略
业务数据综合分析报表
实现关键点
1. 图表体现业务数据整体情况2. 提供查询功能进行数据过滤,可根据业务受理类型,时间段进行数据查询
实现步骤
略