gpt4 book ai didi

javascript - 我想使用 Xrm.WebApi.online.executeMultiple 从 Dynamics 中删除多个 CRM 记录

转载 作者:行者123 更新时间:2023-11-30 06:12:44 27 4
gpt4 key购买 nike

必须在一次调用中删除多个实体记录,而不是多次回调,因此尝试使用 Xrm.WebApi.online.executeMultiple 删除记录。但是下面编写的代码不起作用。任何帮助将不胜感激。

            for (var i=0; i<Checkbox.length; i++)
{
if(Checkbox[i].checked)
{
var id = Checkbox[i].value;// GUID of the record to be deleted
Checkbox[i].checked = false;

DeleteRequests[i]={};
DeleteRequests[i].getMetadata = function(){
return{
boundParameter: undefined,
operationType: 2,
operationName: "Delete",
parameterTypes: {
}
}

}
DeleteRequests[i].etn="cme_entity";
DeleteRequests[i].payload=id;
}
}
window.parent.Xrm.WebApi.online.executeMultiple(DeleteRequests).then(
function (results) {alert("Success");},
function (error) {alert("Failed");});

收到无法处理此操作的奇怪错误。请联系微软。

最佳答案

问题与您构建删除请求对象的方式有关。您需要声明一个函数来设置 getMetadata 函数和所需的 entityReference 对象。

我已经测试了以下解决方案并且它有效。

var Sdk = window.Sdk || {};

Sdk.DeleteRequest = function (entityReference) {
this.entityReference = entityReference;
this.getMetadata = function () {
return {
boundParameter: null,
parameterTypes: {},
operationType: 2,
operationName: "Delete",
};
};
};

for (var i = 0; i < Checkbox.length; i++) {
if (Checkbox[i].checked) {
var id = Checkbox[i].value;
Checkbox[i].checked = false;

DeleteRequests[i] = new Sdk.DeleteRequest({ entityType: "account", id: id });
}
}

window.parent.Xrm.WebApi.online.executeMultiple(DeleteRequests).then(
function (results) { alert("Success"); },
function (error) { alert("Failed"); });

不幸的是,Xrm.WebApi.online.executeXrm.WebApi.online.executeMultiple 的 CRUD 操作没有很好的文档记录。我写了一个blog post with some code samples .

重要的部分是将 Sdk.DeleteRequest 函数声明为 window 的属性,并使用 new Sdk.DeleteRequest()< 实例化请求对象。我进行了一些试验,并确定像您之前那样简单地创建一个请求对象,即使具有正确的属性也不起作用。

希望对您有所帮助! :)

关于javascript - 我想使用 Xrm.WebApi.online.executeMultiple 从 Dynamics 中删除多个 CRM 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57942638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com