CRM 9 - извлечение записей из объекта CRM на основе идентификатора с использованием JavaScript WebResource - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть объект с несколькими записями. Сущность содержит 3 поля Имя параметра , Значение параметра и Идентификатор контакта . ID контакта - это поле поиска. В одном объекте CRM есть несколько записей для одного и того же идентификатора контакта .

Теперь я хочу получить все Имя параметра и Значение параметра из CRM-объекта на основе ID контакта .

Я использую следующий код,

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

Но я получаю следующую ошибку,

Произошла ошибка при получении ответа - Ошибка: 400: Неверный запрос: в типе «Microsoft.Xrm.Sdk.Entity» в позиции 1

отсутствует свойство «vrp_contactid».

Ответы [ 3 ]

0 голосов
/ 05 апреля 2019

Вы должны использовать _vrp_contactid_value

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

Обновление :

Вы можете использовать фильтр, используя однозначное свойство навигации, см. мой блог по той же теме.Ниже приведена другая версия этого запроса:

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

Подробнее

0 голосов
/ 09 апреля 2019

В этом случае я смешивал имя схемы с логическим именем в CRM.Я использовал имя схемы в CRM, поэтому возникла эта ошибка.

В данном случае я просто использовал логическое имя и смог достичь желаемого результата.

Спасибовсе за помощь

0 голосов
/ 05 апреля 2019

Ошибка ясно указывает на то, что для данного конкретного объекта не удалось найти поле vrp_contactid.Почему бы вам не проверить, доступно ли поле.Попробуйте использовать Crm restbuilder и посмотрите, какой атрибут условия доступен.

...