openForm (Client-API-Referenz)
Öffnet ein Entitätsformular oder ein Schnellerfassungsformular.
Hinweis
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 des Dataflows | 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 führen zu einem 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 wird, wenn der Datensatz im Schnellerstellungsformular gespeichert wird. Dieser Funktion wird ein Objekt als Parameter übergeben. Das Ziel ist ein savedEntityReference -Array mit den folgenden Eigenschaften, um den erstellten oder angezeigten Datensatz 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.HINWEIS: DIESE ANWENDUNG KANN IN EINER UMGEBUNG KONFIGURIERT WERDEN: - Die successCallback -Funktion wird nicht ausgeführt, wenn Sie ein Formular für einen vorhandenen oder einen 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 des Dataflows | 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. Wird dieser Wert nicht angegeben, wird standardmäßig die Befehlsleiste angezeigt. Erfordert die Übergabe des openInNewWindow -Parameters als wahr. |
createFromEntity |
Nachschlagefeld | Nein | Bezeichnet einen Datensatz, der Standardwerte auf der Basis von zugeordneten Spaltenwerten bereitstellt. Das Suchobjekt hat folgende Zeichenfolgeneigenschaften: entityType , id und name (optional). |
openInNewWindow |
Bool | Nein | Gibt an, ob das Formular in einem neuen Fenster oder in einer neuen Registerkarte angezeigt werden soll. Wenn Sie true angeben und keine Werte für Höhe oder Breite angeben, wird das Formular in einer neuen Registerkarte angezeigt. Das Öffnen eines Formulars in einem neuen Fenster oder einer neuen Registerkarte macht das Rendern des Formulars im Vergleich zum Öffnen des Formulars auf derselben Registerkarte langsam; ziehen Sie stattdessen das Öffnen eines Formulars im Hauptdialogfeld für Formulare in Betracht. Diese Eigenschaft wird derzeit für Schnellerfassungsformulare 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 Parameter navbar 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 den Wert von useQuickCreateForm nicht angeben, wird der Standardwert auf false festgelegt. |
Beziehungsobjekt
Das Objekt verfügt über die folgenden Werte.
Name des Dataflows | 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:Referencing - 2:AssociationEntity |
Anmerkungen
Sie sollten diese Methode zum Öffnen der Tabelle oder Schnellerfassungsformulare verwenden anstelle der veralteten Xrm.Utility.openEntityForm und Xrm.Utility.openQuickCreate Methoden.
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"] = "8DA6E5B9-88DF-E311-B8E5-6C3BE5A8B200";
// 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 voraufgefüllten Werten (einschließlich eines komplexen Lookup), 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);
});
Ähnliche Artikel
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).