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.
Formulare in modellgesteuerten Apps stellen die Benutzeroberfläche bereit, die benutzer zum Erstellen, Anzeigen oder Bearbeiten von Tabellendatensätzen verwenden. In diesem Artikel wird erläutert, wie Formulare programmgesteuert mithilfe des SystemForm Tabellen- und Formular-Designers in Anpassungstools erstellt oder bearbeitet werden. Sie erfahren, wie Sie auf Formulardefinitionen zugreifen, Formulareigenschaften verstehen und Formulare mithilfe von Codebeispielen implementieren.
Zugriffsformulardefinitionen
Die SystemForm Tabelle speichert Formulare zusammen mit Dashboards und Visualisierungen. Sie können die Formulardefinitionen für eine Tabelle auf zwei Arten prüfen:
Schließen Sie die Tabelle in einer nicht verwalteten Lösung ein, und exportieren Sie die Lösung.
Abfrage der
SystemFormTabelle.
Anzeigen von FormXML aus einer exportierten Tabelle
Eine exportierte verwaltete Lösung enthält nur Definitionen von Systemformularen, die Sie anpassen. Zum Anzeigen der Definition eines Systemformulars müssen Sie entweder das Formular ändern oder ein neues Formular erstellen, indem Sie das vorhandene Formular unter einem neuen Namen speichern.
Nachdem Sie die Lösung exportiert haben, extrahieren Sie den Inhalt, und zeigen Sie die customizations.xml Datei an. Sie finden die Definition der Formulare in ImportExportXml>Entities>Entity>FormXml.
<FormXml> Im Knoten wird jeder Formulartyp in einem <forms> Element gruppiert, wobei der Parameter den type Formulartyp angibt.
Formulareigenschaften
Die folgende Tabelle enthält zentrale SystemForm-Tabellenspalte und die entsprechenden Daten in den mit der Lösung exportierten XML-Elementen.
| SystemForm-Eigenschaft | FormXML-Element | Eigenschaft |
|---|---|---|
AncestorFormId |
<ancestor> |
Eindeutiger Bezeichner des übergeordneten Formulars. Legen Sie diese Eigenschaft fest, wenn Sie ein neues Formular mithilfe von "Speichern unter " für ein vorhandenes Formular oder mithilfe der SDK-Klasse für .NET CopySystemFormRequest - oder Web-API CopySystemForm-Aktion erstellen. |
CanBeDeleted |
<CanBeDeleted> |
Informationen, die angeben, ob diese Komponente gelöscht werden kann. Diese verwaltete Eigenschaft gilt nur, wenn Sie das Formular durch Importieren einer verwalteten Lösung erstellen. |
Description |
<Descriptions> |
Description ist eine Zeichenkette und <Descriptions> enthält alle lokalisierten Beschriftungen für die Beschreibung des Formulars.Sie können die Bezeichnungen mithilfe der lokalisierten RetrieveLocLabelsRequest abrufen. |
FormActivationState |
<FormActivationState> |
Legt den Status des Formulars fest. Nur Formulare vom Typ „Haupt“ können deaktiviert werden. Gültige Werte: - 0: Inactive-1: Active |
FormId |
<formid> |
Eindeutiger Bezeichner des Formulars |
FormPresentation |
<FormPresentation> |
Gibt an, ob dieses Formular im aktualisierten UI-Layout in Microsoft Dataverse vorhanden ist. |
FormXml |
<form> |
XML-Darstellung des Formularlayouts. |
IntroducedVersion |
<IntroducedVersion> |
Version der Lösung, in der das Formular hinzugefügt wurde. |
IsAIRMerged |
Nicht zutreffend | Legt fest, ob dieses Formular mit dem aktualisierten UI-Layout in Dataverse zusammengeführt wird. |
IsCustomizable |
<IsCustomizable> |
Information, die angibt, ob die Komponente angepasst werden kann. Diese verwaltete Eigenschaft gilt nur, wenn Sie das Formular durch Importieren einer verwalteten Lösung erstellen. |
IsDefault |
Nicht zutreffend | Informationen, die angeben, ob es sich bei Formular oder Dashboard um den Systemstandard handelt. |
Name |
<LocalizedNames> |
Name ist eine Zeichenkette und <LocalizedNames> enthält alle lokalisierten Beschriftungen für den Namen des Formulars.Sie können die lokalisierten Bezeichnungen mithilfe der RetrieveLocLabelsRequest. |
ObjectTypeCode |
Das Formular ist ein Nachkomme des Entity-Elements. |
Der ObjectTypeCode-Wert ist der logische Name der Tabelle. |
Type |
<forms> Element type Parameter |
Gültige Werte für Formulare sind: - 2: main-5: mobile-6: quick-7: quickCreate |
Erstellen und Bearbeiten von Formularen
Sie können neue Formulare nur für Tabellen erstellen, in denen EntityMetadata.CanCreateForms dies zulässt.
Erstellen Sie neue Formulare, indem Sie sie direkt oder mithilfe der CopySystemForm Nachricht erstellen. Verwenden Sie das SDK für .NET CopySystemFormRequest-Klasse oder die Web-API CopySystemForm-Aktion. Wenn Sie die CopySystemForm Nachricht oder Speichern unter im Formular-Editor verwenden, gibt es keine Vererbung zwischen den Formularen. Daher gelten Änderungen am Basisformular nicht automatisch für formulare, die daraus erstellt wurden.
Sie können Formulardefinitionen bearbeiten, indem Sie eine verwaltete Lösung exportieren, die Formulardefinitionen bearbeiten und dann die Lösung erneut importieren. Wenn Sie Formulare manuell bearbeiten, verwenden Sie einen XML-Editor, der die Schemaüberprüfung unterstützt. Weitere Informationen finden Sie unter Bearbeiten der XML-Anpassungsdatei mit Schemaüberprüfung.
Öffnen des Hauptformulars in einem Dialogfeld mithilfe der Client-API
Rufen Sie zum Öffnen des Hauptformulars in einem Dialogfeld mithilfe der Client-API die Xrm.Navigation.navigateTo-Methode auf. Die Xrm.Navigation.navigateTo-API-Methode öffnet das Dialogfeld mit mehreren Optionen, einschließlich Größe und Position.
Anmerkung
Die Xrm.Navigation.openForm-Methode unterstützt das Öffnen eines Hauptformulars nicht als Dialogfeld.
Beispiel: Öffnen eines neuen Datensatzes
In diesem Beispiel öffnet das Dialogfeld ein neues Kontoformular zum Erstellen eines neuen Datensatzes. Das Dialogfeld wird in der Mitte angezeigt und nutzt dabei bis zu 50% des verfügbaren Fensters als modales Element über dem Formular, aus dem es aufgerufen wurde.
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
};
var navigationOptions = {
target: 2,
width: {value: 50, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
Beispiel: Öffnen eines vorhandenen Datensatzes
In diesem Beispiel öffnet das Dialogfeld einen vorhandenen Kontodatensatz mithilfe des Konto-ID-Werts im Kontaktformular. Ersetzen Sie die ID durch einen beliebigen Datensatz-ID-Wert, um den Datensatz im Dialogfeld zu öffnen.
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
entityId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" //replace with actual ID
};
var navigationOptions = {
target: 2,
width: {value: 80, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
Beispiel: Öffnen Sie einen neuen Datensatz im Seitenbereich
In diesem Beispiel öffnet das Dialogfeld einen neuen Datensatz in der rechten Ecke des Fensters. Sie können dieses Verhalten mithilfe der Pixeloptionen erreichen.
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
};
var navigationOptions = {
target: 2,
width: {value: 500, unit:"px"},
position: 2
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
Beispiel: Öffnen des Hauptformulars in einem Dialogfeld mit Rückrufmethode
In diesem Beispiel wird gezeigt, wie Sie ein Hauptformulardialogfeld mit einer Rückrufmethode aufrufen, nachdem Sie einen Datensatz gespeichert und das Dialogfeld geschlossen haben.
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2
};
var navigationOptions = {
target: 2,
width: {value: 80, unit:"%"},
position: 2
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
function success(result) {
console.log("Record created with ID: " + result.savedEntityReference[0].id +
" Name: " + result.savedEntityReference[0].name)
// Handle dialog closed
},
function error() {
// Handle errors
}
);
Siehe auch
Formulare erstellen und gestalten
SystemForm-Tabelle
Formular-XML-Schema
Xrm.Navigation.navigateTo