业务流程流概述

通过创建业务流程,您可以帮助确保用户输入的数据一致并且每次在应对客户时都遵循相同的步骤。 例如,如果希望所有人以相同的方式处理处理客户服务请求,或者要求员工在提交订单前获取发票许可,您可以创建一个业务流程。 业务流程流使用与其他流程相同的基础技术,但它们提供的功能与使用流程的其他功能不同。 若要了解如何创建或编辑业务流程,请转到创建业务流程

观看有关业务流程的短片。

为什么使用业务流程

业务流程为人们完成工作提供指导。 业务流程流提供精简的用户体验,可帮助用户完成组织针对需要达成某种结果的交互所定义的流程。 此用户体验可以定制,使具有不同安全角色的人可以拥有最适合其所做工作的体验。

使用业务流程可以定义一组供人们遵循以获得所需结果的步骤。 这些步骤提供了一种可视的指示信息,告诉用户其处在业务流程中的什么位置。 业务流程流可以减少培训需求,因为新用户不必将工作重点放在应该使用哪个表上。 他们可以让流程来指导他们。 您可以配置业务流程来支持常见的销售方法,可以帮助您的销售团队获得更好的结果。 对于服务组,业务流程可以帮助新员工更快地熟练起来,避免可能导致客户不满意的错误。

业务流程可以做什么

使用业务流程,可以定义一组阶段步骤,它们随后会在窗体顶部的控件中显示。

分阶段的业务流程

每个阶段包含一组步骤。 每个步骤代表可以输入数据的一个列。 您可以使用下一阶段按钮前进到下一个阶段。 在模型驱动应用中,您可以在阶段浮出控件内使用业务流程阶段,也可以将其固定到侧窗格。 业务流程不支持将阶段浮出控件扩展到移动设备上的侧窗格。

您可以将某个步骤设为必需,以便用户必须为相应列输入数据才能继续下一个阶段。 这通常称为“阶段门控”。如果要将业务必需或系统必需的列添加到业务流程阶段,我们建议您将此列也添加到表单中。

与其他类型的流程相比,业务流程似乎相对简单一些,因为它们不提供任何条件业务逻辑或自动化,只提供简洁的数据录入体验以及控制阶段的进入。 但是,当业务流程与其他流程和自定义项组合时,可以在节省时间、降低培训成本以及提高用户接受度方面发挥重要作用。

备注

如果任何阶段(包括当前阶段)具有必需列(隐藏列除外),您必须在保存窗体或移至新阶段之前填充这些阶段的列。 如果禁用的列是空的并且是必需列,这些列仍会阻止阶段导航。 绑定到 Two Option(Yes/No)列的必需步骤必须具有 Yes (true)作为其值,否则它们将被视为空并阻止阶段导航。 请注意,此行为与在表单上处理业务必填字段的方式不同,在 表单中,No 不被视为空值。

与其他自定义项集成的业务流程流

当您或您的用户使用业务流程流输入数据时,也会将数据更改应用于窗体列,因此可以立即应用业务规则或窗体脚本提供的任何自动化。 可以添加步骤来为表单中不存在的列设置值,并将这些列添加到用于表单脚本的对象 Xrm.Page 模型中。 保存表单中的数据时,将应用由对业务流程中包含的列的更改启动的任何工作流。 如果自动化是通过实时工作流应用的,则在保存行后刷新表单中的数据时,用户会立即看到这些更改。

Although表单中的 业务流程 控件不提供任何直接的客户端可编程性,则 业务规则 或表单脚本应用的更改会自动应用于业务流程控件。 如果隐藏表单上的列,则该列也会隐藏在业务流程控件中。 如果使用业务规则或表单脚本设置值,则该值将在业务流程中设置。

并发流程

并发业务流程流可使定制员配置多个业务流程,然后将其与相同的起始行关联。 用户可以在并行运行的多个业务流程之间切换,并恢复流程中所处阶段的工作。

系统业务流程

