If Else Condition

Hallo,
ich hoffe jemand kann mir bei einem problem weiterhelfen. Bin kompletter Laie was List Label betrifft habe vor langem etwas javascript benutzt aber auch schon um die 5 Jahre her.

Ich würde gerne eine etwas “komplexere” verschachtelung von if else konditionen einbinden, wo bei einem bestimmten kunden für deren artikel das mhd in TT.MM.JJJJ angezeigt wird, lediglich für 2 ihrer artikel soll das mhd in MM.JJJJ, angezeigt werden - wobei diese Vorlage für andere kunden auch benutzt wird und hier dann das MHD ebenfalls nur in MM.JJJJ angezeigt wird. Das MHD soll zudem auch nur angehängt werden wenn der wert “Ende” in den spezifkiationen des artikels enthalten ist …

Also wonach ich suche ist etwas das dies alles vereint und in einer funktion untergebracht werden kann also so etwas wie:

If (Label.Brand =“Aldi” && Label.ItemNo != “123”, “321”) {
If(Contains(Label.ExpiryPeriod1, “Ende”) {
$(Label.ExpiryDate,4),Right$(left$(Label.ExpiryDate,10),2)+“.”+Right$(Left$(Label.ExpiryDate,7),2) + “.” + Left$(Label.ExpiryDate,4))»
}
}
Else {
If(Contains(Label.ExpiryPeriod1, “Ende”) {
Right$(Left$(Label.ExpiryDate,7),2) + “.” + Left$(Label.ExpiryDate,4)Left$(Label.ExpiryDate,4))»
}
}
}

Wiegesagt bin kompletter laie und benötige list label auch nur sehr selten in meinem falle, wäre nice wenn mir jemand hier weiterhelfen könnte.

Danke
LG

Hallo und Herzlich Wilkommen im List & Label Forum :slight_smile:

Innerhalb von List & Label können If-Bedingungen mit den Designerfunktionen If() oder Cond() verwendet werden. Beide Funktionen sind in Ihrer Funktionsweise identisch:

Cond(, True-Fall, False/Else-Fall)

Du kannst If-/Cond-Abfragen also beliebig ineinander verschachteln was dem ‘Else’ Fall gleich kommt. Ein einfaches Beispiel lautet wie folgt (siehe Designer-Handbuch Kapitel “Übersicht der Funktionen”):

Cond(Even(5), "gerade", "ungerade") 

Das Ergebnis ist “ungerade”.

In deinem Fall müsste die Abfrage ungefähr so lauten (nicht getestet):

If (Label.Brand =“Aldi” && Label.ItemNo != “123”, “321”,
If(Contains(Label.ExpiryPeriod1, “Ende”) , Right$(left$(Label.ExpiryDate,10),2)+“.”+Right$(Left$(Label.ExpiryDate,7),2) + “.” + Left$(Label.ExpiryDate,4),  
If(Contains(Label.ExpiryPeriod1, “Ende”),  Right$(Left$(Label.ExpiryDate,7),2) + “.” + Left$(Label.ExpiryDate,4)Left$(Label.ExpiryDate,4)))

Viele Grüße aus Konstanz

1 Like

Danke schonmal für die Hilfe, werde mir das morgen nochmal genauer ansehen und mich ggf melden ob ich mit diesen Anweisungen erfolgreich war.

Sorry, melde mich etwas später.
Also ich habe bisschen herumprobiert und dein Code hat soweit funktioniert allerdings nur wenn ich bei Label.ItemNo nur 1 wert angebe also sprich != “123”,
Wenn ich != “123”, “321” angebe wird einfach “321” als text ausgegeben.

Soweit bin ich gekommen, hier der funktionierende code
«Cond(Label.Brand =“Aldi”,“Lagerung:”,“Aufbewahrung:”)»
«nullsafe(Label.ExpiryStorage1) + " " + nullsafe(Label.ExpiryPeriod1)»
«nullsafe(Label.ExpiryStorage2) + " " + nullsafe(Label.ExpiryPeriod2)»
«nullsafe(Label.ExpiryStorage3) + " " + nullsafe(Label.ExpiryPeriod3)»
«nullsafe(Label.ExpiryStorage4) + " " + nullsafe(Label.ExpiryPeriod4)»
«If(Label.ItemNo != “1329”,¤If(Contains(Label.ExpiryPeriod4,“Ende”), Right$(Left$(Label.ExpiryDate,7),2) + “.” + ¤Left$(Label.ExpiryDate,4), Right$(Left$(Label.ExpiryDate,10),2) + “.” + Right$(Left$(Label.ExpiryDate,7),2) + “.” + ¤Left$(Label.ExpiryDate,4)))»
«Cond(Label.ChargeNo = " ", “”,“CODE:”)» «Cond(Label.ChargeNo = " ", “”,Label.ChargeNo)»

hab versucht Label.ItemNo =! “123” && Label.ItemNo =! “321” anzugeben, hier kommt allerdings dann die die meldung “syntaxfehler” kann nicht interpretiert werden

Probier mal statt “&&” ein “and” zu verwenden, das sollte klappen. Also

((Label.ItemNo != "123") and (Label.ItemNo != "321))
1 Like

vielen Dank,
and hat zwar nicht funktioniert mit or hat es aber geklappt.

1 Like

Oh, wow that was surprising.