我有一个包含多个记录的实体。该实体包含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'
答案 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 + "'";
答案 2 :(得分:0)
在这种情况下,我将CRM中的架构名称和逻辑名称混合在一起。我在CRM中使用架构名称,这就是为什么会出现此错误。
在这种情况下,我所做的只是简单地使用了逻辑名称,并且能够达到预期的结果。
谢谢大家的帮助