Neues Thema starten

Filterbedingung "hat Bestand in keinem von zwei möglichen Lagern"?

Hallo Synesty,

ich steh grad bisschen auf dem Schlauch wie ich folgenden Filter umgesetzt bekomme:


Ich habe die beiden Spalten netStock_Thale_1 und netStock_Thale_2 (die ziehen sich ihren Wert per parseField aus VariationStocksNetto), und enthalten entweder eine Zahl, oder sind leer.


Ich brauch jetzt einen Filter der nur greift, wenn der Artikel in keinem der beiden Lager mehr Bestand hat. Um aber auf "Bestand < 1" prüfen zu können, darf die Spalte nicht leer sein, sonst wirfts nen Fehler.


Deshalb fällt mir egtl nicht sinnvolleres ein als wie folgt zu prüfen:

(netStock_Thale_1!?trim == '' || netStock_Thale_1!?number < 1)

 Klappt für ein Lager auch wunderbar als "kein Bestand". Wenn ich jetzt aber das zweite Lager auch in die Bedingung aufnehme (Filter_1 && Filter_2), dann triggert mir das jetzt auch wenn das eine Lager Bestand hat und das andere leer ist:

(netStock_Thale_1!?trim == '' || netStock_Thale_1!?number < 1) && (netStock_Thale_2!?trim == '' || netStock_Thale_2!?number < 1)

 

Steh ich aufm Schlauch, oder ist die Lösung non-trivial?


Am sinnigsten erscheint mir noch zwei Hilfsspalten einzuführen ("hatBestand_1+2"), dort als Skript den Filter für ein Lager einzufügen, so dass in der Spalte sicher 1 oder 0 stehen muss. Und dann einfach darauf Filtern dass beide Spalten = 0 sind.


Jemand ne elegantere Idee?

1 Kommentar

Hallo,


ich glaube dein Vorschlag Hilfsspalten zu erstellen wäre in dem Fall die simpelste Lösung.


Würde dann für die Beiden Spalten wie folgt aussehen:


<#if result['netStock_Thale_1']!?trim == '' || (result['netStock_Thale_1']!?number < 1)>0<#else>1</#if>
<#if result['netStock_Thale_2']!?trim == '' || (result['netStock_Thale_2']!?number < 1)>0<#else>1</#if>


Filter: (hatBestand_1!?trim == '0' && hatBestand_2!?trim == '0')


Mit freundlichen Grüßen,


Synesty-Support



1 Person gefällt dies
Anmelden um einen Kommentar zu veröffentlichen