Zeitfensterbuchung freigeben

Ereignisaktion - Kurzfassung

Zweck: Gibt die durch eine eingeplante Zeitfensterbuchung gebuchten Zeitfenster wieder frei.


images/download/attachments/177913173/image-2024-9-23_14-37-20-version-1-modificationdate-1727095039259-api-v2.png

Die Ereignisaktion Zeitfensterbuchung freigeben erwartet als Bezugsobjekt eine Entität des Typs "Zeitfensterbuchung", deren vorliegende Buchung aufgehoben bzw. "freigegeben" werden soll.

Sofern die als Bezugsobjekt vorliegende Zeitfensterbuchung aktuell überhaupt als "gebucht" gilt, verläuft die Freigabe analog zum interaktiven "Freigeben" einer Zeitfensterbuchung im Kontext der Buchungsübersicht:

  • Alle Felder der Zeitfensterbuchung, die im Zug der Buchung gesetzt wurden, werden gelöscht. Der Bezug zum als "Bucher" registrierten Benutzer, der zugeordneten Ladestelle und den belegten Zeitfenstern gehen dadurch verloren.

  • Vorher wird noch das Ereignis "Buchung aufheben" (s. Zeitfenstermanagement (Ereignisse)) mit dem Bezugsobjekts als Eingabewert ausgelöst. In diesem Kontext stehen die Buchungsdaten noch zur Verfügung, so dass z. B. der "Bucher" gezielt über die Freigabe benachrichtigt werden kann.

Konfiguration

Die Zeitfensterbuchung, die freigegeben werden soll, muss als Bezugsobjekt für die Ereignisaktion vorliegen.

HINWEIS◄ Liegt als Bezugsobjekt eine Entität eines anderen Typs vor, passiert nichts. Es wird auch keine Fehlermeldung ausgegeben.

Die Ereignisaktion verwendet keine Parameter.

Beispiel

Per Klick auf einen einen Ribbon-Button soll in einer Übersicht für Ladestellen die zuvor ausgewählte Ladestelle "ausgeplant" werden können.

Technisch müssen zu diesem Zweck alle Zeitfensterbuchungen freigegeben werden, die sich auf den betreffenden Ladeplatz und einen Buchungszeitraum in der Zukunft beziehen.

Konfiguration:

Ein Eigenes Aktionsevent "Ladestelle ausplanen" wird zu diesem Zweck neu angelegt und dann als Auslösendes Ereignis in einer Ereignisbehandlung hinzugefügt, die wie rechts abgebildet konfiguriert wird:

  • Die Prüfende Regel stellt über eine Typprüfung sicher, dass als Eingabewert eine Entität vom Typ "Ladeplatz" vorliegt.


  • Unter den Aktionen bei bestandener Regel wird zunächst eine Suche (Ereignisaktion) ausgeführt, die über eine "Suche" alle relevanten Entitäten vom Typ "Zeitfensterbuchung" ermittelt, für die Lesezugriff besteht. Das Ergebnis der Suche wird als "Suchwert" in die Variable futureBookings geschrieben. Weitere Details zur Suche sind weiter unten ersichtlich.

  • Sofern die Suche (Ereignisaktion) relevante Treffer liefert, liegen diese in der Variablen futureBookings anschließend als Liste von Zeitfensterbuchungen vor. Auf diese Liste wird in einer Für jeden Eintrag wiederholen (Schleife)-Ereignisaktion über einen Variable-Wertauflöser zugegriffen.

  • Innerhalb der Schleife liegt damit in jeder Iteration eine andere Zeitfensterbuchung als Bezugsobjekt vor, mit dem die Ereignisaktion Zeitfensterbuchung freigeben ausgeführt werden kann, um die zukünftigen Zeitfensterbuchungen Schritt für Schritt freizugeben.

images/download/attachments/177913173/image-2024-9-24_9-23-58-version-1-modificationdate-1727162637761-api-v2.png

Die Ansicht rechts zeigt die Suche (Ereignisaktion) aufgeklappt, die wie folgt konfiguriert wurde:

  • Per Ergebnis speichert als wird der Variablenname futureBookings für die Rückgabe der Ergebnisse definiert.

  • Der Modus "Ergebnisliste" legt fest, dass das Ergebnis eine einfache Liste von Objekten sein soll.

  • Mit der Auswahl von "Suche" für Suche steht fest, dass das Ergebnis eine Liste von Objekten des unter Entität ausgewählten Typs sein soll.

  • Als Bedingung dient eine UND-Verknüpfung von zwei Einschränkungen vom Typ Feld Einschränkung:

    • Die erste Feld Einschränkung verlangt eine Übereinstimmung zwischen dem Rückgabewert der Feldprojektion für das Feld bookedLoadingPlaceId der Zeitfensterbuchung mit dem Feld id des Ladeplatzes, der als Bezugsobjekt anliegt.

    • Die zweite Feld Einschränkung vergleicht den Wert aus der Feldprojektion für das Feld bookedRange der Zeitfensterbuchung mit dem Rückgabewert eines Relativer Datumsbereich mit Zeit-Wertauflösers, der das benutzerdefinierte Intervall "In der Zukunft" auf der Basis der Systemzeit spezifiziert.

ANMERKUNG◄ Mit dieser Konfiguration werden Zeitfensterbuchungen freigegeben, für die mindestens das Ende des gebuchten Intervalls (bookedRange) noch in der Zukunft liegt.

images/download/attachments/177913173/image-2024-9-24_9-56-11-version-1-modificationdate-1727164571136-api-v2.png