Listenelemente

Listenelemente sind Elemente des Formulardesigners, welche mehrere Objekte gleichen Typs in einem Datenfeld beinhalten. Hier kann, je nach Kontext, Einfach- oder Mehrfachauswahl möglich sein.

Die meisten Listenelemente unterstützen die Definition und Konfiguration eines sogenannten Services. So ein Service dient dem Laden von Daten, welche als Einträge der Liste dargestellt werden oder in Selektionen zur Auswahl stehen.
Ob und wie so ein Service konfigurierbar ist, hängt dabei vom Kontext des Formulars ab. So können beispielsweise Comboboxen für Dynamische Aufzählungswerte in Geschäftsobjektmasken lediglich eingeschlossene und ausgeschlossene Werte definieren, wohingegen Datenobjekt Comboboxen die zugrunde liegende Suche und durchsuchbare Felder konfigurieren können.

Ein Sonderfall hierbei bieten Listenelemente in Portalen, welche im Gegensatz zu Geschäftsobjektmasken einen beliebig gearteten Service hinzufügen und konfigurieren können.

Konfiguration des Service können über die Eigenschaftenkategorie "Einträge und Service" vorgenommen werden.

Unterscheidung verschiedenartiger Datenservices

Statische Datenservices

Ein statischer Datenservice liefert eine statische vorhersehbare Menge an Einträgen. z.B.: Die Werte einer Dynamischen Aufzählung.
Aufgrund der definierten Menge an Einträgen bietet die Eigenschaftenrubrik "Einträge und Service" die Möglichkeit verfügbare Einträge zu definieren. Dabei können Werte ein- und ausgeschlossen werden.

images/download/attachments/44940415/image2020-1-24_15-2-15-version-1-modificationdate-1579877762483-api-v2.png

(1) Die Liste der potentiell verfügbaren Einträge. Über den Haken (erste Spalte) können Einträge explizit ein-/ausgeschlossen werden.
Im Beispiel wurden die Einträge "Microgramm", "Milligramm" und "Nanogramm" explizit abgwählt, so dass sie dem Anwender im Dropdown nicht angeboten werden.

(2) Gibt an, ob Werte, welche in der Zukunft neu hinzugefügt werden automatisch mit eingeschlossen oder ausgeschlossen werden

Im Beispiel oben legt die Option "Neue Werte einschließen" fest, dass bei einer Erweiterung der Dynamischen Aufzählung "Gewicht- & Masseneinheiten" hinzugefügte Einheiten im Dropdown erscheinen sollen, obwohl sie in der Liste der "Aktiven Einträge" aktuell nicht enthalten sind. Alternativ könnte hier "Neue Werte ausschließen" gewählt werden, um hinzugefügte Einträge bis zu einer ausdrücklichen "Aktivierung" auszuschließen.

WICHITG◄ Änderungen an der Konfiguration für "Aktive Einträge" werden im Formular erst wirksam, wenn abschließend der Button "Eintragskonfig. anwenden" (3) gedrückt wird.

Steuerung der Kombination von Dynamischen Aufzählungsfiltern

Im Falle einer Dynamischen Aufzählung als Datenservice, wird zusätzlich ein Feld "Aufzählungsfiltermodus" eingeblendet.

images/download/attachments/44940415/image2020-1-24_15-14-52-version-1-modificationdate-1579877762480-api-v2.png

Dienen Dynamische Aufzählungen als Datenbases, können im aktuellen Datenkontext relevante Dynamische Aufzählungsfilter , für die jeweilige Aufzählung, die Auswahloptionen im Dropdown beeinflussen. Jeder dieser Filter definiert eine bestimmte Teilmenge aus allen Einträgen einer bestimmten Dynamischen Aufzählung. Ob ein bestimmter Filter grundsätzlich "anwendbar", also im aktuellen Datenkontext relevant ist, hängt neben dem Typ der Dynamischen Aufzählung zunächst davon ab, ob eines der in seiner Konfiguration zugewiesenen Zuordnungskriterien trifft. Dabei können mehrere Aufzählungsfilter gleichzeitig relevant sein. Wie damit aus Sicht der zugreifenden Combobox umgegangen werden soll, regelt der Konfigurationsparameter "Aufzählungsfiltermodus" mit drei Wahlmöglichkeiten (keine Auswahl, UND, ODER).


Aufzählungsfiltermodus

Auswirkung

keine Auswahl
(Standard)

Soweit überhaupt ein Dynamischer Aufzählungsfilter relevant ist, wird genau der eine Filter mit der höchsten Priorität hinsichtlich der zutreffenden Zuordnungskriterien berücksichtigt.
Nur die laut diesem Filter als eingeschlossen definierten Einträge aus der Dynamischen Aufzählung erscheinen im Dropdown.

UND

Sämtliche relevanten Dynamischen Aufzählungsfilter werden berücksichtigt und im Dropdown erscheinen nur Einträge, die in ALLEN Filtern eingeschlossen sind.
Es wird also eine Schnittmenge aus den über die anwendbaren Filter definierten Teilmengen gebildet bzw. deren Auswahlkriterien werden UND-verknüpft.

ODER