当您 Power Platform 的环境启用了 Enable Dynamics 365 apps 设置时,将包括以下业务流程。 若要了解业务流程如何工作,请回顾以下系统业务流程:

  • 潜在顾客转化为商机销售流程
  • 电话转化为案例流程
  • 销售流程

业务流程流中的多个表

可以针对单个表或跨越多个表使用业务流程流。 例如,您可以有一个流程,该流程从业务机会开始,然后继续到报价单、订单和发票,最后返回以关闭业务机会。

您可以设计业务流程,将最多五个不同表的行捆绑到一个流程中,以便使用该应用程序的人员可以专注于他们的流程,而不是他们正在使用的表。 他们可以更加轻松地在相关的表行之间导航。

每个表有多个可用的业务流程流

并非组织中的每个用户都遵循相同的流程,不同的条件可能要求应用不同的流程。 每个表最多可以有 10 个活动的业务流程流,以便为不同的情形提供相应的流程。

控制应用哪个业务流程

您可以将业务流程与安全角色关联,以便只有具有这些安全角色的人员才能查看或使用它们。 您还可以设置业务流程流的顺序,以便您可以控制默认情况下设置哪个业务流程流。 实现的方式与为一个表定义多个窗体一样。

如果有人创建新的表行,将按该用户的安全角色筛选可用的活动业务流程定义列表。 根据流程订单列表可供用户的安全角色使用的第一个已激活业务流程定义是默认应用的定义。 如果有多个活动的业务流程定义可用,用户可以从 Switch Process 对话框加载另一个业务流程定义。 只要切换了流程,当前显示的流程都将进入后台,并替换为所选流程,但是该流程将保留其状态,并且可以切换回来。 每个行可以有多个关联的流程实例(每个针对一个不同的业务流程流定义,总数最多为 10)。 在加载窗体时,仅显示一个业务流程。 当任何用户应用不同的进程时,默认情况下,该进程只能为该特定用户加载。

为了确保默认情况下为所有用户加载业务流程(行为等同于“固定”流程),可以在表单加载时添加自定义客户端 API 脚本(Web 资源),该脚本专门根据业务流程定义 ID 加载现有业务流程实例。

业务流程注意事项

只能为支持业务流程流的表定义业务流程流。 您还需要知道可以添加的流程、阶段和步骤的数量限制。

调用工作流的业务流程

可以从业务处理流程中按需调用工作流。 您可以通过将工作流组件拖动到流程阶段或 “全局工作流” 部分,从业务流程设计器中配置此项。

如果包含要在业务流程中某个阶段的“阶段退出 ”时 扳机键的工作流,并且该阶段是流中的最后一个阶段,则设计器会给人一种在该阶段完成时触发工作流的印象。 但是,由于未进行阶段转换,因此不会触发工作流。 您不会收到阻止您在舞台上包含工作流的警告或错误。 当用户与业务流程交互时,完成或放弃流程不会导致阶段转换,因此不会触发工作流。 考虑以下示例:

  • 您创建包含两个阶段的业务流程(S1 连接到 S2,阶段 S2 中包含一个工作流),并且将触发器设置为阶段退出

  • 创建一个业务流程,该业务流程包含三个阶段,S1 连接到 S2,然后 S2 分支到 S3。 您在 S2 中包含一个工作流,并将触发器设置为阶段退出

在这两种情况下,工作流都不会扳机键。 要解决此问题,请添加全局工作流并添加要扳机键的工作流,以便为业务流程而不是流程的某个阶段触发工作流。 您可以将全局工作流的扳机键设置为 Process AbandonedProcess Completed ,以使工作流在用户放弃或完成业务流程时扳机键。

可以使用业务流程流的表

