You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何构建Power Automate流同步SharePoint列表同PO编号的Completed状态

实现SharePoint DCE列表同PO编号记录批量同步Completed状态的Power Automate流

核心思路

当某条记录的Completed被设为Yes时,自动筛选出相同PO number的其他记录,批量将它们的Completed也更新为Yes。


具体步骤

  1. 设置触发条件

    • 新建自动云流,选择SharePoint连接器的当项目被创建或修改时触发器,指定目标站点和DCE列表。
    • 打开触发器的触发条件,添加以下表达式,确保仅当Completed从非Yes改为Yes时才触发流(避免循环触发):
      @and(equals(triggerBody()?['Completed/Value'], 'Yes'), not(equals(triggerBody()?['Completed/PreviousValue'], 'Yes')))
      
    • 若无需区分历史状态,仅当当前Completed为Yes就触发,表达式简化为:
      @equals(triggerBody()?['Completed/Value'], 'Yes')
      
  2. 捕获当前记录的PO编号

    • 添加初始化变量动作,变量名设为CurrentPONumber,类型选整数(匹配PO number数字列类型),值设为触发器输出的PO编号:
      triggerBody()?['PO_x0020_number']
      
    • 注意:PO_x0020_number是列的内部名称,若你的列内部名称不同需替换。查看方法:在SharePoint列表设置中点击对应列,URL里Field=后的字符串即为内部名称。
  3. 查询同PO编号的其他记录

    • 添加获取项目动作,指定目标站点和DCE列表,在筛选查询中输入:
      PO_x0020_number eq @{variables('CurrentPONumber')} and ID ne @{triggerBody()?['ID']}
      
    • 该条件会筛选出与当前记录PO编号相同,但排除触发记录本身的所有条目。
  4. 批量更新状态

    • 添加应用到每一个动作,将获取项目输出的value作为输入集合。
    • 在循环内部添加更新项目动作,指定目标站点、DCE列表,选择当前循环项目的ID,然后将Completed字段设置为Yes。

关键注意事项

  • 防止循环触发:必须保留触发条件中对PreviousValue的判断,否则批量更新其他记录时会再次触发流,导致无限循环。
  • 列内部名称准确性:Power Automate引用SharePoint列必须用内部名称,显示名含空格或特殊字符时会引发错误。
  • 权限验证:确保流使用的连接账户拥有列表编辑权限,否则无法完成更新操作。

内容的提问来源于stack exchange,提问作者Alan Tse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 13:21:16