# 分支设置 流程的分支功能,需要分别在流程以及填报表单中的进行相关分支属性设置。 以下将结合一个具体的场景用例“报销审批”流程,来说明复杂流程中分支功能的设置和使用。 ## 场景用例-报销审批流程 ### 业务流程示意图 通过流程设计器完成流程定义后的报销审批流程如下图所示,可见,在该流程中,从节点“提交报销单”出发一共出现了三条分支: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_eca065770cbaddda6a9218397c9f4b0c_r.png) ### 业务流程分析 上图所示的“报销审批”流程即是一个较为常见的含有分支的流程,即流程中会根据节点“提交报销单”中所填报数据的情况流转到不同的后续节点。 该场景用例的具体业务背景情况如下: 1、公司人员因工作而支出的费用需进行报销审批。 2、当报销额度1万以上由总经理审核,小于1万由部门经理审核,并且当小于1000时在部门经理处完成自动系统审核。 3、经部门经理或总经理审核后,再由财务部最终审核。 4、部门经理或总经理可以将报销单回退至提交人。 ### 流程中需使用的填报表 在流程中进行数据上报所使用的填报表如下图所示。其中,合计金额将计算出本次报销的总费用额度。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_eca39e9385e0de8100d8a21cac31a07f_r.png) ## 填报表中的分支号计算设置 复杂流程的分支功能,需要在填报表中设置分支号的计算。 例如在用例“报销审核”流程中,需要在填报表中根据合计金额的大小,计算出一个分支号。 具体计算规则如下: - 当报销单合计金额<1000时,分支号等于10; - 当报销单合计金额<10000时,分支号等于20; - 当报销单合计金额>=10000时,分支号等于30; 分支号的计算可以直接在某个单元格中设置自动计算公式。通过设置单元格自动计算公式,可以实现用户在填报表单中填写数据时,根据填写的数据即时完成分支号计算。 例如,用例“报销审核”流程中填报表单的设计如下图: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_8bf834f08557bc1308a883a9f94c8ac3_r.png) 分支号的计算通过设置填报表单元格的自动计算完成,自动计算提供固定计算、公式计算、js计算三种类型,可以根据分支号的计算逻辑复杂程度选择合适的类型。 通常可选择js计算方式实现灵活的分支号计算,js脚本可以写在html类型的单元格中 Js脚本示例如下: ```javascript ``` 如在A10单元格里设置js脚本: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_372907ef7103b0bf611720fac29d347a_r.png) 在填报表模板中可选中单元格【A11】作为分支号计算的单元格,然后在【A11】单元格的填报属性中设置分支号的自动计算为js计算。如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_e6ab6258866cb6d0720877307b8223a1_r.png) 同时,由于单元格【A11】计算出的具体分支号并不需要显示在填报表中让用户看到,因此还可以将该单元格设置为不可视,如下图所示。这样当使用“报销流程”和填报表单报送数据时,任务处理人员就看不到【A11】单元格中计算出的分支号了,但系统仍然可从该单元格获取到分支号。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_e5157f6c7217e6dde7289d9a634f50fd_r.png) ## 流程中的节点分支设置 为了让流程中的节点可以从填报表单中获取到计算出的分支号,需要在流程设计器的节点流程属性中进行【分支设置】的属性配置,即设置节点的分支号读取单元格。 例如在用例“报销审批”流程中,节点“提交报销单”的处理对象已经设置为静态资源报表【报销单】,那么就可以进一步选中该节点并设置该节点流程属性【分支设置】为【A11】,表示从填报表【报销单】的A11单元格获取分支号。如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_e5429ecdf023a2b82061b19c6abc039b_r.png) ## 流程中的节点连线分支号设置 为了实现流程可以根据填报表计算出的分支号,进入相应的分支路径,还需要在流程中设置相应分支的节点连线分支号。要特别说明的是:不能为开始节点设置分支路径。 例如在用例“报销审批”流程中,需要在流程设计器双击以下节点连线弹出连线属性设置界面,设置相应的分支号,注意分支号一定要与填报表的分支计算想匹配: 【提交报销单 --> 部门经理自动审批】:10 【提交报销单 --> 部门经理审批】:20 【提交报销单 --> 总经理审批】:30 设置节点连线的分支号后,可在流程设计器的流程图中在节点图标左上角看到设置的分支号,如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_6cc41a89dfac90a593a76416d2fa516b_r.png) ## 流程中的节点分支到达方式设置 以用例“报销审批”流程为例,由于流程中存在分支,会出现“部门经理自动审批”、“部门经理审批”、“总经理审批”三个节点完成处理后的下一节点都是“财务复核”。 即“财务复核”成为了三条节点连线【部门经理自动审批 --> 财务复核】、【部门经理审批 --> 财务复核】、【总经理审批 --> 财务复核】的汇合节点。 此时,就还需要根据实际业务的需要来设置汇合节点的流程属性【分支到达方式】。 节点流程属性【分支到达方式】提供了两个选项: - 需等待全部到达:是指需要前面分支节点全部都经过处理,填报任务才开始进入到汇合节点的处理。 - 任一分支到达即可:是指只要前面分支中任意一个节点完成了审核处理,填报任务就可以流转进入到汇合节点的处理。 在用例“报销审批”流程中,填报任务将根据“提交报销单”的合计金额的大小进入其中某一条审批的分支路径。 因此,对于节点【财务复核】,只要前面的任一节点完成了审核处理填报任务就应该进入到【财务复核】节点中。 于是,可以设置节点【财务复核】的【分支到达方式】为【任一分支到达即可】。 ## 分支功能的应用 完成上述的填报表单和流程中的分支设置后,即可实现含有分支功能的复杂流程。当用户在任务处理界面完成填报任务的处理时,任务将根据分支号而进入对应的分支路径。 注意:要实现根据单元格的分支计算结果走相应分支路径,则任务的审核完成处理必须是在任务处理页面点击【审核】按钮来完成任务的,而不能通过任务列表的【审核】按钮来完成。
以上内容对您是否有帮助?