SharePoint如何实现PF_Metadata列表值自动填充到Project Files文档库字段
方案0:Lookup列附加字段(仅显示无需写入原生字段场景首选)
如果仅需要在Project Files视图中展示对应PF_Metadata的Status,不需要将Status值写入Project Files的独立字段,直接修改你现有的Lookup列配置即可:
- 进入Project Files库的设置,找到你现有关联PF_Metadata的Lookup列
- 在「附加列」设置中勾选Status字段,保存后即可自动同步显示对应PF_Metadata条目的Status值,无需额外自动化配置
如果需要把Status值写入Project Files的独立字段,优先用该方案实现自动化:
- 新建自动化云流,触发条件选当项创建或修改时,数据源选当前站点的
PF_Metadata列表 - 新增「获取项」操作,数据源选
Project Files文档库,过滤查询填入Document ID Value eq '@{triggerBody()?['PF_Document_Value_ID']}',匹配两个字段的关联值 - 新增「更新项」操作,数据源选
Project Files,将获取到的对应文档项的Status字段,赋值为触发流的PF_Metadata项的Status值后保存流即可 - 如需补全历史数据,可额外创建一个手动触发的流,遍历PF_Metadata全量条目批量更新对应文档的Status值
无需额外工具,直接在SharePoint界面配置即可:
- 进入
PF_Metadata列表的设置,选择「规则」-「新建规则」 - 规则触发条件选「当列更改时」,指定列为
Status - 操作选「更新另一列表中的项」,关联列表选
Project Files,匹配条件设置为PF_Metadata的PF_Document_Value_ID等于Project Files的Document ID Value - 设置要更新的字段为
Project Files的Status等于当前PF_Metadata的Status,保存规则即可
如果是本地部署的SharePoint环境,可开发事件接收器实现:
- 开发
PF_Metadata列表的ItemAdded、ItemUpdated事件接收器,部署到对应站点集 - 事件触发时,通过
SPQuery查询Project Files文档库中Document ID Value等于当前列表项PF_Document_Value_ID的所有文档 - 遍历查询结果,逐个更新Status字段后调用
Update()方法提交更改
注意事项:
- 需确保两个列表的关联字段类型完全一致,避免匹配时出现类型不匹配的过滤失败问题
- 如果存在
Document ID Value重复的情况,建议在过滤条件中补充额外逻辑避免误更新- 权限配置需保证流/事件接收器的执行账号对两个列表都有编辑权限
内容的提问来源于stack exchange,提问作者user16068355
相关产品推荐
相关产品推荐

