表单挂到流程上只有三类用途:传递数据、审核职能、分发与汇总。本文围绕流程驱动设计的铁三角关系,梳理节点的执行方式、表单类型的选型思路与字段权限的控制方案。
表单是车厢;实体与单据是货物的种类;流程引擎是动力系统。三个都到位了,才能组装出一台真正能跑的车。所以主题非常明确:流程、表单、数据这三者之间,到底是什么关系?谁驱动谁,谁承载谁,谁被搬运。
汽车有前进、后退、左转、右转、刹车、加油门、鸣笛、换司机;流程里都有对应的:
世界上很多道理是相通的,关键是抓住事物的本质。通过这个比喻去看工作流引擎,会立刻有一个独特的视角,胜过看很多书。
流程引擎是车辆的控制系统,而操作车辆的是一个主体:可以是一个人,也可以是一台设备。
所以节点的第一个属性,就是回答"谁来开":
每个节点都要先回答这个问题:这一步是人做,还是机器做。答案不同,节点属性的配置完全不同。
从"装什么数据"的角度看表单类型:经典表单装普通的结构化数据,八成场景用它,像普通厢式货车;章节表单装合同、项目申报这类章节化的文档,像分格货运箱;VSTO 表单装需要 Excel 参与的科学计算,像油罐车。
硬用卡车拉液体,货也能送到,但是体验很差。如果发现录入体验别扭,就要回头重新考虑表单类型。
左边两张表单:报销申请单、发票明细表;右边三个节点:员工填单、部门经理审批、财务复核。连线讲了两件事:
两个方向都要记住。
同一张报销单:在员工填单节点上,金额和事由都可以填写;到了经理审批节点,这两项都变成只读;再到财务复核节点,核准金额可以填写,而银行账号直接不可见。
这就是表单控制方案在起作用。最关键的一点:它不是配给"人"的,是配给"节点"的。
三种方案:默认、只读、自定义字段权限。权限跟着节点走,而不是跟着人走。
把表单挂到流程上,到底图什么?其实只有三类:
设计节点之前先问一句:这个节点挂表单,是为了这三类里的哪一类?答不上来,这个节点多半就是多余的。
三者缺一,业务就跑不起来。
带走三句话:
抓住了流程、表单、数据的关系,就抓住了流程驱动设计的第一步。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。