Anpassen von Entitätsattributmetadaten
Verwenden Sie AttributeMetadata
(AttributeMetadata EntityType oder Klasse AttributeMetadata), um vorhandene Attribute abzurufen. Die AttributeMetadata-Klasse wird von der RetrieveAttributeRequest-Message zurückgegeben. Die AttributeMetadata
erbt von der abstrakten MetadataBase
(MetadataBase EntityType für Web-API und MetadataBase im Falle des Organization Service).
Verwenden Sie die folgende Web-API-Abfrage, um Entitätsattribute im Kontext einer Entität anzuzeigen, indem Sie die Navigationseigenschaft Attributsammlung bewertet erweitern. Weitere Informationen: Abfragen von EntityMetadata-Attributen
GET [Organization URI]/api/data/v9.1/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)?$select=LogicalName&$expand=Attributes($select=LogicalName;$filter=AttributeType eq Microsoft.Dynamics.CRM.AttributeTypeCode'Picklist')
Verwenden Sie die spezifische Klasse für jeden Attributtyp mit der Message CreateAttribute
(Für Organisationservice siehe CreateAttributeRequest), um Attribute zu aktualisieren oder um benutzerdefinierte Attribute zu erstellen.
Notiz
Sie können auf benutzerdefinierte Attribute programmgesteuert zugreifen, nachdem Sie diese erstellen, doch Sie müssen sie einem Entitätsformular hinzufügen und veröffentlichen, bevor Benutzer sie sehen können.
Attributtypen
In der folgenden Tabelle ist jeder Typ von Attribute
aufgeführt, mit dem Sie arbeiten können. Jedes Attribut erbt von AttributeMetadata
.
Klasse | Anwendungsbezeichnung | Beschreibung |
---|---|---|
BooleanAttributeMetadata | Zwei Optionen | Ein boolesches Attribut. Sie können den Text für beide Optionen angeben. Wenn Sie zu einem Formular hinzugefügt werden, steuern die Feldeigenschaften, ob das Attribut als zwei Optionsfelder, ein Kontrollkästchen oder eine Liste angezeigt wird. |
DateTimeAttributeMetadata | Datum und Uhrzeit | Ein Datums- und Uhrzeitattribut. Sie können das Verhalten so angeben, dass Datums- und Uhrzeitwerte mit oder ohne Zeitzoneninformationen gespeichert werden, und das Format so, dass das Anzeigeformat der Werte angegeben wird. Weitere Informationen: Verhalten und Format des DateTime-AttributsHinweis: Wenn Sie Dynamics 365 Customer Engagement (on-premises) oder Dynamics CRM 2016 (on-premises) verwenden, unterstützen alle Datums- und Zeitattribute jetzt Werte bis zum 1/1/1753 12:00 AM. |
DecimalAttributeMetadata | Dezimalzahl | Ein dezimales Attribut. Sie können den Genauigkeitsgrad auf bis zu zehn Dezimalstellen angeben und die Mindest- und Höchstwerte von -100.000.000.000 bis 100.000.000.000. |
DoubleAttributeMetadata | Gleitkommazahl | Ein doppeltes Attribut. Sie können den Genauigkeitsgrad auf bis zu fünf Dezimalstellen angeben und die Mindest- und Höchstwerte von -100.000.000.000 bis 100.000.000.000.
Hinweis:DoubleAttributeMetadata ersetzt die in Dynamics CRM 4.0 verwendete FloatAttributeMetadata . |
ImageAttributeMetadata | Image | Ein Bildattribut. Jede Entität kann über ein Bildattribut verfügen. Bestimmte Systementitäten verfügen über Bildattribute, und neue Bildattribute können Systementitäten nicht hinzugefügt werden, die diese nicht besitzen. Sie können ein Bildattribut benutzerdefinierten Entitäten hinzufügen. Alle Bildattribute haben das „EntityImage“ SchemaName und das „EntityImage“ LogicalName . Benutzerdefinierte Bildattribute werden im Namen nicht das Anpassungspräfix für den Lösungsherausgeber verwenden. Weitere Informationen: Entitätsbilder. |
IntegerAttributeMetadata | Ganze Zahl | Ein Ganzzahlattribut. Sie können den maximalen und den minimalen Wert von -2.147.483.648 bis 2.147.483.647 festlegen. Dieses Attribut kann so formatiert werden, dass die folgenden Feldtypen unter Verwendung der Aufzählung IntegerFormat erstellt werden( IntegerFormat EnumType oder IntegerFormat Aufzählung):- Dauer: Zeigt eine Dropdown-Liste an, die Zeitintervalle enthält. Ein Benutzer kann einen Wert in der Liste auswählen oder einen ganzzahligen Wert eingeben, der die Anzahl von Minuten darstellt. - Zeitzone: Zeigt eine Dropdown-Liste an, die eine Liste von Zeitzonen enthält. - Sprache: Zeigt eine Dropdown-Liste an, die eine Liste der Sprachen enthält, die für das Unternehmen aktiviert wurden. Wenn keine anderen Sprachen aktiviert sind, ist die einzige Option die Ausgangssprache. Der gespeicherte Wert ist der LCID-Wert für die Sprache. |
LookupAttributeMetadata | Suche | Ein Attribut, das erstellt wird, wenn eine Entitätsbeziehung mithilfe der CreateOneToMany -Message( Für Organisationsservice, siehe CreateOneToManyRequest-Message). |
MemoAttributeMetadata | Mehrere Textzeilen | Ein Memoattribut. Wird als Textfeldfeld in einem Formular angezeigt. Die maximale Länge beträgt 1048576 Zeichen. |
MoneyAttributeMetadata | Währung | Ein money-Attribut. Sie können den maximalen und den minimalen Wert zwischen -922.337.203.685.477 und 922.337.203.685.477 festlegen. Der Genauigkeitsgrad kann mithilfe der Eigenschaft MoneyAttributeMetadata.PrecisionSource festgelegt werden:- Wenn die Genauigkeit auf Null (0) festgelegt ist, wird der Wert MoneyAttributeMetadata.Precision verwendet.- Wenn die Genauigkeit auf eins (1) festgelegt ist, wird der Wert Organization.PricingDecimalPrecision verwendet.- Wenn die Genauigkeit auf zwei (2) festgelegt ist, wird der Wert TransactionCurrency.CurrencyPrecision verwendet. |
MultiSelectPicklistAttributeMetadata | MultiSelect-Optionssatz | Ein Mehrfachauswahl-Listenattribut. Mehrfachauswahl-Listenattribute wurden hinzugefügt mit Dynamics 365 Customer Engagement (on-premises) Version 9. Dieses Attribut stellt einen Satz von Optionen bereit, die in einer Dropdownliste angezeigt werden. Mehrere als eine Option kann ausgewählt werden. Sie können dieses Auswahllistenattribut erstellen, sodass es seine eigenen Optionen enthalten oder einen globalen Optionssatz verwenden kann. |
PicklistAttributeMetadata | Optionssatz | Ein Auswahllistenattribut. Dieses Attribut stellt einen Satz von Optionen bereit, die in einer Dropdownliste angezeigt werden. Sie können das Auswahllistenattribut erstellen, sodass es seine eigenen Optionen enthalten oder einen globalen Optionssatz verwenden kann. |
StateAttributeMetadata | Status | Das Statusattribut wird automatisch erstellt, wenn die Entität erstellt wird. Hinweis: Die für dieses Attribut verfügbaren Optionen sind schreibgeschützt. |
StatusAttributeMetadata | Statusgrund | Das Statusattribut wird automatisch erstellt, wenn die Entität erstellt wird. Jede der Optionen muss dem StateAttributeMetadata -Attribut für die Entität zugeordnet werden. Verwenden Sie die Message InsertStatusValueRequest, um Optionen zu aktualisieren, die für dieses Attribut verfügbar sind.
Anmerkung: Jede StatusOption muss auf einen bestimmten Status-Attributwert verweisen, da Statuswerte von einem bestimmten Statuswert abhängen. |
StringAttributeMetadata | Einzelne Textzeile | Siehe StringAttributeMetadata formats. |
StringAttributeMetadata-Formate
Zeichenfolgenattribute können formatiert werden, um es Links zu ermöglichen, Telefonanrufe mithilfe von Lync oder Skype zu initiieren. Diese Änderung erfordert das Hinzufügen einer neuen Eigenschaft FormatName
(für Organization Service siehe FormatName) zu StringAttributeMetadata
(StringAttributeMetadata EntityType oder Klasse StringAttributeMetadata) und das Veralten der Eigenschaft Format
.
Die Verwendung der Aufzählung StringFormat
(StringFormat EnumType oder Aufzählung StringFormat) zur Definition des Formats für StringAttributeMetadata.Format
(für Organization Service siehe StringAttributeMetadata.Format) ist außer Betrieb genommen. Verwenden Sie die stattdessen die Klasse StringFormatName zum Festlegen des Werts von StringAttributeMetadata.FormatName.
Dies ermöglicht das Festlegen des Formatwerts von PhoneNumber
, der in der Enumeration StringFormat
nicht vorhanden ist.
Zur Abwärtskompatibilität können Sie einen Wert festlegen, um zu steuern, wie das Attribut formatiert wird, indem entweder die Format
-Eigenschaft oder die FormatName
-Eigenschaft verwendet wird. Ihr vorhandener Code wird weiterhin funktionieren, wenn Sie nur Format
verwenden, jedoch können kein Attribut als Telefonnummer formatieren, ohne FormatName
zu verwenden. Wenn beide Eigenschaften festgelegt werden, ist es der mithilfe von FormatName
festgelegte Wert, der angewendet wird.
Die Nachricht StringFormatName
(StringFormatName ComplexType oder Klasse StringFormatName) enthält die folgenden Mitglieder; jedes Mitglied gibt eine Zeichenkette mit demselben Wert wie der Name des Mitglieds zurück:
Mitgliedsname und Wert | Beschreibung |
---|---|
Email |
Das Formfeld wird den Textwert als E-Mail-Adresse überprüfen und im Feld einen mailto-Link erstellen. |
PhoneNumber |
Das Formularfeld enthält einen Link, um einen Telefonanruf mithilfe von Skype zu initiieren. |
PhoneticGuide |
Nur zur internen Verwendung |
Text |
Das Formular zeigt ein Textfeld an. |
TextArea |
Das Formular zeigt ein Textbereichsfeld an. |
TickerSymbol |
Das Formular zeigt einen Link an, der sich öffnet, um ein Angebot für das Aktientickersymbol anzuzeigen. |
URL |
Das Formular zeigt einen Link an, um die URL zu öffnen. |
VersionNumber |
Nur zur internen Verwendung |
Siehe auch
Erweitern des Metadatenmodells für Dynamics 365 Customer Engagement
Verwenden von Attributen
Verhalten und Format des datetime-Attributs
Meldungen für Entitätsattributsmetadaten
Beispiel: Verwenden von Attributen
Beispiel: Setzen von Attributmetadaten in eine Datei
Beispiel: Speichern von Attributauswahllisten-Metadaten in einer Datei
Beispiel: Konvertierung des Datums- und Uhrzeitverhaltens