问题描述
我正在使用以下脚本从电子邮件实体获取参考实体。触发脚本后,它会提示'Could not find a property named 'new_queue' on type 'Microsoft.Dynamics.CRM.email''
。
引用实体的方案名称为new_queue,我认为脚本的结构与Microsoft知识文章的指导相同。
(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);
});
解决方法
此问题通常是区分大小写的架构名称的结果,请尝试使用new_Queue
而不是new_queue
。您始终可以通过检入xml元数据来验证这一点。
更新:
我记得活动(电子邮件,任务,约会等)很特殊,几乎没有什么不同。确保从开发人员资源下载元数据xml并检查正确的导航属性。它看起来应该像email_new_queue
或new_queue_email
要知道在$ expand中使用它的正确导航属性名称:
请求“电子邮件”实体,并包含以下标头Prefer: odata.include-annotations="*"
。
在响应中,您应该找到一个类似于以下内容的字段:
"_new_queue_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "????"
使用在“ ????”位置找到的名称。在$ expand表达式中。