получение текста выпадающего поля через вызов API в CRM 2016

У меня есть сущность, называемая медицинской картой

Я получаю список семей в объекте медицинской карты (подсетка)

Я могу получить список семей, используя вызов API.

 http://localhost/CRMDataBase/api/data/v8.0/new_medcase(1a7f5ac3-b116-e611-9425-000d3a12d0d4)?$expand=new_case_family

Но проблема в том, что я хочу получить текст из раскрывающегося списка вместо значения в семействе. то есть у меня есть поле с именем new_typeoffamily, и оно имеет такие значения, как «ядерный», «совместный» и т. д. Но вызов API извлекает такие значения, как 100000,1000001

Как я могу выделить текст с помощью вызова API?


person Vignesh Subramanian    schedule 12.05.2016    source источник


Ответы (2)


Я считаю, что вам нужно будет настроить запрос так, чтобы он также возвращал форматированные значения.

Запрос:

GET [Organization URI]/api/data/v8.1/accounts?$select=name,donotpostalmail,accountratingcode,numberofemployees,revenue&$top=1 HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

Результат:

HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

{
 "@odata.context": "[Organization URI]/api/data/v8.1/$metadata#accounts(name,donotpostalmail,accountratingcode,numberofemployees,revenue)",
 "value": [
 {
  "@odata.etag": "W/"502170"",
  "name": "Fourth Coffee (sample)",
  "[email protected]": "Allow",
  "donotpostalmail": false,
  "[email protected]": "Default Value",
  "accountratingcode": 1,
  "[email protected]": "9,500",
  "numberofemployees": 9500,
  "[email protected]": "$100,000.00",
  "revenue": 100000,
  "accountid": "89390c24-9c72-e511-80d4-00155d2a68d1",
  "transactioncurrencyid_value": "50b6dd7b-f16d-e511-80d0-00155db07cb1" } ]
}

Источник: Включить отформатированные значения

person James Wood    schedule 12.05.2016
comment
Спасибо, Джеймс, я использую вызовы ajax, должно быть так $.ajax({ url:"serverurl/organizationdata.svc/new_entityName", headers: { "Accept": "application/json; odata=verbose" ,"Prefer":"odata.include-annotations="OData.Community.Display.V1.FormattedValue"}, - person Vignesh Subramanian; 12.05.2016
comment
Я не знаю, я просто скопировал этот пример из MSDN :) - person James Wood; 12.05.2016
comment
хорошо, приму ваш и добавлю свой ответ для людей, которым нужна конфигурация ajax :) спасибо - person Vignesh Subramanian; 12.05.2016

Добавьте следующие заголовки перед выполнением запроса

parent.$.ajax({
url : customurl,
headers: {
"Accept": "application/json" ,
"Content-Type":"application/json; charset=utf-8",
"OData-MaxVersion":"4.0",
"OData-Version":"4.0",
"Prefer":"odata.include-annotations=OData.Community.Display.V1.FormattedValue"
},

Теперь данные будут иметь значения, как раньше

new_modeofcontact: 1000001
[email protected]    :    "Email"
person Vignesh Subramanian    schedule 12.05.2016