CRM 9 - 使用 JavaScript WebResource 基于 ID 从 CRM 实体获取记录

CRM 9 - Fetch records from a CRM entity based on ID using JavaScript WebResource

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

现在我想根据联系人 ID[从 CRM 实体中获取所有参数名称参数值 =29=].

我正在使用以下代码,

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

但我收到以下错误,

Error has occurred in retrieving Response - Error: 400: Bad Request: No property 'vrp_contactid' exists in type 'Microsoft.Xrm.Sdk.Entity' at position 1

错误清楚地指出,对于该特定实体,它找不到 vrp_contactid 字段。 你为什么不检查字段是否可用。 尝试使用 Crm restbuilder 并查看可用的条件属性。

你应该使用_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

在这种情况下,我在 CRM 中混合了架构名称和逻辑名称。我在 CRM 中使用架构名称,这就是出现此错误的原因。

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

谢谢大家的帮助