Neu Durch Zahlungsarten in Auftrag iterieren mit DotLiquid

Berger_

Gut bekanntes Mitglied
1. Februar 2023
130
22
Hallo zusammen,

ich möchte in einem Workflow unter "Aufträge -> Erstellt" durch alle Zahlungsarten eines Auftrags iterieren, allerdings scheint es nicht zu funktionieren.

Ich nutze folgenden Code, wo liegt hier der Fehler? ich habe bisher noch keinen eigenen DotLiquid Code in der Wawi geschrieben:

{% for item in Vorgang.Zahlungen.Zahlungen %}
{%if item.Zahlungsart.Name == 'Guthaben' %} Zahlungsart vorhanden {%else%} Zahlungsart nicht vorhanden {%endif%}
{% endfor %}

Gruß
Berger_
 
Zuletzt bearbeitet:

John

Sehr aktives Mitglied
3. März 2012
3.885
942
Berlin
Die Schleife, die Du da durchläufst, liefert vermutlich die tatsächlich gesetzten Zahlungen (das was du machst, wenn Du den Auftrag als bezahlt markierst) und nicht die hinterlegte Zahlart.
Beides ist ja völlig unabhängig voneinander.

Geh nochmal den Varialenbaum durch. Da muß es eine einzelne Variable gebene, die die Zahlart des Auftrags liefert.
 

Berger_

Gut bekanntes Mitglied
1. Februar 2023
130
22
Die Schleife, die Du da durchläufst, liefert vermutlich die tatsächlich gesetzten Zahlungen (das was du machst, wenn Du den Auftrag als bezahlt markierst) und nicht die hinterlegte Zahlart.
Beides ist ja völlig unabhängig voneinander.

Geh nochmal den Varialenbaum durch. Da muß es eine einzelne Variable gebene, die die Zahlart des Auftrags liefert.
Hi @John,

es ist aber möglich, dass mehrere Zahlungsarten hinterlegt sind oder? Wenn z.B. Guthaben verwendet wurde.

2024-06-06_17h09_04.png

Ich möchte im Prinzip rausfinden wann Guthaben verwendet wurde und über welchen Betrag.

Gruß
Berger_
 

John

Sehr aktives Mitglied
3. März 2012
3.885
942
Berlin
Du vermischt hier mindestens namentlich/logisch "die Zahlungsart", von der es immer nur eine pro Auftrag gibt und "die geleisteten Zahlungen", von denen es mehrere und auch unterschiedliche geben kann.
Das nur zur JTL Begrifflichkeit.

Wenn Du prüfen willst, ob zur Zahlung ein Gutscheint benutzt wurde, ist das Durchsuchen der geleisteten Zahlungen schon richtig.

Wofür wird denn die Schleife benutzt?
Als eine Erweiterte Eigenschaft, die dann auf Wahr/Falsch abgefragt werden soll?
Wenn ja, dann muß der Rückgabetyp der Erweiterten Eigenschaft oben rechts auf BOOLEAN stehen und Deine Schleife muß auch entspchrechend TRUE ausgeben und enden, sobald sie gefunden hat und nur FALSE ausgeben, wenn sie alle Elemente durchlaufen hat, ohne etwas zu finden.
 

Berger_

Gut bekanntes Mitglied
1. Februar 2023
130
22
Du vermischt hier mindestens namentlich/logisch "die Zahlungsart", von der es immer nur eine pro Auftrag gibt und "die geleisteten Zahlungen", von denen es mehrere und auch unterschiedliche geben kann.
Das nur zur JTL Begrifflichkeit.

Wenn Du prüfen willst, ob zur Zahlung ein Gutscheint benutzt wurde, ist das Durchsuchen der geleisteten Zahlungen schon richtig.

Wofür wird denn die Schleife benutzt?
Als eine Erweiterte Eigenschaft, die dann auf Wahr/Falsch abgefragt werden soll?
Wenn ja, dann muß der Rückgabetyp der Erweiterten Eigenschaft oben rechts auf BOOLEAN stehen und Deine Schleife muß auch entspchrechend TRUE ausgeben und enden, sobald sie gefunden hat und nur FALSE ausgeben, wenn sie alle Elemente durchlaufen hat, ohne etwas zu finden.
Habe es jetzt endlich hinbekommen, das DotLiquid ist noch etwas gewöhnungsbedürftig... Danke für den Hinweis mit dem Rückgabetyp! Ich wollte den Betrag extrahieren, so hat es jetzt funktioniert mit Rückgabetyp "Dezimal".

Code:
{% for item in Vorgang.Zahlungen.Zahlungen %}
{%if item.Zahlungsart.Name == 'Guthaben' %} {{ item.Betrag }} {%else%} 0 {%endif%}
{% endfor %}

Man kann hier auch einfach prüfen ob es Guthaben gibt oder nicht indem man den Rückgabetyp auf "Bool" ändert und {{ item.Betrag }} durch True und 0 durch False ersetzt.
 

John

Sehr aktives Mitglied
3. März 2012
3.885
942
Berlin
Habe es jetzt endlich hinbekommen, das DotLiquid ist noch etwas gewöhnungsbedürftig... Danke für den Hinweis mit dem Rückgabetyp! Ich wollte den Betrag extrahieren, so hat es jetzt funktioniert mit Rückgabetyp "Dezimal".

Code:
{% for item in Vorgang.Zahlungen.Zahlungen %}
{%if item.Zahlungsart.Name == 'Guthaben' %} {{ item.Betrag }} {%else%} 0 {%endif%}
{% endfor %}

