将经典 Microsoft Dataverse 工作流替换为流

本主题将 Power Automate 功能与经典工作流进行比较。

Power Automate 相较经典后台工作流模型具有明显优势;应考虑使用 Power Automate(而不是经典工作流)自动执行流程。

创建流(而不是经典 Microsoft Dataverse 工作流)以生成新的自动化流程。 此外,还应查看现有的经典后台工作流程,并考虑将其替换为流。

功能比较

下表总结了 Power Automate 和经典工作流功能之间的比较。

我们不断向 Power Automate 添加新功能。 我们会将此表中的信息作为 Power Automate 提升功能进行更新;请经常查看! 有关即将推出的可帮助您将经典后台工作流替换为流的功能的信息,请参阅 Power Automate 新增功能和计划

功能 Power Automate 经典工作流
建模 条件分支
循环
列上的等待条件
并行分支
连接外部系统的现成连接器(外部服务中的触发和执行操作)
组合 动态内容
访问事件数据的前期映像
运行子工作流
运行 Microsoft Dataverse 操作(包括自定义)
运行自定义后台工作流活动
对要在事务中运行的步骤进行分组 是(变更集)
审批工作流
执行 针对列更改触发
针对列值(例如,在日期列中的某个日期)有条件地触发
针对多个 Dataverse 表事件触发
按需运行
运行方式作用域
(例如,组织、业务部门、用户)
按计划运行
同步运行(实时)
历史记录 审核
运行分析
创作和可移植性 解决方案支持
新式设计器
AI 辅助创作

示例场景:将后台工作流替换为云端流

假设销售方案如下:您已为客户整理出报价单,而现在需要在向客户发送报价单之前请求管理团队批准。 使用经典工作流时无法轻松完成,并且大多数解决方案都要求开发人员编写自定义后台工作流活动以检索报价单行项。

使用流时此方案可以轻松生成,如后面的演练中所示,其中介绍了某些 Power Automate 功能。 这些功能包括:

  • 创建按需运行的云端流。
  • 获取与 Dataverse 表相关的行列表。
  • 遍历行列表。
  • 发送审批请求。

若要允许销售人员按需触发审批请求,请执行以下操作:

  1. 登录 Power Automate,然后在解决方案中创建云端流

  2. 从触发器列表中,选择 Microsoft Dataverse – 在选择行时,然后选择报价单作为表。

    此触发器允许在一个行或一组行上按需运行云端流。

  3. 配置了触发器后,添加要在流中运行的操作。 这为审批者提供标识带引号的项和值所需的摘要详细信息。 首先,添加 Microsoft Dataverse – 列出行操作。 目标是从报价单中获取各个项目,因此将表名称设置为报价单行。 若要确保列表仅包含属于触发了流的报价单的报价单行项,我们将指定 OData 样式筛选条件。 在筛选查询框中,键入 _quoteid_value eq,然后从显示的动态值列表中选择报价单

  4. 由于我们想要汇总要审批的报价单行项,因此请添加初始化变量操作。 将名称设置为报价单行摘要,将类型设置为字符串(从下拉列表中),并将保留为空。

  5. 添加追加到字符串变量操作,然后选择之前创建的报价单行摘要变量。 在框中,从动态值列表中选择数量名称单价应收净额零售折扣。 Power Automate 设计器确定这些值来自报价单行项列表,并将此操作添加到应用于每一项循环以确保将每个行项中的信息添加到此摘要。

    显示值的选择的屏幕截图。

  6. 若要请求批准我们创建的报价单摘要,请添加审批 – 启动并等待审批操作。 选择审批类型(例如,批准/拒绝 – 首先响应),为审批请求提供标题(例如,请求审批的报价单的名称,从动态值列表中选取),在分配到框中输入需要审阅和批准报价单的人员的电子邮件地址。 在详细信息框中,使用动态值选取器添加报价单行摘要变量,以及可能相关的任何其他信息(例如,总金额)。

  7. 若要确定接受或拒绝批准后所发生的情况,请添加条件操作。 从条件的第一个字段中的动态值列表中选择结果,并从第二个字段的下拉列表中选择包含,然后在条件的第三个字段中输入审批。 最后,根据审批结果添加操作(例如,发送通知电子邮件)。

    条件操作的屏幕截图。

