Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie Microsoft Dataverse Auswahlmöglichkeiten (Optionssätze) mithilfe der Web-API erstellen und aktualisieren, sodass Sie einheitliche Optionswerte über Tabellenspalten hinweg verwalten können. Verwenden Sie globale Auswahlmöglichkeiten, wenn mehrere Spalten dieselben Optionen benötigen, und verwenden Sie lokale Auswahlmöglichkeiten für eine bestimmte Spalte.
Anmerkung
Sie können einen vorhandenen verwalteten Optionssatz nur ändern, wenn Sie der Herausgeber sind. Um eine Option in diesen Optionssätzen umzubenennen oder zu löschen, müssen Sie die Lösung aktualisieren, die den Optionssatz hinzugefügt hat. Weitere Informationen finden Sie unter Upgrade oder Aktualisieren einer Lösung.
Wenn Sie eine globale Option definieren, die mithilfe einer POST Anforderung an [Organisations-URI]/api/data/v9.2/GlobalOptionSetDefinitions festgelegt wird, empfehlen wir, dem System das Zuweisen eines Werts zu ermöglichen. Lassen Sie das System den Wert zuweisen, indem Sie einen null Wert übergeben, wenn Sie die neue OptionMetadata-Instanz erstellen. Wenn Sie eine Option definieren, enthält sie ein Präfix für den Optionswert, das spezifisch für den Kontext des Publisher-Sets für die Lösung ist, in der das Optionsset erstellt wird.
Dieses Präfix reduziert die Wahrscheinlichkeit, dass doppelte Optionssätze für eine verwaltete Lösung erstellt werden, und in allen Optionssätzen, die Sie in Umgebungen definieren, in denen Ihre verwaltete Lösung installiert ist. Weitere Informationen finden Sie unter Zusammenführung von Optionssatz-Optionen.
Web-API-Vorgänge für Auswahlmöglichkeiten
Die folgende Tabelle enthält die Meldungen, die Sie mit globalen Optionssätzen verwenden können.
| Nachricht | Web-API-Vorgang |
|---|---|
CreateOptionSet |
Verwenden Sie POST-Anfragen an [Organisations-URI]/api/data/v9.2/GlobalOptionSetDefinitions. |
DeleteOptionSet |
Verwenden Sie DELETE-Anfragen an [Organisations-URI]/api/data/v9.2/GlobalOptionSetDefinitions(Name='<name>'). |
RetrieveAllOptionSets |
Verwenden Sie GET-Anfragen an [Organisations-URI]/api/data/v9.2/GlobalOptionSetDefinitions. |
RetrieveOptionSet |
Verwenden Sie GET-Anfragen an [Organisations-URI]/api/data/v9.2/GlobalOptionSetDefinitions(Name='<name>'). |
In der folgenden Tabelle sind die Nachrichten aufgeführt, die Sie mit lokalen und globalen Optionssätzen verwenden können.
| Nachricht | Web-API-Vorgang |
|---|---|
DeleteOptionValueLöscht einen der Werte in einem globalen Optionssatz. |
DeleteOptionValue Aktion Beispiel: Option Löschen |
InsertOptionValueFügt eine neue Option in einen globalen Optionssatz ein. |
InsertOptionValue Aktion Beispiel: Optionen einfügen |
InsertStatusValueFügt eine neue Option in das globale Optionssatz ein, das in der Status Spalte verwendet wird. |
InsertStatusValue Aktion Beispiel: Statuswert Einfügen |
OrderOptionÄndert die relative Reihenfolge der Optionen in einem Optionssatz. |
OrderOption Aktion Beispiel: Sortiertoptionen |
UpdateOptionSet |
Verwenden Sie eine PUT-Anfrage mit einem OptionSetMetadataBase EntityType zu [Organisation URI]/api/data/v9.2/GlobalOptionSetDefinitions(Metadatenid)Nur die durch OptionSetMetadataBase definierten Eigenschaften können aktualisiert werden. Diese Eigenschaften enthalten nicht die Optionen. Verwenden Sie andere Aktionen, um Änderungen an Optionen vorzunehmen. |
UpdateOptionValueAktualisiert eine Option in einem Optionssatz. |
Aktion UpdateOptionValue Beispiel: Optionen aktualisieren |
UpdateStateValueFügt eine neue Option in den globalen Optionssatz ein, der in der Status Spalte verwendet wird. |
Aktion UpdateStateValue |
Web-API-Beispiele für Auswahlmöglichkeiten
- Erstellen eines globalen Optionssatzes
- Erstellen einer Auswahlspalte mithilfe eines globalen Optionssatzes
- Optionen einfügen
- Optionen aktualisieren
- Anordnen von Optionen
- Option löschen
- Statuswert einfügen
Erstellen eines globalen Optionssatzes
Im folgenden Beispiel werden diese Eigenschaften verwendet, um eine globale Auswahl zu erstellen.
| OptionSetMetadata Eigenschaften | Werte |
|---|---|
Name |
sample_colors |
DisplayName |
Farben |
Description |
Farbauswahl |
OptionSetType |
Picklist |
Options |
Wert: 727000000, Label:RedWert: 727000001, Label:YellowWert: 727000002, Label:Green |
Das folgende Beispiel erstellt eine globale Auswahl unter Verwendung der Eigenschaften.
Die URI für die globale Auswahl wird in der Antwort zurückgegeben. Sie können auch auf diese globale Auswahl verweisen, indem Sie den Namen verwenden: GlobalOptionSetDefinitions(Name='sample_colors').
Anforderung:
POST [Organization Uri]/api/data/v9.2/GlobalOptionSetDefinitions
MSCRM.SolutionUniqueName: examplesolution
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Content-Type: application/json; charset=utf-8
Content-Length: 2769
{
"@odata.type": "Microsoft.Dynamics.CRM.OptionSetMetadata",
"Options": [
{
"Value": 727000000,
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Red",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Red",
"LanguageCode": 1033,
"IsManaged": false
}
}
},
{
"Value": 727000001,
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Yellow",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Yellow",
"LanguageCode": 1033,
"IsManaged": false
}
}
},
{
"Value": 727000002,
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Green",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Green",
"LanguageCode": 1033,
"IsManaged": false
}
}
}
],
"Description": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Color Choice",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Color Choice",
"LanguageCode": 1033,
"IsManaged": false
}
},
"DisplayName": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Colors",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Colors",
"LanguageCode": 1033,
"IsManaged": false
}
},
"Name": "sample_colors",
"OptionSetType": "Picklist"
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/GlobalOptionSetDefinitions(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Erstellen einer Auswahlspalte mithilfe eines globalen Optionssatzes
Im folgenden Beispiel werden diese Eigenschaften verwendet, um eine Auswahlspalte mithilfe einer globalen Auswahl zu erstellen.
| Eigenschaften von Attributen | Werte |
|---|---|
SchemaName |
sample_Colors |
DisplayName |
Farbbeispiele |
Description |
Attribut Globale Auswahlliste Farben |
RequiredLevel |
None |
GlobalOptionSet |
Legen Sie diese einzelwertige Navigationseigenschaft mithilfe der @odata.bind Syntax mit einem Verweis auf die globale Auswahl fest. Dieses Beispiel verwendet die MetadataId als Schlüssel, könnte aber auch den alternativen Schlüssel mit Name verwenden: GlobalOptionSetDefinitions(Name='sample_colors') |
Im folgenden Beispiel wird eine lokale Spalte mithilfe der Eigenschaften erstellt und der sample_bankaccount Tabelle hinzugefügt.
Die Antwort gibt den URI für das Attribut zurück.
Anforderung:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes
MSCRM.SolutionUniqueName: examplesolution
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Content-Type: application/json; charset=utf-8
Content-Length: 1465
{
"@odata.type": "Microsoft.Dynamics.CRM.PicklistAttributeMetadata",
"AttributeType": "Picklist",
"AttributeTypeName": {
"Value": "PicklistType"
},
"SourceTypeMask": 0,
"GlobalOptionSet@odata.bind": "/GlobalOptionSetDefinitions(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)",
"Description": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Colors Global Picklist Attribute",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Colors Global Picklist Attribute",
"LanguageCode": 1033,
"IsManaged": false
}
},
"DisplayName": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Sample Colors",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Sample Colors",
"LanguageCode": 1033,
"IsManaged": false
}
},
"RequiredLevel": {
"Value": "None",
"CanBeChanged": false,
"ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings"
},
"SchemaName": "sample_Colors"
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
Optionen zum Einfügen
Das folgende Beispiel verwendet die InsertOptionValue Aktion, um eine neue Option mit dem Wert 727000005 und dem Label Echo zu der lokalen Auswahlspalte hinzuzufügen, die mit Erstelle eine Auswahlspalte erstellt wurde.
Anforderung:
POST [Organization Uri]/api/data/v9.2/InsertOptionValue
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Content-Type: application/json; charset=utf-8
Content-Length: 612
{
"AttributeLogicalName": "sample_choice",
"EntityLogicalName": "sample_bankaccount",
"Value": 727000005,
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Echo",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Echo",
"LanguageCode": 1033,
"IsManaged": false
}
},
"SolutionUniqueName": "examplesolution"
}
Antwort:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.InsertOptionValueResponse",
"NewOptionValue": 727000005
}
Optionen aktualisieren
Verwenden Sie zum Aktualisieren einzelner Optionen die UpdateOptionValue-Aktion. Im folgenden Beispiel wird das TrueOption Beispiel für boolesche Spalten in "Erstellen einer booleschen Spalte " aktualisiert und die Beschriftung Up anstelle von True. Da dieser Optionssatz lokal ist, wird das Beispiel verwendet AttributeLogicalName und EntityLogicalName. Verwenden Sie für einen globalen Optionssatz stattdessen den Parameter OptionSetName.
Anforderung:
POST [Organization Uri]/api/data/v9.2/UpdateOptionValue HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"AttributeLogicalName": "new_boolean",
"EntityLogicalName": "new_bankaccount",
"Value": 1,
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Up",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Up",
"LanguageCode": 1033,
"IsManaged": false
}
},
"MergeLabels": true
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Anordnen von Optionen
Das folgende Beispiel zeigt, wie Sie Optionen in einer lokalen Option neu anordnen, die mithilfe der OrderOption-Aktion festgelegt ist. Die Eigenschaft Value enthält die Werte der Option in der gewünschten Reihenfolge.
Wenn Sie diese Aktion mit einem globalen Optionssatz verwenden möchten, geben Sie den OptionSetName Parameter anstelle von EntityLogicalName und .AttributeLogicalName
Verwenden Sie den SolutionUniqueName Parameter, um die Änderungen als Teil der angegebenen Lösung anzuwenden.
Anforderung:
POST [Organization Uri]/api/data/v9.2/OrderOption
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Content-Type: application/json; charset=utf-8
Content-Length: 253
{
"EntityLogicalName": "sample_bankaccount",
"AttributeLogicalName": "sample_choice",
"Values": [
727000002,
727000000,
727000003,
727000001,
727000005,
727000004
],
"SolutionUniqueName": "examplesolution"
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Option „Löschen“
Das folgende Beispiel zeigt, wie Sie eine Option in einer lokalen Auswahlspalte mithilfe der DeleteOptionValue-Aktion löschen.
Wenn Sie diese Aktion mit einem globalen Optionssatz verwenden möchten, geben Sie den OptionSetName Parameter anstelle von EntityLogicalName und .AttributeLogicalName
Verwenden Sie den SolutionUniqueName Parameter, um die Änderungen als Teil der angegebenen Lösung anzuwenden.
Anforderung:
POST [Organization Uri]/api/data/v9.2/DeleteOptionValue
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Content-Type: application/json; charset=utf-8
Content-Length: 116
{
"AttributeLogicalName": "sample_choice",
"EntityLogicalName": "sample_bankaccount",
"Value": 727000004
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Statuswert einfügen
Das folgende Beispiel zeigt, wie Sie einer Statusspalte mithilfe der InsertStatusValue-Aktion eine Option hinzufügen.
Verwenden Sie den Parameter StateCode, um anzugeben, für welche StateCode-Option der Statuswert gilt. Der Parameter SolutionUniqueName wendet die Änderungen als Teil der angegebenen Lösung an.
Die Eigenschaft NewOptionValue, die vom InsertStatusValueResponse ComplexType zurückgegeben wird, enthält den der Option zugewiesenen Wert.
Anforderung:
POST [Organization Uri]/api/data/v9.2/InsertStatusValue
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Content-Type: application/json; charset=utf-8
Content-Length: 609
{
"AttributeLogicalName": "statuscode",
"EntityLogicalName": "sample_bankaccount",
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Frozen",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Frozen",
"LanguageCode": 1033,
"IsManaged": false
}
},
"StateCode": 1,
"SolutionUniqueName": "examplesolution"
}
Antwort:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.InsertStatusValueResponse",
"NewOptionValue": 727000000
}
Siehe auch
Passen Sie die Auswahl an
Erstellen und Bearbeiten globaler Auswahlmöglichkeiten – Übersicht
Eine Auswahl erstellen