Formulare anpassen

Formulare bieten die Benutzeroberfläche (UI), mit der Benutzer Tabellendatensätze erstellen, anzeigen oder bearbeiten. Verwenden Sie den Formular-Designer in der Anpassungstools, um Entitätsformulare zu erstellen und zu bearbeiten. Weitere Informationen: Formulare erstellen und gestalten zu Informationen über Aufgaben im Zusammenhang mit der Arbeit mit Formularen in der Anwendung.

Dieses Thema enthält die erforderlichen Informationen, um programmgesteuert Formulare zu erstellen oder zu bearbeiten.

Zugriffsformulardefinitionen

Formulare werden in der SystemForm-Tabeööe zusammen mit Dashboards und Visualisierungen gespeichert. Es gibt zwei Möglichkeiten, die Formulardefinitionen für eine Tabelle einzusehen:

  • Schließen Sie die Tabelle in einer nicht verwalteten Lösung ein, und exportieren Sie die Lösung.

  • Fragen Sie die SystemForm Tabelle

Anzeige von FormXML aus einer exportierten Tabelle

Nur Definitionen von Systementitätsformularen, die angepasst wurden, sind in einer exportierten verwalteten Lösung enthalten. Um die Definition eines Systementitätsformulars anzuzeigen, müssen Sie sie entweder irgendwie ä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 die Inhalte und zeigen Sie die customizations.xml-Datei an. Die Definition der Formulare finden Sie unter ImportExportXml > Entities > Entity > FormXml. Im <FormXml>-Knoten finden Sie alle Formulartypen gruppiert in einem <forms>-Element mit dem Parameter type, der den Typ des Formulars 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 Beschreibung
AncestorFormId <ancestor> Eindeutiger Bezeichner des übergeordneten Formulars. Dieser wird festgelegt, wenn Sie ein neues Formular erstellen, indem Sie ein Formular mit Speichern unter fürein bestehendes Formular oder mit CopySystemFormRequest erstellen.
CanBeDeleted <CanBeDeleted> Informationen, mit denen angegeben wird, ob die Komponente gelöscht werden kann. Diese verwaltete Eigenschaft wird erst angewendet, wenn das Formular erstellt wurde, indem eine verwaltete Lösung importiert wird.
Description <Descriptions> Description ist eine Zeichenfolge und <Descriptions> enthält alle Bezeichnungen der lokalisierten Beschreibung des Formulars.

Die lokalisierten Etiketten können mithilfe von RetrieveLocLabelsRequest abgerufen werden.
FormActivationState <FormActivationState> Legt den Status des Formulars fest.

Nur Formulare vom Typ "main" können deaktiviert werden.

Gültige Werte:

- 0 : Inaktiv
- 1 : Aktiv
FormId <formid> Eindeutiger Bezeichner des Formulars
FormPresentation <FormPresentation> Gibt an, ob sich dieses Formular im aktualisierten UI-Layout in Microsoft Dataverse befindet.
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> Informationen, mit denen angegeben wird, ob die Komponente angepasst werden kann.

Diese verwaltete Eigenschaft wird nur angewendet, wenn das Formular durch Importieren einer verwalteten Lösung erstellt wurde.
IsDefault Nicht zutreffend Informationen, die angeben, ob es sich bei Formular oder Dashboard um den Systemstandard handelt.
Name <LocalizedNames> Name ist eine Zeichenfolge und <LocalizedNames> enthält alle Bezeichnungen des lokalisierten Namens des Formulars.

Die lokalisierten Etiketten können mithilfe von RetrieveLocLabelsRequest abgerufen werden.
ObjectTypeCode Das Formular stammt von dem Entity-Element. 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 für eine Tabelle nur erstellen, wenn EntityMetadata. CanCreateForms dies zulässt.

Sie können neue Formulare entweder mit einer CreateRequest oder mit CopySystemFormRequest erstellen. Wenn Sie CopySystemFormRequest oder Speichern unter im Formulareditor verwenden, findet keine Vererbung zwischen den Formularen statt. Änderungen am Basisformular werden daher nicht automatisch auf alle daraus erstellten Formulare angewendet.

Das Ändern der Formulardefinitionen aus einer exportierten verwalteten Lösung und der anschließende erneute Import der Lösung ist das unterstützte Verfahren für die Bearbeitung von Entitätsformularen. Beik manuellen Bearbeiten von Formularen wird nachdrücklich empfohlen, einen XML-Editor zu verwenden, der die Schemaevaluierung ermöglicht. Weitere Informationen: Bearbeiten der Anpassungs-XML-Datei mit Schemaüberprüfung

Öffnen des Hauptformulars in einem Dialogfeld mithilfe der Client-API

Um das Hauptformular in einem Dialogfeld mithilfe der Client-API zu öffnen, müssen Sie den Aufruf mithilfe der Xrm.Navigation.navigateTo Methode aufrufen. Mit der Xrm.Navigation.navigateTo API-Methode können Sie das Dialogfeld mit mehreren Optionen öffnen, einschließlich Größe und Position.

Hinweis

Die Xrm.Navigation.openForm Methode wird nicht unterstützt, um ein Hauptformular als Dialog zu öffnen.

Beispiele

Einen neuen Datensatz öffnen

In diesem Beispiel öffnet das Dialogfeld ein neues Kontoformular zum Erstellen eines neuen Datensatzes. Das Dialogfeld wird in der Mitte angezeigt, indem bis zu 50 % des verfügbaren Fensters als Modal auf dem Formular verwendet werden, das aufgerufen oder 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);

Neuen Datensatz öffnen.

Vorhandenen Datensatz öffnen

In diesem Beispiel wird im Dialogfeld ein vorhandener Kontodatensatz mit dem Konto-ID-Wert über dem Kontaktformular geöffnet. Ersetzen Sie die ID durch einen Datensatz-ID-Wert, den Sie im Dialogfeld öffnen möchten.

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    formType: 2,
    entityId: "5a57f2c3-5672-ea11-a812-000d3a339706" //replace with actual ID
};
var navigationOptions = {
    target: 2,
    width: {value: 80, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);

Vorhandenen Datensatz öffnen.

Öffnen eines neuen Datensatzes im Seitenbereich

In diesem Beispiel öffnet das Dialogfeld einen neuen Datensatz in der rechten Ecke des Fensters. Dies kann durch die Verwendung der Pixeloptionen erreicht werden.

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    formType: 2,
};
var navigationOptions = {
    target: 2,
    width: {value: 500, unit:"px"},
    position: 2
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);

Bestehenden Datensatz im Seitenbereich öffnen.

Hauptformular in einem Dialog mit Rückrufmethode öffnen

Dieses Beispiel zeigt, wie ein Hauptformulardialog mit einer Rückrufmethode aufgerufen wird, nachdem ein Datensatz gespeichert und das Dialogfeld geschlossen wurde.

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

Erstellen und Gesalten von Formularen
SystemForm-Tabelle
Formular-XML-Schema
Xrm.Navigation.navigateTo

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).