配置后台的工作流阶段和步骤

在设计工作流时,您可以选择包含要在各阶段步骤中执行的逻辑。

阶段可使工作流逻辑更加便于理解,并对工作流逻辑加以解释。 但是,工作流阶段不会影响工作流的逻辑或行为。 如果某个流程有阶段,则某个阶段必须包含该流程中的所有步骤。

步骤是工作流中的一个业务逻辑单位。 步骤可以包括条件、操作、其他步骤或这些元素的组合。

后台工作流程可以执行的操作

后台工作流流程可以执行下表中列出的操作。

操作​ 描述
创建行 为表创建新行并将您选择的值分派给列。
更新行 可以更新运行后台工作流的行、在 N:1 关系中链接到该行的任何行或前面步骤创建的任何行。
分派行 可以分派运行后台工作流的行、使用 N:1 关系链接到该行的任何行或前面步骤创建的任何行。
发送电子邮件 发送一封电子邮件。 您可以选择创建新电子邮件,也可以使用为对其运行后台工作流的行的表、与该表有 N:1 关系的任何表或者前面步骤创建的任何行的表配置的电子邮件模板。
启动子工作流 将已配置的后台工作流作为子工作流启动。
更改状态 更改对其运行流程的行状态、使用 N:1 关系与该行关联的任何行或者前面步骤创建的任何行。
停止工作流 停止当前工作流。 可以设置成功取消状态并指定状态消息。
自定义步骤 开发人员可以创建定义操作的自定义后台工作流步骤。 默认情况下,没有可用的自定义步骤。

设置行值

在创建行时,可以设置行的值。 在更新行时,可以设置、追加、增加、减少、加倍或清除值。

选择设置属性时,将打开一个显示表的默认窗体的对话框。

在该对话框的底部,可以看到窗体中没有的其他列的列表。

对于任何列,可以设置一个静态值(将由工作流设置)。

在对话框的右侧,可以使用窗体助理设置或追加来自当前行上下文的动态值。 其中包括可以通过表的 N:1(多对一)关系访问的相关行中的值。

窗体助理中的可用选项取决于您在窗体中选择的列。 在设置动态值时,您将看到一个称为“数据域”的黄色占位符,显示将包括动态数据的位置。 如果要删除该值,只需选择该数据域并将其删除。 对于文本列,可以使用静态和动态数据的组合。

对于动态值,您肯定不知道某个列或相关表具有您要设置的值。 实际上,您可以设置多个列来尝试设置值并使用绿色箭头对其排序。 如果第一个列没有数据,将尝试第二个列,依此类推。 如果所有列都没有数据,可以指定要使用的默认值。

设置后台工作流操作的条件

您要应用的操作通常依赖于条件。 后台工作流程提供了多种设置条件和创建分支逻辑来获取所需结果的方法。 您可以检查对其运行后台工作流程的行的值、通过 N:1 关系与该行关联的任何行或者流程本身中的值。

条件类型 说明
检查条件 “if <条件> then”逻辑语句。

您可以检查对其运行后台工作流的行的当前值、在 N:1 关系中与该行关联的任何行或者前面步骤创建的任何行。 根据这些值,您可以定义条件成立时的其他步骤。

在“if <条件> then”语句中,您可以使用以下运算符:EqualsDoes Not EqualContains DataDoes Not Contain DataUnderNot Under

注意UnderNot Under 是分层运算符。 只能在定义了层次关系的表中使用它们。 如果您想在没有定义层次关系的表上使用这些操作符,您将会看到错误消息:“您正在一个没有层次关系的表上使用分层操作符。 将表分层(通过将关系标记为分层)或使用其他运算符。”

有关分层关系的详细信息,请参阅定义和按层次结构查询相关数据。 表后面的屏幕截图是一个使用 UnderNot Under 分层操作符的后台工作流程定义的示例。
条件分支 “else-if-then”逻辑语句。 编辑器使用文本“Otherwise, if <条件> then:”

选择一个您之前定义的检查条件;您可以添加条件分支来定义检查条件返回 False 时的其他步骤。
默认操作 “else”逻辑语句。 编辑器使用文本“Otherwise:”

选择一个您先前定义的检查条件、条件分支、等待条件或平行等待分支;您可以使用默认操作为与条件或分支元素中定义的标准不匹配的所有情形定义步骤。
等待条件 使后台工作流程在满足条件定义的条件时自行暂停。 后台工作流会在满足等待条件中的条件时自动重新启动。
并行等待分支 使用仅在满足初始条件时执行的一组对应的额外步骤来定义后台工作流的备选等待条件。 可以使用并行等待分支在后台工作流逻辑中创建时间限制。 这有助于防止后台工作流进行无限期等待,即不必等到等待条件中定义的条件得到满足的时候。
自定义步骤 开发人员可以创建定义条件的自定义后台工作流步骤。 默认情况下,没有可用的自定义步骤。

以下屏幕截图包含UnderNot Under分层操作符的后台工作流程定义的示例。 在示例中,我们对两组客户应用不同的折扣。 在添加步骤中个,我们选择了检查条件以指定包含UnderNot Under操作符的 if-then 条件, 第一个 if-then 条件适用于UnderAlpine Ski House 客户的所有客户。 这些客户购买产品和服务时可以享受 10% 的折扣。 第二个 if-then 条件适用于 Not Under Alpine Ski House 客户的所有客户并可享受 5% 的折扣。 然后,选择更新行以定义基于条件执行的操作。

带 Under/Not Under 运算符的工作流程。

后续步骤

通过流程创建自定义业务逻辑
工作流流程概述
监视和管理后台的工作流程
后台工作流程的最佳实践