Что это за «IsValidODataAttribute»: истинное значение в / api / data / v ...? - PullRequest
1 голос
/ 01 октября 2019

У меня проблема с запросом записей типа сущности activityparty. Я использую запрос к GET /api/data/v.../activityparties?$select=activitypartyid,partyidname, но он завершается с ошибкой:

{"error": {"code": "0x0", "message": "Не удалось найти свойство с именем 'partyidname 'для типа' Microsoft.Dynamics.CRM.activityparty '. "}}

Эти два activitypartyid и partyidname имен полей, которые я получил из запроса к EntityDefinitions('activityparty').

... " PrimaryIdAttribute ": " activitypartyid ", "PrimaryImageAttribute": null, " PrimaryNameAttribute ": " partyidname", ...

Затем я запрашиваю EntityDefinitions('activityparty')/Attributes, чтобы узнать, есть ли атрибут partyidname. Я нашел там одно интересное поле 'IsValidODataAttribute' = false . Означает ли это, что это поле может быть в формате JSON или не может быть? И что это значит именно? Я предполагаю, что проблема в этом случае, иначе я не знаю, что я делаю неправильно:)

полное представление одной activityparty записи сущности:

{  
   "@odata.etag":"W/\"2392630\"",
   "_ownerid_value":"68682bd9-701b-460a-a383-c6d38a8d25ae",
   "activitypartyid":"b0f76c9b-49b9-45ca-b15c-0179a421f680",
   "participationtypemask":9,
   "_activityid_value":"7418ab6b-fbd2-e911-a993-000d3a3a1688",
   "ispartydeleted":false,
   "versionnumber":2392630,
   "scheduledend":"2019-09-08T12:00:00Z",
   "_partyid_value":"68682bd9-701b-460a-a383-c6d38a8d25ae",
   "scheduledstart":"2019-09-08T12:00:00Z",
   "instancetypecode":0,
   "addressusedemailcolumnnumber":null,
   "donotemail":null,
   "donotfax":null,
   "addressused":null,
   "_resourcespecid_value":null,
   "exchangeentryid":null,
   "donotphone":null,
   "donotpostalmail":null,
   "effort":null
}

1 Ответ

0 голосов
/ 01 октября 2019

Полагаю, вы ищете этот веб-вызов API.

Вы должны использовать _partyid_value@OData.Community.Display.V1.FormattedValue для ожидаемого результата.

Xrm.WebApi.online.retrieveMultipleRecords("activityparty", "?$select=activitypartyid,_partyid_value").then(
    function success(results) {
        for (var i = 0; i < results.entities.length; i++) {
            var activitypartyid = results.entities[i]["activitypartyid"];
            var _partyid_value = results.entities[i]["_partyid_value"];
            var _partyid_value_formatted = results.entities[i]["_partyid_value@OData.Community.Display.V1.FormattedValue"];
            var _partyid_value_lookuplogicalname = results.entities[i]["_partyid_value@Microsoft.Dynamics.CRM.lookuplogicalname"];
        }
    },
    function(error) {
        Xrm.Utility.alertDialog(error.message);
    }
);

Рекомендуется использовать CRM REST Builder для безошибочного синтаксиса и полезных нагрузок веб-API.

...