填报表的权限控制

在流程填报中,填报表的权限控制主要涉及单元格的可写权限控制,即在流程中哪些节点、哪些人员可以对填报表中的哪些单元格进行数据的填写和修改。

例如,在场景用例“销售费用预算上报审批流程”中,填报表的交通费、通讯费等费用的填写都只能由上报数据的销售人员在节点“销售人员上报”中完成,“部门销售经理审核”和“销售总监审核”这两个节点中,销售经理和销售总监都只能对填报表中的数据进行查看而不能填写修改。如下图所示:

填报表的权限控制 - 图1

流程填报中,上述填报表可写权限的控制可通过为节点设置模式名,以及在填报表中设置参数Mode接收模式名并应用到单元格可写属性表达式的方式实现。

例如,在“销售费用预算上报审批流程”中,在节点“销售人员上报”的基本属性中设置了模式名【SalesmanInput】,如下图所示:

填报表的权限控制 - 图2

接着,就可以在填报表单设计时设置参数Mode,这样填报表单就能从系统中获取流程任务当前节点的模式名,如下图所示: 填报表的权限控制 - 图3 最后,再使用参数Mode对需要进行填写权限控制的单元格设置可写属性表达式,完成权限控制。例如对填报表中填写交通费的单元格A7,设置可写表达式: 【if(@Mode=='a',true,false)】 如下如所示: 填报表的权限控制 - 图4

通过上述设置后,基于“销售费用预算上报审批流程”启动生成的填报任务进行到“销售人员上报”这个节点时,填报表即可获取节点模式名【a】并在填写交通费的A7单元格的可写表达式中进行计算,计算结果为true,即销售人员可以填写数据。而当填报任务流转到后续的两个节点时,由于节点的模式名为空,则A7单元格的可写表达式计算结果为false,从而控制了销售经理和销售总监对单元格不可以填写。

特别说明:流程填报中,若需要对填报表中某些单元格数据的查看权限进行控制,依然可参照上面的单元格可写权限控制的原理,即在填报表单中设置Mode以及UserID等等的参数,以及在数据集或单元格可视属性表达式中应用这些参数来实现权限控制。