现在我们已创建了审批结构,因此审批者拥有在后续步骤中进行决策所需的所有信息。 以下是完整的示例:

审批流结构的屏幕截图。

针对报价单运行此流时,将汇总该报价单的报价单行项,并发送审批者可通过 Power Automate 进行响应的审批请求,或他们收到的可操作电子邮件。 以下是显示示例:

实际运行的流的屏幕截图。

  • 具有复杂 else-if 条件逻辑的工作流

    建议使用切换操作,而不是使用条件。

  • 从插件/代码运行的工作流

    建议重新设计流,以便从触发器着手:

    • 使用 Microsoft Dataverse 触发器基于其中的事件运行流。

    • 若要基于外部服务中的事件运行流,请使用 260 个以上的现成连接器。

    • 对于所需连接器无法立即使用的情况,可轻松创建自己的自定义连接器。 详细信息:从头开始创建自定义连接器

    • 最后,如果无法使用预生成连接器之一或通过创建自定义连接器触发流,请使用当收到 HTTP 请求时触发器调用流。

  • 以递归方式运行的工作流

    改为使用流中的操作停止条件应用于每一项循环。

  • 需要行列表的工作流

    使用列表行操作。 使用此操作时,请使用 OData 语法定义行筛选条件,以通过最大限度地减少要检索的行数来优化操作。

  • 休眠以按计划运行的工作流

    使用定期触发器按定期间隔运行业务逻辑。

  • 为其管理运行以确保在单个事务中执行活动的工作流

    使用变更集操作确保将其中的所有操作作为单个原子单元执行,其中全部都成功,或者作为一个组失败。 如果变更集中的任何一个操作失败,则将回滚由完成的操作所做的更改。

  • 监视后台工作流运行失败

    在 Power Automate 中,使用操作上的运行后设置,将其配置为在上一个操作失败时运行。 例如,在更新行操作失败或超时时,发送 Power Automate 移动通知。

常见问题

  • 我有 Dynamics 365 许可证。 我能否使用 Power Automate?

    每个 Dynamics 365 用户都有权使用 Power Automate。 查看我们的许可信息。

  • 流的触发频率如何?

    Dynamics 365(或 Microsoft Dataverse)流在触发器之后近乎实时地运行,因为它们使用 webhook(无需轮询)。

    • 与直接 API 访问一样,系统中存在限制。 详细信息:Power Automate 中的限制和配置
    • 具体来说,每个流每 5 分钟限制 100,000 个操作。 云端流中的单个循环一次不能处理超过 100,000 个项。
    • 每 5 分钟最多 6 GB 吞吐量。
  • 单个流可以运行多长时间?

    单个流运行将在 30 天后超时。

  • 如何在环境之间移动流?

    与经典工作流一样,可以在解决方案中创建流,以支持流程的完整应用程序生命周期。

  • Power Automate 依赖项是否在 Microsoft Dataverse 中进行跟踪?

    与解决方案中的其他组件类似,解决方案中的流的所有依赖项都在 Microsoft Dataverse 中进行跟踪。

  • 同步工作流的情况如何?

    我们已看到反馈称,同步工作流对最终用户性能问题具有重大影响。 我们建议您评估是否可以使用云端流构建目标或后台工作流的某些部分。 如果可以将操作拆分为“异步”,则用户可以在 Power Automate 完成操作时继续其活动。

  • 如果使用 Power Automate,我的数据是否仍在区域内(即,与 Dynamics 365 或 Microsoft Dataverse 环境相同的区域)?

    是,Power Automate 始终使用与 Microsoft Dataverse 相同的区域。

  • 是否需要进行代理/防火墙更改?

    请参阅 IP 地址配置参考,以确定是否需要进行任何代理/防火墙更改。