Öffne View (Formulardesigner)
Aktionen - Kurzfassung
Öffnet eine View, an die Formulardaten, eine Referenz auf die ID einer Entität bzw. eine Suche oder geeignete Sucheinschränkung (s. Einschränkungen) übergeben werden können, und wartet optional auf die Rückgabe eines Datenobjekts bzw. das Schließen der View.
Siehe auch: Öffne View (Aktion)
Die Aktion Öffne View (Formulardesigner) öffnet eine View, an die Formulardaten, eine Referenz auf die ID einer Entität bzw. eine Suche oder geeignete Sucheinschränkung (s. Einschränkungen) übergeben werden können, und wartet optional auf die Rückgabe eines Datenobjekts bzw. das Schließen der View.
Abhängig vom Typ des Eingabewerts, dem Typ der zu öffnenden View (Detailansicht, Übersicht, Kombinierte Ansicht) und der Parametrierung ergeben sich zahlreiche Varianten für die Nutzung von Öffne View (Aktion), die im Abschnitt "Konfiguration" systematisch erläutert werden.
Wenn das Schließen der geöffneten View abgewartet werden und ggf. ein Rückgabewert aus der View verarbeitet werden soll, muss für den Parameter Verhalten nach Schließen ausführen ein Verhalten angegeben werden, das die Folgeprozesse einleitet.
Views sind Erfassungsmasken, Übersichten (inkl. Eigene Übersichten), Portale, Dashboards oder andere vom System bereitgestellte Ansichten (z. B. im Menüpunkt Verwaltung).
►HINWEISE◄
Views können alternativ im Kontext von Ereignisbehandlungen oder per Client Workflow über die Öffne View (Aktion)-Ereignisaktion geöffnet werden.
Spezifische Konfigurationsmöglichkeiten für Portale unterstützt die ansonsten analog strukturierte Aktion Öffne Portal bzw. die Ereignisaktion Öffne Portal (Aktion) .
Konfiguration
Die Konfiguration der Aktion Öffne View (Aktion) deckt vielfältige Anwendungsszenarien ab und bietet deshalb zahlreiche Parameter an. Diese werden nachfolgend tabellarisch und gruppiert nach Schwerpunkten vorgestellt.
Auswahl der zu öffnenden View |
|
Die zu öffnende View kann auf zwei unterschiedlichen Wegen adressiert werden:
►HINWEIS◄ Wenn der View- oder Menüknotenname zur Laufzeit variabel gehandhabt werden soll (z. B. per Berechnen-Verhalten), kommt nur der zweite Weg in Frage. Der Parameter View- oder Menüknotenname selbst interpretiert keine Berechnungsausdrücke. Eine View wird nur geöffnet, wenn ...
Ob die folgenden Beispielwerte als View- oder Menüknotennamen funktionieren, hängt teilweise zusätzlich davon ab, welche Module von Lobster_pro lizenziert sind:
|
Statische Definition der zu öffnenden View Der Viewname für die Erfassungsmaske für Benutzer ist als statischer Text definiert:
Dynamische Definition der zu öffnenden View Der Viewname wird per Berechnungsausdruck in einem Berechnen-Verhalten so aufgebaut, dass Öffne View (Aktion) abhängig vom Wert eines Checkbox-Elements (hier: $el(11)) eine Erfassungsmaske für Benutzer oder für Gastbenutzer öffnet. Der "berechnete" Textabschnitt ist in den folgenden Viewnamen hervorgehoben:
►WICHTIG◄ Der Eingabewert wird nur als View- oder Menüknotenname berücksichtigt, wenn für den Parameter selbst kein statischer Text vorliegt. |
Wenn eine View nicht geöffnet werden kann, tritt kein Fehler (Process Exception) auf, sodass nachfolgende Aktionen und Verhalten ausgeführt werden. Allerdings gilt das nicht für einen optional per Verhalten bei Schließen ausführen anzustoßenden Folgeprozess. Dieser entfällt, wenn keine View geöffnet wird, denn dann wir auch keine View geschlossen. Wie kann man den Viewnamen und den Menüknotennamen ermitteln? Viewname und Menüknotenname einer bereits geöffneten View können per Klick auf das ?-Symbol rechts oben im Fenstertitel ermittelt werden, wenn gleichzeitig die Tastenkombination STRG+ALT (bzw. CMD+ALT für Mac) gehalten wird. Im Kontext einer Erfassungsmaske für Bestellungen ergibt dies folgende Meldung:
(Textmarkierung nachträglich hinzugefügt) Die erste markierte Zeile definiert den Viewnamen einer Detailansicht (detailsWindow), adressiert also eine Erfassungsmaske für Bestellungen. ►WICHTIG◄ Zum Öffnen einer View darf nicht die Kurzschreibweise aus der Zeile oberhalb verwendet werden, in der anstelle des vollständigen Klassennamens das zugehörige Namespace-Präfix erscheint. Auch die Kontexteinträge mit dem Wildcard-Symbol * sind nicht geeignet, um die View zu adressieren. Die zweite markierte Zeile definiert den Menüknotennamen (order/orderDetails) für dieselbe View, der dem Menüpfad im Hauptmenü ("Bestellungen/Bestelldetails") entspricht. ►HINWEIS◄ Der Menüknotennamen erscheint hier nicht, wenn eine View nicht über die Hauptmenüleiste geöffnet wurde, sondern z. B. per Öffne View (Formulardesigner) oder per Klick auf eine Funktion im Ribbon ("Neu" oder "Bearbeiten") in einer Übersicht. Dann besteht auch kein Zugriff auf Hilfethemen (s. Online Hilfen), die mit dem Menüknotennamen verknüpft sind. |
|
Datenzuweisung für die zu öffnende View |
|
Während im Kontext einer Öffne View (Aktion)-Ereignisaktion die ggf. zuzuweisenden "Formulardaten" für die zu öffnende View direkt über eine Wert-Konfiguration bereitgestellt werden können, greift im Kontext der Öffne View (Formulardesigner)-Aktion abhängig von der Methode zur Auswahl der zu öffnenden View (s. oben) eine der nachfolgenden Alternativen für die Datenzuweisung:
Der Effekt einer Datenzuweisung hängt von mehreren Faktoren ab:
|
|
Die Beschreibung für die folgenden Fälle beruht auf der Annahme, dass die Option Laden erzwingen abgewählt ist (Standard). |
|
|
|
Wird die Option Laden erzwingen ausgewählt, dann werden sowohl komplexe Datenobjekte als auch simple Werte direkt an die geöffnete View zugewiesen, sofern es sich nicht um eine Suche oder "Sucheinschränkung" (s. o.) handelt. |
|
Das Auswählen der Option Laden erzwingen ermöglicht so etwa das Zuweisen eines Client-Objekts (als Beispiel für ein komplexes Datenobjekt) an ein Portal. Ist Laden erzwingen nicht ausgewählt, wird in dieser Konstellation sonst versucht, aus dem komplexen Datenobjekt das designierte Datenfeld (bzw. das Standardfeld id) zu lesen. Sofern dieser Zugriff einen Rückgabewert vom Typ Long liefert oder in einen Long-Wert umgewandelt werden kann, wird dieser Wert dem id-Feld in einem eigens erzeugten Client-Objekt zugewiesen, das an die View (hier: Portal) übergeben wird. |
|
Datenrückgabe aus der View (optional) |
|
►WICHTIG◄ Die Ereignisaktion Öffne View (Aktion) kann verwendet werden, um beim Öffnen einer View die Ereignisbehandlung im Aufrufkontext anzuhalten, bis die geöffnete View geschlossen wird oder eine maximale "Wartezeit" abläuft. Die Öffne View (Formulardesigner)-Aktion unterstützt diese Vorgehensweise nicht. Die Ausführung nachfolgender Aktionen innerhalb des aufrufenden Verhaltens kann nicht aufgehalten werden. Stattdessen kann ein Verhalten angegeben werden, das beim Schließen der geöffneten View ausgeführt wird. Eine maximale "Wartezeit" ist nicht vorgesehen. Der optionale Parameter Verhalten nach Schließen ausführen benennt das Verhalten, das beim Schließen der geöffneten View ausgeführt werden soll. Per Standard ist kein Verhalten ausgewählt. Eine Datenrückgabe aus der geöffneten View kann nur die Aktion Schließen anfordern veranlassen, auf die nur im Kontext eines Verhaltens in einem Formular Zugriff besteht. Die Datenrückgabe kann also nur aus einer View erfolgen, die ein Formular ist (Erfassungmaske, Portal, Dashboard) oder beinhaltet (Kombinierte Ansicht). Aus einer einfachen Übersicht ohne Detailbereich kann kein Rückgabewert übergeben werden. Trotzdem kann ein Verhalten ausgewählt werden, das nach dem Schließen der Übersicht ausgeführt wird. |
Per Standard listet das Dropdown für den Parameter Verhalten nach Schließen ausführen nur die Verhaltensnamen auf, die für das Formularelement mit dem aufrufenden Verhalten definiert sind. Um ein Verhalten für ein anderes Formularelement innerhalb desselben Formulars auswählen und ausführen zu können, muss vorher das betreffende Element als Zielelement für die Aktion Öffne View (Formulardesigner) verknüpft werden. Per Standard ist Kein Zielement verlinkt. Die Zielelement-Verknüpfung ist - wie üblich - an erster Stelle unter den Eigenschaften der Aktion zu finden. Der Bearbeitungsmodus für die Verknüpfung wird per Mausklick aktiviert.
|
Anzeigeverhalten der View |
|
►HINWEIS◄ Die Option Laden erzwingen betrifft nicht das "Anzeigeverhalten der View" sondern die "Datenzuweisung für die zu öffnende View" (s. oben). |
|
Wenn die Option Modal nicht ausgewählt ist (Standard), soll soll die View als eigenständige View geöffnet werden. Dann entscheidet die Option Nur eine Instanz , ob die View auch dann geöffnet wird, wenn schon (mindestens) eine Instanz der View nicht-modal - also als eigenständige View - geöffnet ist. Ist die Option Modal ausgewählt, wird die View beim Öffnen innerhalb der aktuellen View angezeigt. Die Option Nur eine Instanz wird dann nicht beachtet. In der Konfiguration erscheinen außerdem zusätzliche Optionen:
|
|
Beispiele
Einfacher Anwendungsfall: Erfassungsmaske für "Besitzer"-Firmenkonto öffnen
In einer Erfassungsmaske für eine beliebige Entität (hier: "Bestellung") sollen beim Anklicken des schreibgeschützt angezeigten Auswahlfeld/Combobox-Elements für den "Besitzer" (ownerId) eine Erfassungsmaske mit den Detaildaten des betreffenden Firmenkontos geöffnet werden. Die Firmenkonto-Maske soll innerhalb der aufrufenden View modal als Vollbild mit "Zurück"-Button geöffnet werden.
Konfiguration:
Der Screenshot rechts zeigt die Editor-Ansicht einer Erfassungsmaske für Bestellungen, in der das Auswahlfeld/Combobox-Element für das Feld "Besitzer" (ownerId) selektiert ist. In der Eigenschaften-Leiste (rechts) ist der "Verhalten"-Tab ausgewählt, der ein Verhalten mit dem Verhaltensnamen "click" zeigt:
|
|
►ANMERKUNG◄ Per Standard erfolgt die Pflege von Firmenkonten über eine "Kombinierte Ansicht", in der die Standard-Erfasssungsmaske in Verbindung mit einem Datengrid verwendet wird. Ein eigener Menüpunkt zum Öffnen einer Erfassungsmaske für Firmenkonten erscheint daher nicht. Über den Viewnamen de.lobster.scm.base.company::CompanyAccount|detailsWindow kann eine reine Erfassungsmaske trotzdem direkt geöffnet werden.
Komplexerer Anwendungsfall: Übersicht mit direkt untergeordneten Firmen öffnen
In einer Erfassungsmaske für Firmen soll ein Button angeboten werden, über den "Direkt untergeordnete Firmen" als Liste in einer modal geöffneten Übersicht angezeigt werden können.
Konfiguration:
Für den Button "Direkt untergeordnete Firmen" ist mit dem Verhaltensnamen "childCompanies" das folgende Verhalten konfiguriert:
|
|
|
Der Screenshot rechts zeigt die Konfiguration für den Client Workflow:
►ANMERKUNG◄ Diese Einfache Feld-Einschränkung gilt als erfüllt, wenn die ID der Entität in der übergeordneten View in der Liste von IDs im Feld parentCompanies enthalten ist. Insofern listet die geöffnete View ausschließlich die "direkt untergeordneten Firmen" auf. |
|