Dynamics 365'teki bir meta veri varlığından dizideki belirli değeri sorgulayın

Aug 19 2020

Bu diziyi yinelemekten kaçınmaya çalışıyorum, ancak bunun üstesinden gelmenin tek yolu bu. Web API URI'sinden dizideki bu değeri doğrudan sorgulamanın bir yolu olup olmadığını görüyorum.

Bu URI örneğidir:

https://example.crm.dynamics.com/api/data/v9.0/GlobalOptionSetDefinitions(f4a9de67-1d00-ea11-a811-000d3a33f702)

Ve bu yanıtın bir örneğidir:

{
    "@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
                }
            }
        }
    ]
}

Temel olarak, "Value": 799680006URI sorgu parametrelerine bir şekilde eklemek istediğim şey var , böylece sonunda elde edebilirim "Label": "ABC123".

Herhangi bir öneri veya if Value = xgerçekten tek seçenekle nesne dizisi boyunca yineleme var mı?

Yanıtlar

1 ArunVinoth Aug 19 2020 at 05:50

İki şeyi açıklığa kavuşturmama izin verin:

  1. GlobalOptionSetDefinitionsBirden fazla dil paketiniz varsa veya özelleştirmeleri doğrulamak için veya Devops dağıtımı amacıyla tüm yerelleştirilmiş etiketleri almak için kullandığınız gibi meta verileri sorgulamak bir şeydir
  2. İşlem veritabanı kaydından birinde seçilen seçim listesi değeri için etiketi elde etmek başka bir amaçtır

Yalnızca ikinci bir amaca ihtiyacınız varsa, web api isteğine bir başlık ekledikten sonra Biçimlendirilmiş değeri seçerek bunu elde edebilirsiniz. SO cevabımda daha fazlasını okuyun

Etiketi incelemenin bir başka yolu da stringmap varlığı kullanmaktır.

https://crmdev.crm.dynamics.com/api/data/v9.1/stringmaps?$filter=objecttypecode eq 'account' and attributename eq 'accountclassificationcode' and attributevalue eq 1