所有自定义表都可以使用业务流程流。 以下标准表也可以使用业务流程。 某些表需要 Dynamics 365 应用程序,例如 Dynamics 365 for Sales or Dynamics 365 for Customer Service。

  • 帐户
  • 约会​​
  • 市场活动
  • 市场活动项目
  • 市场活动响应
  • 竞争对手
  • 联系人
  • 电子邮件
  • 权利
  • 传真
  • 案例
  • 发票
  • 潜在顾客
  • 信件
  • 市场营销列表
  • 商机​​
  • 电话联络
  • 产品
  • 价目表项
  • 报价单
  • 定期约会
  • 销售宣传资料
  • 社交活动
  • 顺序
  • 用户
  • 任务
  • 团队

若要为业务流程流启用自定义表,请在表定义中选中业务流程流(将创建列)复选框。 您无法撤消此操作。

备注

如果您导航到包含 Social Activity 表的业务流程流阶段并选择下一阶段按钮,您将看到创建选项。 选择创建,加载社交活动窗体。 但是,因为 Social Activity 对从应用用户界面的 Create 无效,您将无法保存窗体,您将看到错误消息:“意外错误”。

流程、阶段和步骤的最大数量

为了确保用户界面的性能和可用性可接受,在使用业务流程时,应注意一些限制:

  • 每个表可以有的激活的业务流程流不能超过 10 个。
  • 每个流程可以包含的阶段不能超过 30 个。
  • 多表流程可以包含的表不能超过五个。

业务流程流表自定义支持

业务流程表可以显示在系统中,以便表行数据可以在网格、视图、图表和仪表板中使用。

通过网格、视图、图表和仪表板使用业务流程流表行

通过将业务流程流作为表提供,您可以使用源自给定表(如潜在客户或商机)的业务流程数据的高级查找、视图、图表和仪表板。 系统管理员和定制员可以创建自定义业务流程流网格、视图、图表和仪表板,与使用任何其他表创建的相似。

要访问默认业务流程视图,请转到 Power Apps,选择 解决方案,打开所需的解决方案,选择 对象>,然后打开所需的流程表,例如 Lead To Opportunity Sales Process 表。 选择 Views,然后选择所需的视图。

有多个默认视图可以作为图表查看,如可用的商机销售流程视图。

可用的商机销售流程视图。

与工作流中的业务流程流表交互

您还可以与工作流中的业务流程流表进行交互。 例如,您可以为 业务流程 table 行创建一个工作流 ,以便在 Opportunity 表行上的 列更新时更改 Active Stage 有关如何执行此操作的更多信息,请转到 使用工作流自动化业务流程阶段。

脱机运行业务流程

如果满足以下条件,则可以脱机使用业务流程:

  • 业务流程在 Power Apps 应用中使用。
  • 已针对离线使用启用 Power Apps 应用。
  • 业务流程流具有单个表。

具体而言,当 Power Apps 应用处于脱机状态,以下三个命令可用于业务流程:

  • 下一阶段
  • 上一阶段
  • 设置活动阶段

查找业务流程流阶段中的列

最近的行在模型驱动应用的查找列中可见。 要防止最近使用的项目显示在查找中,请按照下列步骤操作:

  1. 在业务流程中使用的表的窗体设计器中,从 左侧导航窗格的 树 视图中 选择查找列数据步骤。

  2. 选中 Disable most recently used items(禁用最近使用的项目)。

    如何禁用最近使用的项的屏幕截图。

  3. 保存然后发布。

使用业务流程流表的限制

  • 当前,您无法基于业务流程流为表创建自定义窗体。

  • 如果解决方案包含业务流程流表,必须手动将业务流程流表添加到解决方案中,然后才能将其导出。 否则,解决方案包中将不会包含业务流程流表。 若要了解详细信息,请转到创建和编辑表

  • 将流程表添加到模型驱动应用可能会导致功能受限。 若要了解详细信息,请转到创建和编辑业务流程流

  • 业务流程显示业务流程实例的名称,该名称是在创建业务流程时设置的。 这意味着,如果业务流程定义中的名称发生更改,则新的业务流程实例将显示更新的名称,但较旧的业务流程实例将显示原始名称。 此外,不会显示本地化的业务流程定义名称。