【问题标题】:how to use the expand parameter in Xrm.WebApi.retrieveRecord如何在 Xrm.WebApi.retrieveRecord 中使用 expand 参数
【发布时间】:2020-09-11 01:32:27
【问题描述】:

我正在使用以下脚本从电子邮件实体中获取参考实体。当脚本被触发时,它会提示'Could not find a property named 'new_queue' on type 'Microsoft.Dynamics.CRM.email''。 引用实体的scheme名称是new_queue,我认为脚本的结构和微软知识文章的指导一样。 (https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/xrm-webapi/retrieverecord)

谁能指出这里出了什么问题?

Xrm.WebApi.retrieveRecord("email", '4884f79f-42f3-ea11-a815-000d3a44afcc', "?$select=subject&$expand=new_queue($select=queueid,name)").then(
                    function success(result) {
                        var toLookup = new Array();
                        toLookup[0] = new Object();
                        toLookup[0].id = result.queueid;
                        toLookup[0].entityType = "queue";
                        toLookup[0].name = result.name;

                    alert(result.name);

                    }, function (error) {
                        Xrm.Utility.alertDialog(error.message);
                    });

【问题讨论】:

  • 解决了吗?

标签: dynamics-crm dynamics-crm-webapi


【解决方案1】:

此问题通常是区分大小写的架构名称的结果,请尝试使用 new_Queue 而不是 new_queue。您始终可以通过签入 xml 元数据来验证这一点。

更新:

我记得活动(电子邮件、任务、约会等)很特别,几乎没有什么不同。确保从开发人员资源下载元数据 xml 并检查正确的导航属性。它应该看起来像 email_new_queuenew_queue_email

【讨论】:

  • 感谢您的建议,但仍然无法正常工作。我完全确认schema名称是new_queue,不管改成new_Queue还是new_queue,还是会报错。
【解决方案2】:

要知道正确的导航属性名称以在 $expand 中使用它:

请求“电子邮件”实体并包含以下标头Prefer: odata.include-annotations="*"

在响应中,您应该找到如下所示的字段:

"_new_queue_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "????"

使用您会找到的名称代替“????”在 $expand 表达式中。

【讨论】:

    猜你喜欢
    • 2022-11-13
    • 2017-10-25
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 2022-12-22
    相关资源
    最近更新 更多