Neu If Formel Ausgabe Zeichenkette

vroni

Aktives Mitglied
30. Oktober 2021
2
0
Hier ist ein Vorschlag für deinen Forumsbeitrag:

Hallo zusammen,
ich stehe vor einem Problem in JTL Wawi und hoffe, dass mir jemand weiterhelfen kann. Ich möchte, dass bei einer Lieferadresse mit der ISO ES (Spanien) ein bestimmter Wert ausgegeben wird. Mein Ansatz war folgender:

If(Vorgang.Auftrag.Lieferadresse.Land.ISO = 'ES',"EVN: XXX","")

Allerdings erwartet JTL Wawi hier einen Boolean als Ausgabewert und keine Zeichenkette. Hat jemand eine Idee, wie ich das Problem lösen kann? Gibt es eine Möglichkeit, den gewünschten Wert auszugeben, ohne dass ein Boolean erwartet wird?

Vielen Dank im Voraus für eure Hilfe!

Beste Grüße
 

no80

Sehr aktives Mitglied
28. Juni 2023
690
81
Hier ist ein Vorschlag für deinen Forumsbeitrag:

Hallo zusammen,
ich stehe vor einem Problem in JTL Wawi und hoffe, dass mir jemand weiterhelfen kann. Ich möchte, dass bei einer Lieferadresse mit der ISO ES (Spanien) ein bestimmter Wert ausgegeben wird. Mein Ansatz war folgender:



Allerdings erwartet JTL Wawi hier einen Boolean als Ausgabewert und keine Zeichenkette. Hat jemand eine Idee, wie ich das Problem lösen kann? Gibt es eine Möglichkeit, den gewünschten Wert auszugeben, ohne dass ein Boolean erwartet wird?

Vielen Dank im Voraus für eure Hilfe!

Beste Grüße
Cond( [Bedingung], [THEN-Inhalt] , [ELSE-Inhalt])
 

frankell

Sehr aktives Mitglied
9. September 2019
2.612
800
Flensburg
Leude, habt Ihr Euch den Code überhaupt angeschaut? :D

Der ist ok. Und was macht Cond bitte anders als If?

Anhand der Fehlermeldung kann ich mir eher vorstellen, dass der Code versehentlich bei der Darstellungsbedingung eingegeben wurde.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.372
2.549
Berlin
Firma
css-umsetzung

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.372
2.549
Berlin
Firma
css-umsetzung
Ja hast recht :(, aber == geht auch

Ihh ist das eine hässliche Vorgehensweise :) ,
schon allein das ich in der if Abfrage gleich die Ausgabe gestalten kann, habe ich so echt noch nie verwendet.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.372
2.549
Berlin
Firma
css-umsetzung
Aber dann ist letztendlich der Type des Feldes, welches er verwendet verkehrt und der Fehler bezieht sich auf die Ausgabe die da kommt.

DotLiquid ist auch schlimm, keine Frage ist eben nervig, mehrmals am Tag zwischen den ganzen Anwendungen zu springen (JS/PHP/DotLiquid/L&L und was es da noch so alles gibt)
 

frankell

Sehr aktives Mitglied
9. September 2019
2.612
800
Flensburg
Aber dann ist letztendlich der Type des Feldes, welches er verwendet verkehrt und der Fehler bezieht sich auf die Ausgabe die da kommt.

Wie oben schon gesagt, der Kontext ist entscheidend. Ist der Code in einem weiteren If eingebettet, kann das die Ursache sein. Oder halt wie gesagt, wenn der Code versehentlich in der Darstellungsbedingung eingegeben wurde, wo halt ein Boolean erwartet wird. Aber das kann nur @vroni aufklären.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.372
2.549
Berlin
Firma
css-umsetzung
Wie schon angesprochen, es liegt nicht daran, wie du deine Abfrage gestaltest, es liegt an dem, was die Ausgabe erfordert.
du übergibst mit deinen Abfragen einen text, als Ausgabe ist aber wegen dem Feld Typen true oder false gefordert.

Du benutzt also für deine Ausgabe, das falsche Feld, von daher sind deine Informationen nicht ausreichend, an welcher Stelle du das genau verwenden möchtest.

Deine Abfrage selbst funktioniert wie du hier sehen kannst (ich habe deine Variable der einfachhalber gegen den Wert getauscht)

2025-04-11 14 23 45.png
 

John

Sehr aktives Mitglied
3. März 2012
3.995
991
Berlin
Wenn das in eine Darstellungsbedingung soll, muß TRUE oder FALSE zurück gegeben werden

Code:
Cond(Vorgang.Auftrag.Lieferadresse.Land.ISO="ES", TRUE, FALSE)

Oder

Code:
Cond(Vorgang.Auftrag.Lieferadresse.Land.ISO="ES", FALSE, TRUE)
 

frankell

Sehr aktives Mitglied
9. September 2019
2.612
800
Flensburg
Ja ich verwende es in einer Darstellungsbedingung. Wie ist der Best Practices Ansatz für diese Anforderung?

Dachte ich es mir doch. :D

Es gibt zwei Wege:
  1. Du lässt die Darstellungsbedingung ohne Code, also auf True. Dann wird die Zeile immer angezeigt. In der Zeile gibst Du den vollständigen Code ein, also: Cond(Vorgang.Auftrag.Lieferadresse.Land.ISO = "ES" ,"EVN", "")
  2. Du setzt die Bedingung in die Darstellungsbedingung, also: Vorgang.Auftrag.Lieferadresse.Land.ISO = "ES" Und in die Zeile schreibst Du einfach nur: "EVN"
Beides kommt in Deinem Fall auf dasselbe hinaus. In der zweiten Variante wird die Zeile mit "ES" nur angezeigt, wenn die Darstellungsbedingung erfüllt ist, also wenn Vorgang.Auftrag.Lieferadresse.Land.ISO = "ES" ist.

Ohne das böse zu meinen, aber es fehlt hier am grundsätzlichen Verständnis, dass eine Darstellungsbedingung nichts ausgibt, sondern nur den Wenn-Teil eines Wenn-Dann enthält, um damit ausdrücken zu wollen, dass die gesamte Zeile nur bei Erfüllen des Wenn-Teils ausgegeben wird. Die Zeile selbst enthält nur den Dann-Teil. Kann man aber eben auch zusammengefasst als Wenn-Dann in der Zeile schreiben.

Beide Varianten haben ihre Daseinsberechtigung.
 
Zuletzt bearbeitet: