未捕获的TypeError:无法读取未定义的属性'retrieveMultiple'

我试图在CRM 9.0的HTML页面上运行JavaScript,这给了我以下错误。


未捕获的TypeError:无法读取未定义的属性'retrieveMultiple'


我刚刚将我的解决方案从CRM 8.2迁移到CRM 9.0,即使在CRM 8.2环境中运行相同的页面也可以正常运行,但是在CRM 9.0中运行相同的页面时,一切仍然正常。另外,当我从CRM 9.0内部运行同一页面时,它工作正常。仅当我使用URL在Web上运行此页面时,才会出现此错误。我不明白为什么会出现此错误,


我正在使用下面的代码,其中出现错误,


 XrmSvcToolkit.retrieveMultiple({

    entityName: SpecialOperationEntity,  //Update this code later

    odataQuery: Query,

    async: false,

    successCallback: successCallback,

    errorCallback: errorCallback

});

编辑:


拍摄的图像来自控制台。我不确定为什么会出现XrmSvcToolkit错误。有人可以指导吗?作为参考可在HTML页面中找到

http://img2.mukewang.com/607800ce00010c5e07800260.jpg

编辑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是在此代码块下面定义的两个函数


至尊宝的传说
浏览 260回答 3
3回答

萧十郎

您应该考虑切换到Xrm.WebApi,因为XrmSvcToolkit是一个过时的第三方工具。从Dynamics 365 v9开始,这是您可以检索多个记录的方法:        Xrm.WebApi.retrieveMultipleRecords("account", "?$select=name").then(            function success(result) {                // perform additional operations on retrieved records            },            function (error) {                // handle error conditions            }        );您可以在此处查看官方文档。编辑如果要在HTML IFRAME中对Xrm WebApi进行调用,则必须为其加上前缀window.parent,因此对Xrm WebApi的任何调用都将以开头window.parent.Xrm.WebApi。如果要访问在HTML IFRAME外部定义的JS函数,则必须为其加上前缀parent.frames[0],因此将调用名为SomeFunction的函数parent.frames[0].SomeFunction()。

芜湖不芜

像建议的其他答案一样,您必须切换到Xrm.Webapi用于异步处理或XMLHttpRequest用于同步/异步调用的方法。CRM REST Builder至关重要。我会回答你的问题:仅当我使用URL在Web上运行此页面时,才会出现此错误。我不明白为什么会出现此错误,您可能已经在HTML页面中添加了脚本文件引用,如下所示:<script type="text/javascript" src="vrp_franix_XrmSvcToolKit.js"></script>这可能是坏的。此外,还会提示控制台错误CRM context is not available和其他错误,例如,Cannot read property Page of undefined意味着该HTML只能在CRM上下文中使用,并且需要大量检查。阅读此社区主题。最好停用此库并修复代码以使用产品推荐的功能。更新:如果要在HTML Web资源中使用Xrm,则必须从父CRM窗口引用上下文。如果HTML页面以表单形式嵌入:window.parent.Xrm.WebApi如果在弹出窗口中打开了HTML页面:window.opener.Xrm.WebApi
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript