教程:通过分支增强业务流程
业务流程引导您通过销售、营销或服务流程的各个阶段,直到完成。 在简单的情况下,线性业务流程是一个不错的选择。 然而,在更加复杂的情况下,您可以通过分支的方法加强业务流程。 如果具备对业务流程创建的权限,您可以使用 If-Else
逻辑创建带有多个分支的业务流程。 这种分支条件可以由使用 AND
或 OR
运算符组合的多个逻辑表达式形成。 基于流程定义过程中定义的规则,分支选择将实时自动完成。 例如,在汽车销售中,在常规资格阶段按照规则分为两个分支之后,配置单个业务流程(买家更青睐新车还是二手车?买家的预算是高于还是低于 20,000 美元等。),一个分支用于销售新车,另一个用于销售二手车。 有关业务流程的详细信息,请参阅业务流程概述。
下图显示了一个带有分支的业务流程。
设计有分支的流程时需要了解的事项
设计带分支的业务流程时,请注意以下信息:
一个流程最多可以跨越五个唯一表。
每个流程中最多可以使用 30 个阶段,每个阶段最多只能包含 30 个步骤。
每个分支的深度不得超过五级。
分支规则必须基于紧邻优先阶段中的步骤。
您可以使用
AND
运算符或者OR
运算符,组合一个规则中的多种条件,但两种运算符不可以同时使用。在定义流程流时,您可以选择表关系。 此关系必须为 1:N(一对多)表关系。
可以在同一个数据行上同时运行多个活动流程。
可以通过拖放在流程中重新安排磁贴(“阶段”、“步骤”、“条件”等)。
在合并分支时,所有同级分支必须合并到单一阶段。 同级分支要么全部合并到单一阶段,要么每个同级分支必须结束流程。 同级分支不能与其他分支合并,同时结束流程。
客户端 API 更改无法触发分支条件的计算,因为分支依赖于业务规则。
对于模型驱动应用中的窗体,与未来阶段的交互会触发它们的条件和业务规则。 但是,如果活动阶段保持不变,当窗体重新加载时,这些规则不会再次运行。 只有活动阶段中的规则会在窗体加载时运行。
备注
可以多次访问流程中使用的表(多个封闭的表循环)。
无论表类型如何,流程都可以返回到上一阶段。 例如,如果活动阶段在报价单行上为交付报价单,则流程用户可以在商机行上从活动阶段回到目的阶段。
在另一示例中,假设流程当前处于流程中的提交方案阶段(授予潜在客户资格>确定需求>创建方案>提交方案>关闭)。 如果提供给客户的建议需要更多搜索来确定客户的需要,用户可以只选择确定需求阶段并选择激活。
示例:具有两个分支的汽车销售流程
请看关于销售新车和二手车的业务流程(两个分支)示例。
首先,我们将创建一个名为汽车销售流程的新流程。
打开解决方案资源管理器,然后在左侧导航窗格中选择流程。
选择新建来创建新流程。
指定类别 为业务流程 并将主要实体 选择为 潜在客户。
添加第一阶段到名为授予资格 的流程,然后添加购买时间范围 和首选车辆。
在常规的授予资格阶段之后,使用条件磁贴将流程拆分为两个单独的分支。
使用满足业务要求的规则配置条件磁贴
若要为阶段添加第一个分支,请在条件磁贴的“是”路径上添加“阶段”磁贴
若要添加不满足条件时执行的第二个分支,请在条件磁贴的“否”路径上再添加一个“阶段”磁贴
小费
可在现有条件磁贴的“否”路径上再添加一个条件以创建更复杂的分支。
如果首选车辆 = 新车,则流程将分支到新车销售阶段,否则将跳转到第二分支中的二手车销售阶段,如下所示。
完成新车销售阶段或二手车销售阶段中的所有步骤后,流程通过提供报价单阶段,返回主流程。
防止信息泄露
考虑带分支的业务流程处理银行的贷款请求,如下所示。 阶段中使用的自定义表显示在括号中。
在这种情况下,银行贷款人员需要有权访问请求行,但对请求的调查不得对贷款人员可见。 第一眼看上去,似乎我们可以通过为贷款人员分配一个无权访问调查表的安全角色来轻松实现此目的。 但是,让我们仔细看看示例,看是不是真的可以这样。
假设客户在银行申请信贷请求中输入的金额超过 60,000 美元。 信贷员查看第一阶段中的请求。 如果符合检查欠银行的款项是否超过 50,000 美元的分支规则,则流程中的下一阶段将调查这种请求是否存在欺诈性。 如果确定这是一个欺诈案例,流程将转向针对请求者提出法律诉讼。 由于贷款人员无权访问调查表,因此这两个调查阶段不得对贷款人员可见。
但是,如果贷款人员打开请求行,可以看到整个端到端流程。 贷款人员不仅可以看到欺诈调查阶段,还可以看到流程中的法律诉讼阶段,从而能够确定调查结果。 此外,贷款人员还能通过选择阶段来预览调查阶段中的步骤。 虽然贷款人员看不到数据或步骤完成状态,但能确定在调查和法律诉讼阶段对请求提交者采取的潜在行动。
在本流程中,信贷员可以查看欺诈行为调查和法律诉讼阶段,这将构成一种不当的信息泄露。 建议密切关注由于分支可能导致泄露的信息。 在我们的示例中,将流程拆分成两个单独的流程,一个用于请求处理,另外一个用于欺诈行为调查,防止信息泄漏。 信贷员使用的流程如下所示:
调查流程是独立的,包含下列阶段:
您需要提供一个工作流,用于将批准/拒绝决定从调查行同步到请求行。