Power Automate实现SharePoint父子列表超期任务关联删除及字段问题解决
核心问题解决:获取TaskActions的查找字段值
SharePoint查找字段在Power Automate的Get items中默认不会返回关联的源ID,需要通过OData查询参数配置:
- 打开TaskActions列表的
Get items操作,展开高级选项 - 在
$select中填入:ID,TaskID/ID(ID是子项自身ID,TaskID/ID是关联的父任务ID) - 在
$expand中填入:TaskID - 配置完成后,动态内容中会出现
TaskID ID,对应父任务的ID值
完整流程步骤
1. 筛选过期父任务(Tasks列表)
添加Get items操作,指向Tasks列表:
- 筛选查询:
DueDate lt '@{addDays(utcNow(), -42)}'(6周=42天,筛选截止日期早于当前时间42天的任务) - 确保返回字段包含
ID(后续用于关联子列表)
2. 遍历过期父任务,删除对应子项
添加Apply to each控件,选择第一步返回的value(所有过期父任务):
- 在循环内添加
Get items操作,指向TaskActions列表:- 筛选查询:
TaskID eq '@{items('Apply_to_each')?['ID']}'(匹配当前父任务的ID)
- 筛选查询:
- 再添加一个Apply to each控件,选择这个子
Get items返回的value:- 在循环内添加
Delete item操作,指向TaskActions列表,用子项的ID作为删除标识
- 在循环内添加
3. 删除父任务
在第一个Apply to each循环的末尾(子项删除完成后),添加Delete item操作,指向Tasks列表,用当前循环的父任务ID作为删除标识
排查要点
- 确认TaskActions列表的
TaskID查找字段确实关联了Tasks列表的ID字段 - 日期筛选使用UTC时间(
utcNow()),避免时区差异导致筛选错误 - 测试时可先选取单个已知过期任务,验证流程是否能正确获取子项并删除
内容的提问来源于stack exchange,提问作者AlHal
相关产品推荐
相关产品推荐