Man kann hier auch einfach prüfen ob es Guthaben gibt oder nicht indem man den Rückgabetyp auf "Bool" ändert und {{ item.Betrag }} durch True und 0 durch False ersetzt.

Und das funktioniert so? Was ist, wenn Guthaben nicht die letzte der Zahlungen ist? Dann wird doch trotzdem eine 0 zurück gegeben.

Ist aus meiner Sicht nicht richtig.
Besser so etwas:
Hier wird erstmal ein Standard Ergebnis festgelegt: Ergebnis = 0
Dann werden die Zahlungen durchlaufen.
Wird eine Zahlungsart Guthaben gefunden, dann wird Ergebnis mit dem Guthaben überschrieben.

Achtung:
Auch das hat eine Einschränkung!
Wenn es mehr als eine (Teil)Zahlung mit Guthaben gibt, so wird nur die letzte Zahlung ausgegeben.

Code:
HTML clipboard {% assign Ergebnis = 0 -%}\
{% for Zahlung in Vorgang.Zahlungen.Zahlungen -%}\
{% if Zahlung.Zahlungsart.Name == 'Guthaben' -%}\
{% assign Ergebnis = Zahlung.Betrag -%}\
{% endif -%}\
{% endfor -%}\
{{ Ergebnis }}

Perfekt wäre es dann so:
Hier werden alle Zahlungen mit Namen Guthaben in der Variablen "Ergebnis" aufaddiert.
Zum Schluß wird die Variable dann ausgegeben

Code:
{% assign Ergebnis = 0 -%}\
{% for Zahlung in Vorgang.Zahlungen.Zahlungen -%}\
{% if Zahlung.Zahlungsart.Name == 'Guthaben' -%}\
{% assign Ergebnis = Ergebnis | Plus: Zahlung.Betrag -%}\
{% endif -%}\
{% endfor -%}\
{{ Ergebnis }}
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Fehlerhafte Adress-Übernahme durch NinePoint (Mirakl → JTL) – wer ist noch betroffen? JTL-Wawi - Fehler und Bugs 3
Neu JTL-Shop 5.5.2 – Fehlerhafter Canonical-Tag im Blog-Template verhindert Indexierung durch Google JTL-Shop - Fehler und Bugs 2
Beantwortet Ihr Token bei JTL-eazyAuction ist ausgelaufen - Verletzung von Nebenpflichten (Treue- und Informationspflicht) durch JTL Einrichtung und Installation von JTL-eazyAuction 4
Neu Abgleich läuft durch, aber keine Kategorie sichtbar Shopware-Connector 2
Neu Gutschein verkaufen - Produkt mit Preiswahl durch Kunden? User helfen Usern - Fragen zu JTL-Wawi 6
Neu 500 Error durch Paypal Plugin im B2B Shop Plugins für JTL-Shop 0
Neu Zahlungsarten und Bulletpoints in Kaufpreisnähe Plugins für JTL-Shop 4
Neu Nach Update auf PayPal 2.1.0 doppelte Zahlungsarten und Ratepay Plugin erforderlich Plugins für JTL-Shop 0
Zahlungsarten, Skontotext und berechnung einfügen JTL-Wawi 1.9 4
Neu Auftrag in CHF, Zahlung in EUR, Zuweisung funktioniert nicht Arbeitsabläufe in JTL-Wawi 0
Statistik - Artikelanzahl pro Auftrag JTL-Wawi 1.10 1
Neu Auftrag automatisch nach Bestellung geht nicht Arbeitsabläufe in JTL-Wawi 2
Auftrag zur InetBestellungId 7610 wurde bereits erstellt. InetBestellung wird gelöscht. JTL-Wawi 1.10 0
Neu Auftrag über WaWi versenden Arbeitsabläufe in JTL-Wawi 3
Neu Nach Update auf 1.10.14.1 - Zahlungsart wird beim Auftrag erstellen nicht mit übernommen + Sepa Eingänge JTL-Wawi - Fehler und Bugs 0
In Diskussion Workflow Angebote OHNE Auftrag JTL-Workflows - Ideen, Lob und Kritik 8
Neu Zahlungszuordnung Wawi Auftrag mit Barzahlung im Laden User helfen Usern - Fragen zu JTL-Wawi 0
Auftrag auf Pickliste lässt sich nicht mehr entfernen JTL-Wawi 1.9 1
Neu Ausgabe von Artikeldaten außerhalb der "Position Table" - im Auftrag Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Im Auftrag sind 2x mal Versandart hinterlegt kaufland.de - Anbindung (SCX) 0
Neu Paypal Zahlung erfolgreich, Auftrag mit Status Neu im Shop und fehlt in WAWI JTL-Shop - Fehler und Bugs 4
In Diskussion Workflow für das Austauschen von bestelltem Artikel in einem Auftrag gegen einen alternativen Artikel JTL-Workflows - Ideen, Lob und Kritik 3
Neu PDF-Rechnung an andere Mailadresse schicken als Angebot / Auftrag Arbeitsabläufe in JTL-Wawi 5
In Diskussion Auftrag Notizen / Historie via dotliquid ausgeben!? JTL-Workflows - Ideen, Lob und Kritik 4
Neu Workflow Versandart prüfen und im Auftrag setzen - speziell für Stücklistenartikel User helfen Usern - Fragen zu JTL-Wawi 0
Artikel im Auftrag nicht verschiebbar. Freiposition automatisch gesetzt in jedem Auftrag als 1. Position. JTL-Wawi 1.10 1
MWST Satz in einem Auftrag korrigieren funktioniert nicht JTL-Wawi 1.10 2

Ähnliche Themen