Liste modifizieren / Leeren
Siehe auch: Liste modifizieren / Entfernen, Ist leer (Vergleichstyp)
Die Operation "Leeren" für die Ereignisaktion Liste modifizieren entfernt alle Einträge aus einer bestehenden Liste.
►HINWEISE◄
Eine "geleerte" Liste ist als Datenobjekt immer noch vorhanden (JSON-Abbild: []). Nur die Einträge werden entfernt.
Das "Leeren" des Listenfelds eines Datenobjekts ist daher nicht gleichzusetzen mit dem Zuweisen von "Kein Wert" ($null) zu diesem Feld (s. a. Ist Gleich-Vergleichstyp).
Konfiguration
► HINWEIS ◄ Nach dem Hinzufügen einer Liste modifizieren -Ereignisaktion zu einem Workflow ist per Standard die Operation "Hinzufügen" ausgewählt. Ein Klick auf das Symbol für die Operation öffnet ein Kontextmenü, das die Auswahl einer anderen Operation ermöglicht.
Das Symbol für die Operation "Leeren" ist der Mülleimer (s. Screenshot).
Die Wert-Konfiguration für die zu modifizierende Liste muss zur Laufzeit eine aktualisierbare Liste liefern.
Ohne eine Wert-Konfiguration für die zu modifizierende Liste (links) wird automatisch auf das Bezugsobjekt im Kontext der Liste modifizieren-Ereignisaktion zurückgegriffen.
Ohne Bezug zu einer aktualisierbaren Liste ist die Ereignisaktion wirkungslos.
Hinweise zum selektiven Entfernen von Einträgen
►WICHTIG◄ Falls nicht alle sondern nur bestimmte Einträge aus einer bestehenden Liste entfernt werden sollen, ist die Operation "Leeren" in der Regel ungeeignet.
Wenn es primär darum geht eine bestimmte Teilmenge von gegebenen Listeneinträgen als Liste zu erhalten, kann diese über der Regel-Listen Resolver mit der Option "Alle Werte als Liste" und einem geeigneten Prüfkriterium (s. Regeltypen) gewonnen werden.
Der Rückgabewert ist dann eine Kopie der ursprünglichen Liste, in der alle Einträge fehlen (bzw. "entfernt" erscheinen), die nicht dem Prüfkriterium (s. Regeltypen) entsprechen. Die ursprüngliche Liste bleibt allerdings unverändert.
Regel-Listen Resolver kann allerdings auch verwendet werden, um die zu entfernende Teilmenge der Listeneinträge zu ermitteln und diese in einer Für jeden Eintrag wiederholen (Schleife)-Ereignisaktion per Liste modifizieren / Entfernen zyklisch abzuarbeiten.
Ausnahme:
Einige Wertauflöser für den Zugriff auf Attribute (Attribute (Regeltypen), Plurale Attribute (Wertauflöser), Typisierte plurale Attribute (Wertauflöser)) liefern Listen von Attributen, die eine definierten Teilmenge der Einträge im attributes-Feld des Attributbesitzers darstellen.
Die als Teilmenge zurückgegebenen Attribute können per Liste modifizieren / Leeren pauschal aus der Liste attributes-Feld des Attributbesitzers entfernt werden.
Bei einem anschließenden Speichern des Attributbesitzers (bzw. der direkt oder indirekt übergeordneten Entität) werden die betreffenden Attribute tatsächlich gelöscht.
Auf diesem Weg wird durch die Operation "Leeren" das selektive Entfernen einer Teilmenge von Einträgen aus der Liste aller Attribute erreicht, die durch die Parametrierung des verwendeten Wertauflösers (Attribute (Regeltypen), Plurale Attribute (Wertauflöser), Typisierte plurale Attribute (Wertauflöser)) abgegrenzt wird.
Beispiele
Einfacher Anwendungsfall: "Firmentypen" für kopiertes Firmenkonto zurücksetzen
Beim Kopieren eines bestehenden Firmenkontos (s. Firmen/Mandanten) soll automatisch die im Original vorliegende Mehrfachauswahl für den Firmentyp im Feld "Firmentypen" (types) zurückgesetzt werden, sodass diese Auswahl für die kopierte Instanz bewusst "von Null" getroffen werden muss.
Konfiguration:
Eine Ereignisbehandlung wird wie rechts abgebildet konfiguriert; Als einziges Auslösendes Ereignis ist das Ereignis "Kopieren" (s. Allgemein (Ereignisse)) ausgewählt. Die Prüfende Regel stellt sicher, dass das "Kopieren" eine Entität des Typs "Firmenkonto" (CompanyAccount) betrifft. Als einzige Aktion bei bestandener Regel wird die Liste modifizieren-Ereignisaktion mit der Operation "Leeren" benötigt:
►ANMERKUNG◄ Die Änderung soll nicht gespeichert, sondern nur auf den volatilen Datenstand der Kopie angewendet werden, die beim Kopieren im Kontext einer Erfassungsmaske für Benutzer erscheint. |
|
Besonderer Anwendungsfall: "Adresskontakte" für kopiertes Firmenkonto zurücksetzen
Als Erweiterung zum vorherigen Beispiel sollen beim Kopieren einer Firma nun auch noch alle "Adresskontakte" mit dem Kontakttyp "Mitarbeiter" (EMPLOYEE) aus der Firmenadresse (address) entfernt werden.
Konfiguration:
In der bestehenden Ereignisbehandlung wird die rechts abgebildete Liste modifizieren-Ereignisaktion mit der "Leeren" Operation ergänzt:
|
|
►ANMERKUNG◄ Diese Konfiguration entfernt alle Adresskontakte für "Mitarbeiter" in den Daten der Kopie. Adresskontakte mit einem anderen Kontakttyp erscheinen weiterhin in der Adresse der kopierten Firma.
Die folgende Konfigurationsvariante entfernt sämtliche "Adresskontakte" im kopierten Datenstand:
Die rechts abgebildet Konfiguration soll die vorherige ersetzen.
|
|
►ANMERKUNG◄ Die bestehende Konfiguration kann auch für jeden anderen Attributtyp verwendet werden, so auch für den Pluralen Attributtyp "Kommunikationsinformationen".
Für nicht-typisierte Plurale Attribute (wie die "Kommunikationsinformationen") gibt es außerdem den dedizierten Plurale Attribute (Wertauflöser), der alternativ ebenso eingesetzt werden kann.
Auch wenn Attribute für "Kommunikationsinformationen" immer ein Feld "Typ" (communicationType) beinhalten, kann man mit Liste modifizieren / Leeren nicht alle Attribute für einen Kommunikationstyp (z. B. EMAIL) entfernen.