CRM 9-使用JavaScript WebResource根据ID从CRM实体中获取记录

时间:2019-04-05 13:35:04

标签: javascript dynamics-crm crm dynamics-crm-365 unified-service-desk

我有一个包含多个记录的实体。该实体包含3个字段:参数名称参数值联系人ID 联系人ID 是一个查找字段。我的CRM实体中有相同 Contact ID 的多个记录。

现在,我想基于联系人ID 从CRM实体中获取所有参数名称参数值

我正在使用以下代码,

var Query = "$select=vrp_parametername&$filter= vrp_contactid eq '" + contactid + "'";
 XrmSvcToolkit.retrieveMultiple({
    entityName: entity ,  
    odataQuery: Query,
    async: false,
    successCallback: successCallback,
    errorCallback: errorCallback
});

但是我遇到以下错误,

  

检索响应时发生错误-错误:400:请求错误:位置1的类型'Microsoft.Xrm.Sdk.Entity'中没有属性'vrp_contactid'

3 个答案:

答案 0 :(得分:0)

错误明确指出,对于该特定实体,它找不到vrp_contactid字段。 为什么不检查字段是否可用。 尝试使用Crm restbuilder,看看哪个条件属性可用。

答案 1 :(得分:0)

您应该使用_vrp_contactid_value

var Query = "$select=vrp_parametername&$filter=_vrp_contactid_value eq '" + contactid + "'";

更新

您可以使用具有单值导航属性的过滤器,有关同一主题,请参考my blog。下面是此查询的另一个版本:

var Query = "$select=vrp_parametername&$filter=vrp_contactid/contactid eq '" + contactid + "'";

Read more

答案 2 :(得分:0)

在这种情况下,我将CRM中的架构名称和逻辑名称混合在一起。我在CRM中使用架构名称,这就是为什么会出现此错误。

在这种情况下,我所做的只是简单地使用了逻辑名称,并且能够达到预期的结果。

谢谢大家的帮助