1. 概述
1.1 版本
报表服务器版本 | 功能简介 |
---|---|
11.0 | - |
1.2 功能简介
多级上报是基于模板进行数据填报入库,为了更好地实现多级上报功能,FineReport 为多级上报提供了四个参数来辅助进行模板设计,可在模板中直接调用。
2. 参数简介
参数 | 简介 |
---|---|
$fr_task_name | 获取当前上报任务的名称 |
$fr_task_id | 获取当前上报任务的 ID:
|
$fr_task_sender | 获取当前操作节点的上一个节点的操作人,即当前操作节点任务的发送人。 比如,不勾选「该节点所有操作人员完成后流转」选项时,若上报节点下有 2 个用户 A 和 B,审核节点中只有一个用户 C,那么 A 和 C 以及 B 和 C 就构成了 2 个单独的任务。当 A 、B 上报完成之后,C 需要进行审核,但是 C 的审核模板却只有一个,无法判断当前审核的数据是用户 A 的还是用户 B 的,此时可以在审核模板中添加一个过滤条件,申请人为 $fr_task_sender,那么 C 进行审核时,模板只会显示该审核节点的上个节点用户所上报的数据 |
$fr_task_state | 获取当前任务所处流转状态,参数值定义如下:
|
3. 示例
本文示例:使用多级上报功能,建立一个报销流程,让公司员工 Anna、Alice 上报,财务部员工 ecco 审核。
3.1 前期准备
1)在数据决策系统目录中,建立多级上报任务的目录。
2)将目录权限,开放给需要进行多级上报的员工,包括:Anna、Alice 和 ecco 。
注:前期准备详细步骤请参见:多级上报入口准备
3.2 制作上报模板
管理员需要先准备一张模板,用于公司员工录入报销数据,并提交给财务部审核。
点击下载模板:报销录入.cpt
3.2.1 数据准备
数据库中,需要准备一张表「报销数据」,用于存储员工录入的数据。表结构如下图所示:
请自行下载文件,并将该表上传到您的数据库中:报销数据.xlsx
3.2.2 设计报表
1)设置主体内容
新建一张普通报表,模板样式如下图所示。
设置 A3~J3 单元格纵向扩展,设置 B3~J3 单元格的左父格为 A3 单元格。
A3~F3 单元格插入公式:
单元格 | 公式 | 说明 |
---|---|---|
A3 | $fr_task_id | 自动获取上报任务的ID |
B3 | $fr_task_name | 自动获取上报任务的名称 |
C3 | SWITCH($fr_task_state,-1,"异常",0,"等待上报",1,"等待审核",2,"审核通过",3,"审核回退",4,"关闭",5,"超时") | 自动获取上报任务的状态: 如果「$fr_task_state」的返回值为 -1,则整个函数返回结果为「异常」;如果「$fr_task_state」的返回值为 0,则整个函数返回结果为「等待上报」,以此类推 注:switch 函数的具体介绍请参见:switch函数 |
D3 | $fr_task_sender | 自动获取当前操作节点任务的发送人 |
E3 | $fine_username | 自动获取登录数据决策系统的用户名 |
F3 | today() | 自动获取当前时间作为申请时间 |
2)设置填报控件
为 G3~J3 单元格设置填报控件。如下图所示:
G3、I3 单元格为数字控件,H3 单元格为日期控件。
J3 单元格为下拉框控件,数据字典选择「自定义」,包括三种报销事由:交通费、住宿费、餐费。
3.2.3 设置填报属性
点击菜单栏「模板>报表填报属性>提交」,新增「内置SQL」。
1)选择 3.1.1 节在数据库中准备好的「报销数据」表。
2)将单元格与数据库表中的数据列进行绑定,并选择「任务ID」和「申请人」作为主键。如下图所示:
3.3 制作审核模板
管理员需要先准备一张模板,用于财务部审核本次上报任务中,公司员工提交的数据。
点击下载模板:财务审核.cpt
3.3.1 数据准备
新建一张普通报表。新建数据集 ds1:SELECT * FROM 报销数据,取出上报的数据用于审核。
3.3.2 设计报表
新建一张普通报表,模板样式如下图所示。
A3~D3 单元格数据设置为「列表」。
F3 单元格插入公式:
单元格 | 公式 | 说明 |
---|---|---|
F3 | SWITCH($fr_task_state,-1,"异常",0,"等待上报",1,"等待审核",2,"审核通过",3,"审核回退",4,"关闭",5,"超时") | 自动获取上报任务的状态: 如果「$fr_task_state」的返回值为 -1,则整个函数返回结果为「异常」;如果「$fr_task_state」的返回值为 0,则整个函数返回结果为「等待上报」,以此类推 注:switch 函数的具体介绍请参见:switch函数 |
3.3.3 添加过滤条件
选中 A3 单元格,在单元格元素属性面板编辑过滤条件,设置过滤条件申请人等于$fr_task_sender,则模板只会显示该审核节点的上个节点用户所上报的数据,如下图所示:
3.4 添加上报流程
在报销流程中,数据会经过两个节点:上报、审核。因此需要先在「上报流程管理」目录中设置好一个报销流程。
管理员登录数据决策系统,点击「目录>多级上报>上报流程管理」。点击「添加」,新建一个上报流程「报销流程」。如下图所示:
3.5 添加「报销录入」节点
该节点用于公司员工录入报销数据。
1)设置节点名称为「报销录入」。
2)设置权限编辑-任务列表为「上报」、「查看」。
3)选择模板为 3.1 节准备的「报销录入」模板。
4)设置操作人员为「角色>选择平台用户>Anna、Alice」
5)不勾选「该节点所有操作人员完成后流转」
如下图所示:
3.6 添加「财务审核」节点
该节点用于财务部指定员工 eoco 审核报销数据。
1)点击右上角「+」号,新增一个节点。
2)设置节点名称为「财务审核」。
3)设置权限编辑-任务列表为「审核」、「查看」。
4)选择模板为 3.2 节准备的「财务审核」模板。
5)设置操作人员为「用户>平台用户>eoco」
6)点击「确定」,完成流程设置。
如下图所示:
3.7 设置上报任务
对于上一节设置的上报流程,要用上报任务,将其正式投入使用。
管理员登录数据决策系统,点击「目录>多级上报>上报任务管理」。点击「添加」,新建一个上报任务。
1)设置任务名称为「报销任务」。
2)流程选择第四章创建的「报销流程」。
3)设置定时下发频率为每日 17:00。
注:为了能立刻看到效果,用户可以先将执行频率设置为「执行一次」。
如下图所示:
3.8 效果预览
3.8.1 公司员工上报
用户 Anna(Anna,123456)、Alice(Alice,123456)分别登录数据决策系统,完成上报操作。
点击「我的上报任务」目录,查看自动流转过来的报销任务。点击「上报」,操作模板已通过多级上报参数自动获取到当前任务信息,包括:上报 ID、任务名称、任务状态、发送人等。
填写报销数据,点击「上报」,完成上报操作并发送任务到下一操作节点。
3.8.2 财务部员工审核
财务部艾可(eoco,123456)登录数据决策系统。
由于不勾选「该节点所有操作人员完成后流转」选项,系统为用户 Anna 和 Alice 分别生成上报任务。因此在「我的上报任务」目录下,eoco 可以查看到用户 Anna 和 Alice 发送过来的报销任务。
以用户 Anna 为例,点击「审核」,由于设置了过滤条件,eoco 只能查看到用户 Anna 的上报数据。
点击下方操作栏中的「通过」/「回退」按钮可对 Anna 的上报数据进行审核。如下图所示: