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.
Notiz
Um ein Hauptformular als Dialog zu öffnen, verwenden Sie stattdessen die Methode navigateTo . Weitere Informationen finden Sie unter Öffnen des Hauptformulars in einem Dialogfeld mithilfe der Client-API.
Syntax
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);
Parameters
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
entityFormOptions |
entityFormOptions | Ja | Formularoptionen zum Öffnen des Formulars. |
formParameters |
Objekt | 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 |
Funktion | 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 successCallback Funktion wird nur ausgeführt, wenn Sie einen Datensatz in einem Schnellerstellungsformular speichern, das Sie mithilfe der openForm-Methode geöffnet haben. |
errorCallback |
Funktion | Nein | Eine auszuführende Funktion, wenn der Vorgang fehlgeschlagen ist. |
EntityFormOptions-Objekt
Das Objekt enthält die folgenden Werte:
| Name | Typ | 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 |
Suche | 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 |
Anzahl | Nein | Die Höhe des zu öffnenden Formulars in Pixeln. Erfordert die Übergabe des openInNewWindow-Parameters als wahr. |
width |
Anzahl | 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 |
Beziehung | Nein | Definieren eines Beziehungsobjekts, um die zugehörigen Datensätze im Formular anzuzeigen. |
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 | Typ | 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 |
Anzahl | Beziehungstyp. Geben Sie einen der folgenden Werte an: - 0:OneToMany - 1:ManyToMany |
roleType |
Anzahl | Beziehungsrollentyp. Geben Sie einen der folgenden Werte an: - 1:Verweisen - 2:AssociationEntity |
Bemerkungen
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 | Beschreibung |
|---|---|
| Öffnen eines Formulars für vorhandenen Datensatz | Öffnen Sie ein Kontaktformular für einen vorhandenen Datensatz, indem Sie dessen ID angeben. |
| Öffnen eines Formulars für neuen Datensatz | Öffnen Sie ein neues Kontaktformular mit Standardwerten, einschließlich einer Benutzersuche. |
| Öffnen eines Formulars für neuen Datensatz (komplexer Nachschlagevorgang) | Öffnen Sie ein neues E-Mail-Formular mit Standardwerten und eine in Bezug auf die Suche, die den Tabellentyp angibt. |
| Öffnen eines Schnellerstellungsformulars | Öffnen Sie ein Schnellerstellungs-Kontaktformular mit Standardwerten. |
Öffnen eines Formulars für ein vorhandenes Datensatzbeispiel
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);
});
Öffnen eines Formulars für ein neues Datensatzbeispiel
Im folgenden Beispielcode wird ein Kontaktformular mit einigen vorgefüllten Werten geöffnet, 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);
});
Öffnen eines Formulars für neuen Datensatz (komplexe Suche) (Beispiel)
Der folgende Beispielcode öffnet ein Aktivitätsformular mit einigen vorgefüllten 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);
});
Öffnen eines Schnellerstellungsformularbeispiels
Der folgende Beispielcode öffnet ein Schnellerstellungskontaktformular mit einigen vorgefüllten Werten:
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);
});