Power Automate 的 5 个快速修复

2025-06-07

Power Automate 的 5 个快速修复

无论我多么热爱 Power Automate,它总会有一些“小问题”。我说的不是大问题,而是那些你不得不处理的问题,它们的影响虽然不足以影响你的交付,但仍然足以让你感受到。

因此,这里存在一些错误和糟糕的设计决策,我希望能够修复它们。

变化
1 条件不显示输入
2 连接命名
3 取消的运行不显示日志

修复
4 切换复制粘贴
5 表达式、数组并应用于每个


1. 条件不显示输入

每个开发人员肯定都至少经历过一次这样的痛苦。你的流程没有按预期运行,你检查日志,发现条件返回的是 false,而不是预期的 true。你查看输入,看到了这样的情况:

条件反应

嗯,这很有用,谢谢。现在你需要添加一个包含输入列表的Composer,然后重新运行。

修复方法很简单,只需显示包含输入的表达式,或者允许显示值即可。这有点像我期望的“跟踪属性”功能,而不是当前的实现。

跟踪属性

2. 连接命名

我不知道怎么做,我一直尽量避免,但最后总是同一个连接创建多个连接。为什么我需要创建多个连接的能力?这是个好问题。

因此,当我添加连接时,我最终看到以下内容:

选择连接

我不知道该选哪一个,哪一个用于什么流程。

两个可能的修复方案:移除拥有多个连接的功能。移除的唯一原因是允许更改选定的流连接,而目前的连接引用就是这样的。但如果您确实想保留它们,请在连接设置中添加更改名称的选项。

连接名称设置

3. 取消的循环运行不显示日志

我们可能都遇到过这种情况:流程循环遍历数百条记录,但在第一条记录上就失败了。您不想等待流程完成(因为这会耗费很长时间),所以取消了运行。但是,查看日志时却找不到失败的记录。

循环取消

我理解原因,因为“应用于每个”实际上是一个 API 调用(类似于从 SharePoint 获取项目),所以实际的循环并没有在流程中完成。不过,既然我们在完成时会获取项目详细信息,那么为什么他们不能返回取消时已完成的行呢?

修复方法如下:更新“Apply to Each”(以及“Do until”)API,以便在流程取消时返回已处理的项目。或者,更好的方法是在处理每个项目时返回,这样我们就可以在流程运行时实时看到操作。

4. 切换复制粘贴

我承认,这确实有点小众,Switch 用的人不多,就算用了,也可能不会那么频繁地复制粘贴。但如果你尝试复制粘贴,就会发现有个 bug,而且不行。你可以从 Switch 外部复制粘贴到 Switch 内部,也可以从 Switch 内部复制粘贴到外部,但不能从 Switch 内部复制粘贴到内部。

不信,试试看。现在每次我想在 Switch 分支之间复制一个动作,都必须把它粘贴到范围之外,然后再拖进来。

修复很简单,让它正常工作。我甚至可以告诉微软为什么。他们上次更新架构时,并没有更新 Switch。

在这次更新中,他们为所有操作 JSON 文件添加了一个 operationMetadataId 键(您可以在峰值代码中看到)。但是当您在某个范围内创建操作时,该键并不存在。

外部开关
代码超出范围

内部开关
范围内的代码

5.表达式和数组

为了帮助您,Power Automate 会自动创建一个“应用于每个”操作,如果输入的是数组中的一项,则会将您正在编辑的操作添加到其中。这是一个很好的功能,可以有效避免新开发人员遇到的问题。我遇到的问题是,这种行为在表达式编辑器中也会发生。

假设我想检查数组中的第一个项是否是一个值,例如:



if(equals(outputs('Get_items')?['body/value'][0]?['Title'],'David'),'Match','Mismatch')


Enter fullscreen mode Exit fullscreen mode

我输入:



if(equals(


Enter fullscreen mode Exit fullscreen mode

然后,当我选择标题(或任何字段)时,它会将操作添加到“应用于每个”,擦除我的表达式并将其替换为:



items('For_each')?['Title']


Enter fullscreen mode Exit fullscreen mode

力环

这太令人沮丧了,当我在表达式编辑器中编写了一个表达式时,为什么它表现得像我刚刚在动态内容选择器中选择了它一样。

更烦人的是,它经常会把操作注册为包含数组项,即使它没有。所以你无法将它移出循环。

无法移动空动作

修复方法也很简单,如果我在动态内容选择器中选择,请将其放入“应用于每个”中。但如果是在表达式编辑器中,请不要这样做,只需将其留在编辑器中即可。

适用于每一个
动态内容

不适用于每一个
表达


公平地说,开发团队已经推出了一些很酷的新功能(版本控制、Dataverse 运行日志),并致力于加快新 UI 的速度,所以我理解为什么这些小问题不是优先事项。

文章来源:https://dev.to/wyattdave/5-quick-fixes-for-power-automate-1ola
PREV
Power Platform Dataverse 101
NEXT
PWA 参考:2018 年掌握 PWA 的精选链接 概述 教程 Service Worker