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.
Öffnet ein Entitätsformular oder ein Schnellerfassungsformular.
Anmerkung
Um ein Hauptformular als Dialog zu öffnen, verwenden Sie stattdessen die Methode navigateTo . Weitere Informationen: Öffnen des Hauptformulars in einem Dialogfeld mithilfe der Client-API
Syntax
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);
Parameter
| Name | Type | Erforderlich | Beschreibung |
|---|---|---|---|
entityFormOptions |
Object | Ja | Formularoptionen zum Öffnen des Formulars. Siehe EntityFormOptions-Objekt |
formParameters |
Object | Nein | Ein Wörterbuchobjekt, das dem Formular zusätzliche Parameter übergibt. Ungültige Parameter verursachen einen Fehler. Informationen zum Übergeben von Parametern an ein Formular finden Sie unter Festlegen von Spaltenwerten mithilfe von Parametern, die an ein Formular übergeben werden und Ein Formular konfigurieren, um benutzerdefinierte Abfragezeichenfolgenparameter zu akzeptieren. |
successCallback |
Function | Nein | Eine Funktion, die ausgeführt werden soll, wenn der Datensatz im Schnellerstellungsformular gespeichert wird. Diese Funktion akzeptiert ein Objekt als Parameter. Das Objekt verfügt über ein savedEntityReference Array mit den folgenden Eigenschaften, um die angezeigten oder erstellten Datensätze zu identifizieren:- entityType: Der logische Name der Tabelle.- id: Eine Zeichenfolgendarstellung eines GUID-Werts für den Datensatz.- name: Der primäre Spaltenwert des erstellten oder angezeigten Datensatzes.ANMERKUNG: – Die successCallback Funktion wird nicht ausgeführt, wenn Sie ein Formular für einen vorhandenen oder neuen Datensatz öffnen.- Die Funktion successCallback wird nur ausgeführt, wenn Sie eine Aufzeichnung in einem Formular für Schnellerfassung speichern, das mit der openForm-Methode geöffnet wurde. |
errorCallback |
Function | Nein | Eine auszuführende Funktion, wenn der Vorgang fehlgeschlagen ist. |
EntityFormOptions-Objekt
Das Objekt enthält die folgenden Werte:
| Name | Type | Erforderlich | Beschreibung |
|---|---|---|---|
entityName |
String | Ja | Logischer Name der Tabelle, für die das Formular angezeigt werden soll. |
entityId |
String | Nein | ID des Tabellendatensatzes, für den das Formular angezeigt werden soll. |
formId |
String | Nein | ID der anzuzeigenden Formularinstanz. |
cmdbar |
Bool | Nein | Gibt an, ob die Befehlsleiste angezeigt werden soll. Wenn Sie diesen Parameter nicht angeben, wird die Befehlsleiste standardmäßig angezeigt. Erfordert die Übergabe des openInNewWindow-Parameters als wahr. |
createFromEntity |
Nachschlagefeld | Nein | Legt einen Datensatz fest, der Standardwerte basierend auf zugeordneten Spaltenwerten bereitstellt. Das Suchobjekt hat folgende Zeichenfolgeneigenschaften: entityType, idund name (optional). |
openInNewWindow |
Bool | Nein | Gibt an, ob formular in einem neuen Fenster oder auf einer neuen Registerkarte angezeigt werden soll. Wenn Sie Werte für Höhe oder Breite angeben und nicht angeben true , wird das Formular auf einer neuen Registerkarte angezeigt. Wenn Sie ein Formular in einem neuen Fenster oder einer neuen Registerkarte öffnen, wird das Rendern des Formulars im Vergleich zum Öffnen des Formulars auf derselben Registerkarte langsam. Erwägen Sie stattdessen das Öffnen eines Formulars im Hauptformulardialogfeld. Diese Eigenschaft wird derzeit für Schnellerstellungsformulare nicht unterstützt, da sie nicht in einem neuen Fenster oder einer neuen Registerkarte geöffnet werden können. |
height |
Number | Nein | Die Höhe des zu öffnenden Formulars in Pixeln. Erfordert die Übergabe des openInNewWindow-Parameters als wahr. |
width |
Number | Nein | Die Breite des zu öffnenden Formulars in Pixeln. Erfordert die Übergabe des openInNewWindow-Parameters als wahr. |
navbar |
String | Nein | Steuert, ob die Navigationsleiste angezeigt wird und ob Anwendungsnavigation über die in der Siteübersicht definierten Bereiche und Unterbereiche verfügbar ist. Gültige Werte sind: on, off oder entity. Erfordert die Übergabe des openInNewWindow-Parameters als wahr.- on: Die Navigationsleiste wird angezeigt. Dies ist das Standardverhalten, wenn der Navigationsleistenparameter nicht verwendet wird.- off: Die Navigationsleiste wird nicht angezeigt. Benutzer können andere Benutzeroberflächenelemente oder die Schaltflächen Zurück und Weiter für die Navigation verwenden.- entity: In einem Formular sind nur die Navigationsoptionen für verknüpfte Tabellen verfügbar. Nach der Navigation zu einer verknüpften Tabelle wird die Schaltfläche Zurück in der Navigationsleiste angezeigt, mit der Sie zum ursprünglichen Datensatz zurückkehren können. |
relationship |
Object | Nein | Definieren eines Beziehungsobjekts, um die zugehörigen Datensätze im Formular anzuzeigen. Siehe Beziehungsobjekt |
selectedStageId |
String | Nein | ID der ausgewählten Phase in der Geschäftsprozessinstanz. |
useQuickCreateForm |
Bool | Nein | Gibt an, ob das Formular „Schnellerfassung“ geöffnet wird. Die Tabelle muss die Schnelles Erstellen zulassen Option aktiviert haben, damit das Schnellerstellungsformular angezeigt wird, und Sie müssen außerdem die Tabelle und das Schnellerstellungsformular zu Ihrer App hinzufügen. Wenn Sie nicht den Wert useQuickCreateFormangeben, wird der Standardwert auf false. |
Beziehungsobjekt
Das Objekt verfügt über die folgenden Werte.
| Name | Type | Beschreibung |
|---|---|---|
attributeName |
String | Name der Spalte, die für die Beziehung verwendet wird. |
name |
String | Name der Spalte, die für die Beziehung verwendet wird. |
navigationPropertyName |
String | Name der Spalte, die für die Beziehung verwendet wird. |
relationshipType |
Number | Beziehungstyp. Geben Sie einen der folgenden Werte an: - 0:OneToMany - 1:ManyToMany |
roleType |
Number | Beziehungsrollentyp. Geben Sie einen der folgenden Werte an: - 1:Verweisen - 2:AssociationEntity |
Anmerkungen
Sie sollten diese Methode zum Öffnen der Tabelle oder Schnellerfassungsformulare verwenden anstelle der veralteten Methoden Xrm.Utility.openEntityForm und Xrm.Utility.openQuickCreate.
Verwenden Sie setActiveProcess, um einen bestimmten Geschäftsprozess anzuzeigen, und setActiveProcessInstance, um eine bestimmte Geschäftsprozessinstanz im Formular anzuzeigen.
Beispiele
Beispiel 1: Öffnen Sie ein Formular für vorhandenen Datensatz
Der folgende Beispielcode öffnet ein Kontaktformular, um einen vorhandenen Kontakt anzuzeigen:
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["entityId"] = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee";
// Open the form.
Xrm.Navigation.openForm(entityFormOptions).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
Beispiel 2: Öffnen Sie ein Formular für einen neuen Datensatz
Der folgende Beispielcode öffnet ein Formular mit einigen voraufgefüllten Werte, um einen neuen Datensatz zu erstellen:
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
Beispiel 3: Ein Formular für einen neuen Datensatz öffnen (komplexes Lookup)
Der folgende Beispielcode öffnet ein Aktivitätsformular mit einigen vordefinierten Werten (einschließlich eines komplexen Nachschlagevorgangs), um einen neuen Datensatz zu erstellen:
var entityFormOptions = {};
entityFormOptions["entityName"] = "email";
// Set default values for the Contact form
var formParameters = {};
formParameters["subject"] = "Sample";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["regardingobjectid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["regardingobjectidname"] = "Admin user"; // Name of the user.
formParameters["regardingobjectidtype"] = "systemuser"; // Table name.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
Beispiel 4: Öffnen Sie das Schnellerfassungsformular
Der folgende Beispielcode öffnet ein Formular mit einigen voraufgefüllten Werte, um einen neuen Datensatz zu erstellen:
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["useQuickCreateForm"] = true;
// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
formParameters["preferredsystemuseridtype"] = "systemuser"; // Table name.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});