In Serviceeinträgen enthalten?
Siehe auch: Datenservice Update, Hole Serviceeinträge
Die Verhaltensweise In Serviceeinträgen enthalten ermittelt, ob der als Eingabedaten ($input) vorliegende Wert in den aktuellen Servcieeinträgen eines Elements aus der Gruppe der Listenelemente enthalten ist.
Ist kein Element verknüpft, dann werden die Serviceeinträge des ausführende Elements ausgewertet.
Ist ein Element verknüpft, dann werden die Serviceeinträge des verknüpften Elements ausgewertet.
Falls das betreffende Element zur Gruppe der Listenelemente gehört und der als Eingabedaten ($input) vorliegende Wert in den aktuellen Servcieeinträgen enthalten ist, wird dieser Wert an die Aktionen bei "wahr" übergeben.
Falls das betreffende Element nicht zur Gruppe der Listenelemente gehört oder der als Eingabedaten ($input) vorliegende Wert nicht in den aktuellen Servcieeinträgen enthalten ist, wird dieser Wert an die Aktionen bei "falsch" übergeben.
►WICHTIG◄ Die Verhaltensweise berücksichtigt lediglich die aktuell vom Datenservice lokal in das Element geladenen Einträge. Soweit die Service-Konfiguration Einstellungen bzgl. Paging ("Max. Ergebnisse" pro geladene Seite), Sucheinschränkungen usw. vorsieht, beeinflussen diese unter Umständen den Rückgabewert. Stabile Ergebnisse sind nur zu erwarten, wenn ein Datenservice verwendet wird, der kein Paging verwendet sondern immer alle konfigurierten Einträge "statisch" bereitstellt (z. B. auf der Basis einer Dynamischen Aufzählung).
Beispiel
Eine Erfassungsmaske für Bestellungen sieht vor, dass in einem speziellen Textattribut ("Gewählte Preisliste") der Bestellung ein eindeutiger Bezeichner für die anzuwendende Preisliste angegeben wird. Die Auswahl der Preisliste erfolgt über ein per Button (s. "Weltkugel"-Symbol) modal geöffnetes Portal, das hier nicht im Detail vorgestellt werden soll. Jede Preisliste gilt nur für ein bestimmtes Vertriebsgebiet, das über eine Positivliste von Ländern definiert ist. Entsprechende Abhängigkeiten regeln im Beispiel Aufzählungsfilter für die Dynamische Aufzählung Land in Verbindung mit Zuordnungskriterien. Im Kontext der Bestellerfassung weisen die Zuordnungskriterien abhängig vom aktuellen Wert für das Textattribut "Gewählte Preisliste" einen bestimmten Dynamischen Aufzählungsfilter zu, der dann die Auswahlmöglichkeiten für das Land (im Auswahlfeld/Combobox "Länder-Kz") innerhalb der "Auftraggeber-Adresse" passend zur gewählten Preisliste einschränkt.
Laufzeit-Beispiel:
Die hier ausgewählte Preisliste "DACHL_2020" gilt - wie der Name nahelegt - für die Länder Deutschland (DE), Österreich (AT), Schweiz (CH) und Liechtenstein (LI).
Als Auftraggeber wurde eine Adresse in der Schweiz ausgewählt, die konform mit den Einschränkungen für die "Gewählte Preisliste" ist, wie das im Screenshot aufgeklappte Dropdown veranschaulicht.
Für die direkte Eingabe einer neuen Auftraggeber-Adresse kann aufgrund des Dynamischen Aufzählungsfilters also nur ein Land ausgewählt werden, das für das eine vorher ausgewählten Preisliste gilt. Allerdings erzwingt die Maske nicht, dass die Auswahl der Preisliste vor der Angabe eines Auftraggebers erfolgt. Sie verhindert auch nicht, dass nach der Angabe eines Auftraggebers eine andere Preisliste zugewiesen wird. Außerdem unterstützt das für die Auftraggeber-Adresse verwendete Aufklappbar (Expandable)-Element neben der Eingabe einer Adresse auch die Auswahl existierender Adressbucheinträge per Dropdown. Daher kann es - wie im folgenden Beispiel - vorkommen, dass ein Land im Feld "Länder-Kz" einer Auftraggeber-Adresse erscheint, für das die "Gewählte Preisliste" nicht gilt:
Hier wurde anstelle der im vorigen Beispiel eingegebenen Adresse ein Auftraggeber aus dem Adressbuch ausgewählt, der in Belgien ansässig ist.
Die Restriktion durch die Preisliste "DACHL_2020" greift nach wie vor, wie das im Screenshot aufgeklappte Dropdown zeigt. Allerdings wirkt der Dynamische Aufzählungsfilter nur auf die auswählbaren Länder (Serviceeinträge), verhindert aber nicht, dass das Land "Belgien" gemäß dem ausgewählten Adressbucheintrag als "Länder-Kz" zugeordnet wird.
Ohne weitere Vorkehrungen ist eine unpassende Kombination von "Gewähle Preisliste" und "Länder Kz" nur erkennbar, wenn sowohl das Aufklappbar (Expandable)-Element als auch das Dropdown für das "Länder Kz" geöffnet werden. Wie im folgenden Screenshot gezeigt, soll ein entsprechender Hinweistext für die Elemente "Auftraggeber-Adresse" und "Länder-Kz" genau dann erscheinen, wenn eine unpassende Kombination vorliegt:
Konfiguration:
Hier wird nur die Konfiguration bzgl. der Hinweistexte beschrieben, für die die Verhaltensweise In Serviceeinträgen enthalten? essentiell ist.
|
Als Basis-Mechanismus zum Setzen und Löschen von Hinweistexten wird ein Verhalten "checkCountryPricelist" für das Auswahlfeld/Combobox-Element für das Land ("Länder Kz") wie links abgebildet eingerichtet:
|
|
Der Abgleich zwischen "Preisliste" und "Land" soll nicht nur bei Änderungen für das "Land" (s. o.) ausgeführt werden, sondern auch wenn sich die Optionen (bzw. Serviceeinträge) für das Land ändern, weil eine neue Preisliste ausgewählt wurde. Dazu wird ein weiteres Verhalten "countriesUpdated" für dieselbe Combobox "Länder Kz" angelegt und wie abgebildet konfiguriert:
|