gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot read property 'retrieveMultiple' of undefined

转载 作者:行者123 更新时间:2023-11-30 09:15:27 24 4
gpt4 key购买 nike

我正在尝试在 CRM 9.0 中的 HTML 页面上运行 JavaScript,但出现以下错误。

Uncaught TypeError: Cannot read property 'retrieveMultiple' of undefined

我刚刚将我的解决方案从 CRM 8.2 迁移到 CRM 9.0,在 CRM 8.2 中一切正常,即使我在 CRM 8.2 环境中运行相同的页面时它运行良好,但在 CRM 9.0 中它给了我上述错误。此外,当我从 CRM 9.0 内部运行同一页面时,它工作正常。只有当我使用 URL 在网络上运行此页面时,它才会出现此错误。我不明白为什么会出现这个错误,

我正在使用下面的错误代码,

 XrmSvcToolkit.retrieveMultiple({
entityName: SpecialOperationEntity, //Update this code later
odataQuery: Query,
async: false,
successCallback: successCallback,
errorCallback: errorCallback
});

编辑:

图像来自控制台。我不确定为什么会出现 XrmSvcToolkit 错误。任何人都可以指导吗?由于引用在 HTML 页面中可用

enter image description here

编辑 2:

对于所有建议我使用 Web.API 的人

当我使用 Web Api 并注释掉这个当前逻辑时,实际的 js 文件甚至没有加载到 HTML 中,HTML 文件给出了一个错误,它说它找不到 js 文件中定义的函数(因为 js 文件在这种情况下没有加载)。

我正在使用下面的代码,

 Xrm.WebApi.retrieveMultipleRecords(SpecialOperationEntity, "$select=vrp_Output&$filter=vrp_Operation eq '" + Operation + "' and vrp_Input eq '" + JsonInputParameter + "'";).then(
successCallback
,errorCallback
);

注意:successCallback 和 errorCallback 是这个代码块下面定义的两个函数

最佳答案

您使用的是 9.0,为什么不直接迁移到 WebAPI。我强烈推荐使用 WebAPI 来做 retrieveMultiple使用 Webapi 非常简单,您也不需要任何外部 3rd 方 libaray 进入系统。看看 CRM Rest Builder 构建 Webapi 查询真的很简单。

RetreiveMultipe 的示例代码

var req = new XMLHttpRequest();
req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v9.1/accounts?$select=accountclassificationcode,accountid&$filter=accountid eq 123456789", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.onreadystatechange = function() {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200) {
var results = JSON.parse(this.response);
for (var i = 0; i < results.value.length; i++) {
var accountclassificationcode = results.value[i]["accountclassificationcode"];
var accountclassificationcode_formatted = results.value[i]["accountclassificationcode@OData.Community.Display.V1.FormattedValue"];
var accountid = results.value[i]["accountid"];
}
} else {
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send();

关于javascript - 未捕获的类型错误 : Cannot read property 'retrieveMultiple' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55476136/

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