Sämtliche relevanten Dynamischen Aufzählungsfilter werden berücksichtigt und im Dropdown erscheinen ALLE Einträge, die in mindestens einem dieser Filter eingeschlossen sind.
Es wird also eine Vereinigungsmenge aus den über die anwendbaren Filter definierten Teilmengen gebildet bzw. deren Auswahlkriterien werden ODER-verknüpft.

Konkretes Beispiel:

  • Dynamische Aufzählung "Transportmittel" mit den Optionen "Auto", "Lastwagen", "Schiff", "Fahrrad"

  • Dynamischer Filter 1: eingeschlossen sind "Auto", "Lastwagen"

  • Dynamischer Filter 2: eingeschlossen sind "Schiff", "Lastwagen"


Wir nehmen an, dass Zuordnungskriterien beider Filter zutreffen:

Aufzählungfiltermodus ODER: Beide Teilmenegen ({Auto, Lastwagen} und {Schiff, Lastwagen}) werden vereint: Auto, Lastwagen, Schiff

"Ist Teil der Aufzählung, wenn das Element in Filtermenge 1 ist, ODER wenn es in Filtermenge 2 ist."

Aufzählungsfiltermodus UND: Beide Mengen werden gegeneinander geschnitten: Lastwagen

"Ist Teil der Aufzählung, wenn das Element in Filtermenge 1 ist, UND wenn es in Filtermenge 2 ist."

Datenobjekt Services

Ein Datenobjekt Service beschafft die Einträge des Listenelements indem er eine konfigurierte Suche ausführt. Zusätzlich kann hier auch noch die Beschriftung der Einträge definiert werden. Da in Auswahlboxen Werte ausgewählt sein können, deren Beschriftung (Label) eigentlich noch nicht berechnet werden kann, da der Eintrag noch nicht im Suchergebnis der Eintragliste vorkommt, werden Datenobjekt Services auch "Label Helper Services" genannt.

images/download/attachments/44940415/image2020-1-24_15-56-6-version-1-modificationdate-1579877768465-api-v2.png

Im Falle eines Datenobjekt Service können keine eingeschlossenen oder ausgeschlossenen Einträge definiert werden, da die dargestellte Menge, aufgrund von Sucheinschränkungen, nicht statisch ist. Beispielsweise könnte ein anderer Benutzer ein anderes Suchergebnis erhalten.
Die Rubrik "Einträge und Service" stellt daher auch nur den Hinweis "Konfiguration der Einträge nicht verfügbar" dar.
Sehr wohl kann jedoch die Suche selbst konfiguriert werden, indem auf den Knopf mit der Aufschrift "Service Konfiguration" (1) geklickt wird.
Es erscheint ein separater Dialog, welcher die Konfiguration der Suche und der Beschriftung ermöglicht. Dieser ist im Kapitel Label-Helper Konfiguration detaillierter beschrieben.

Um die Suche mit Hilfe von Formulardaten zu parametrisieren kann mit Hilfe des Elementpickers (2) ein Formularelement verknüpft werden, dessen Datenobjektfelder als Variablen in der Servicekonfiguration zur Verfügung stehen.
Achtung: Löst das verknüpfte Element ein "Geändert" Ereignis aus, wird automatisch der Datenservice neu geladen, da sich Parameter geändert haben können. Dies kann bei der Übergabe großer Datenmengen zu Performance-Problemen führen.
Es wird daher empfohlen die Datenübergabe an den Service minimal zu halten. z.B. sollte nicht einfach das ganze Formular an den Service übergeben werden, da dies sehr viele Änderungsereignisse auslöst und große Datenmengen beinhalten kann, welche an den Server übermittelt werden müssen.

Frei definierbare Services (Portal)

Wie bereits angesprochen können die Datenservices in Portalen frei konfiguriert werden. Standardmäßig haben Listenelemente hier keinen Service definiert, bieten aber die Möglichkeit einen solchen hinzuzufügen.

images/download/attachments/44940415/image2020-1-24_15-24-27-version-1-modificationdate-1579877762486-api-v2.png

Durch Drücken auf den oben gezeigten Knopf erscheint eine Auswahlbox zum Festlegen des Servicetyps. Ebenso kann der Service auch wieder entfernt werden (1). Es kann nur ein Service pro Listenelement festgelegt werden.

images/download/attachments/44940415/image2020-1-24_15-27-34-version-1-modificationdate-1579877762488-api-v2.png

(1) Entfernt den Service vom ausgewählten Listenelement

(2) Eine Auswahlbox, welche verschiedenste Services anbietet, welche wiederum in die Kategorien Statische Services und Datenobjekt Services einordenbar sind.

Nach der Auswahl eines Services werden zusätzliche spezifische Konfigurationsfelder eingeblendet. Darunter auch die Art des Datenkonverters, welcher festlegt in welcher Form ein ausgewählter Eintrag in die Elementdaten geschrieben werden soll.

images/download/attachments/44940415/image2020-1-24_15-36-18-version-1-modificationdate-1579877762491-api-v2.png

Eine vollständige Liste der verfügbaren Services und die damit kompatiblen Konverter finden sich im Kapitel Services und Konverter.