如何在Dynamics 365中批量复制Lookup字段值至同记录的Customer字段
Dynamics 365批量复制Lookup字段值到Customer字段的解决方案
方法1:Advanced Find + 原生批量编辑
- 打开Advanced Find,选择你的主实体,添加原「Property Owner」字段作为查询列,筛选出所有需要更新的记录(比如
Property Owner 不为空) - 运行查询后,全选结果列表里的所有记录,点击顶部的
Bulk Edit按钮 - 在批量编辑弹窗中,找到新的Customer字段,将其值设置为
{原Property Owner字段}(如果原Lookup的目标实体是Account,系统会自动识别并映射) - 确认映射无误后,保存并执行更新
方法2:XrmToolBox - Data Transformer工具
- 打开XrmToolBox,连接你的Dynamics 365实例,找到并启动Data Transformer工具
- 在工具中选择目标主实体,设置筛选条件(仅更新有Property Owner值的记录)
- 进入字段映射界面,直接将原Lookup字段(Property Owner)拖拽到新的Customer字段上完成映射
- 先点击
Preview预览更新效果,确认无误后点击Execute执行批量更新
方法3:Power Automate云流
- 创建一个手动触发的云流,添加「列出行」动作,选择你的主实体,设置筛选条件:
原Property Owner字段 ne null - 添加「应用到每一个」循环,遍历查询到的所有记录
- 在循环内添加「更新行」动作,选择主实体并填入当前记录ID,将新Customer字段的值设置为:
- 实体类型:
account(如果原Lookup关联的是Account) - 记录ID:原Property Owner字段的ID值
- 实体类型:
- 保存流后,手动触发执行即可
方法4:WebAPI批量更新脚本(适合有开发基础的场景)
- 先通过WebAPI查询需要更新的记录,获取主实体ID和对应的Property Owner的Account ID:
// 示例查询请求(可在浏览器控制台或Postman执行) fetch("/api/data/v9.2/【主实体逻辑名称】?$select=【主实体主键字段】,【原Property Owner字段逻辑名称】&$filter=【原Property Owner字段逻辑名称】 ne null", { headers: { "Accept": "application/json" } }).then(res => res.json()).then(data => console.log(data.value));
- 构造批量更新请求,批量提交:
// 示例批量更新请求 const updateRequests = data.value.map(item => ({ method: "PATCH", url: `/api/data/v9.2/【主实体逻辑名称】(${item["【主实体主键字段】"]})`, headers: { "Content-Type": "application/json" }, body: { "【新Customer字段逻辑名称】@odata.bind": `/accounts(${item["【原Property Owner字段逻辑名称】"]})` } })); fetch("/api/data/v9.2/$batch", { method: "POST", headers: { "Content-Type": "multipart/mixed; boundary=batch_123", "Accept": "application/json" }, body: `--batch_123 Content-Type: multipart/mixed; boundary=changeset_123 --changeset_123 ${updateRequests.map(req => `Content-Type: application/http Content-Transfer-Encoding: binary ${req.method} ${req.url} HTTP/1.1 Content-Type: application/json ${JSON.stringify(req.body)}`).join("\n\n--changeset_123\n")} --changeset_123-- --batch_123--` });
注意事项
- 确认原Lookup字段的目标实体为Account,若为Contact,只需将上述方法中的实体类型改为
contact即可 - 执行批量操作前,务必先选择少量记录测试,验证数据映射正确后再全量执行
- 操作前建议备份相关实体数据,避免意外问题
内容的提问来源于stack exchange,提问作者MetaGup
相关产品推荐
相关产品推荐

