Dynamics 365 Online中如何用Xrm.Page.data.entity.relatedEntities.add()创建关联记录
我已找到通过API在Dynamics 365 Online中创建带关联数据记录的清晰示例,但未找到使用Xrm.Page.data.entity.relatedEntities.add()实现相同功能的文档或示例。
我参考相关API内容编写了以下代码:
Xrm.Page.data.entity.relatedEntities.add("contact_customer_accounts", [ { "firstname": "John", "lastname": "Smith" } ])
在创建新Account记录时,我打开开发者控制台粘贴该语句,输入被接受,但点击保存后无任何反应。
编辑:
我找到一种实现方法,但并非最优解,因为需要额外调用API而非由微软统一处理。
变通方案是使用Xrm.Page.data.entity.addOnPostSave()方法,代码如下:
Xrm.Page.data.entity.addOnPostSave(() => { // 获取父记录ID var parentRecordId = Xrm.Page.data.entity.getId(); // 关联记录的数据对象 var relatedRecord = { "parentcustomerid_account@odata.bind": "/accounts(" + parentRecordId.replace("{","").replace("}","") + ")", "firstname": "John", "lastname": "Smith" }; // 使用Web API创建关联记录 Xrm.WebApi.createRecord("contact", relatedRecord) .then( function success(result) { // 处理成功逻辑 console.log("关联记录创建成功,ID: " + result.id); }, function(error) { // 处理错误逻辑 console.log("创建关联记录出错: " + error.message); } ); });
若有人知晓如何让Xrm.Page.data.entity.relatedEntities.add()生效,请告知,这将省去一次API调用。
内容的提问来源于stack exchange,提问作者Luke
相关产品推荐
相关产品推荐

