Dynamics 365의 메타 데이터 엔터티에서 배열의 특정 값 쿼리
Aug 19 2020
이 배열을 반복하지 않으려 고 노력하고 있지만 이것이이를 처리하는 유일한 방법이라고 생각합니다. Web API URI의 배열에서이 값을 직접 쿼리하는 방법이 있는지 확인합니다.
다음은 URI 예입니다.
https://example.crm.dynamics.com/api/data/v9.0/GlobalOptionSetDefinitions(f4a9de67-1d00-ea11-a811-000d3a33f702)
그리고 이것은 응답의 예입니다.
{
"@odata.context": "https://example.crm.dynamics.com/api/data/v9.0/$metadata#GlobalOptionSetDefinitions/Microsoft.Dynamics.CRM.OptionSetMetadata/$entity",
"MetadataId": "f4a9de67-1d00-ea11-a811-000d3a33f702",
"Options": [
{
"Value": 799680006,
"Color": "#0000ff",
"IsManaged": false,
"ExternalValue": "",
"ParentValues": [],
"MetadataId": null,
"HasChanged": null,
"Label": {
"LocalizedLabels": [
{
"Label": "ABC123",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "b4eb2c69-b500-ea11-a811-000d3a33fe19",
"HasChanged": null
}
],
"UserLocalizedLabel": {
"Label": "ABC123",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "b4eb2c69-b500-ea11-a811-000d3a33fe19",
"HasChanged": null
}
}
}
]
}
기본적으로 "Value": 799680006
URI 쿼리 매개 변수에 어떻게 든 추가하고 싶은 것이 있으므로 궁극적으로 "Label": "ABC123"
.
어떤 제안이나 if Value = x
실제로 유일한 옵션 으로 객체 배열을 반복하고 있습니까?
답변
1 ArunVinoth Aug 19 2020 at 05:50
두 가지를 명확히하겠습니다.
GlobalOptionSetDefinitions
여러 언어 팩이 있거나 사용자 지정을 확인하거나 Devops 배포 목적으로 모든 지역화 된 레이블을 가져 오는 데 사용 하는 것과 같은 메타 데이터를 쿼리 하는 것은 한 가지입니다.- 트랜잭션 데이터베이스 레코드 중 하나에서 선택한 선택 목록 값에 대한 레이블을 가져 오는 것은 또 다른 목적입니다.
단순히 두 번째 목적이 필요한 경우 웹 API 요청에 헤더를 추가 한 후 Formatted 값을 선택하여 가져올 수 있습니다. 내 SO 답변에서 자세히 알아보기
레이블을 검사하는 또 다른 방법은 stringmap 엔티티를 사용하는 것입니다.
https://crmdev.crm.dynamics.com/api/data/v9.1/stringmaps?$filter=objecttypecode eq 'account' and attributename eq 'accountclassificationcode' and attributevalue eq 1