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
4.062
1.022
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
4.062
1.022
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
4.062
1.022
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
Keine Rückmeldung in JTL Wawi sobald SQL Server Memory durch Database Cache ausgeslastet ist JTL-Wawi 2.0 9
Neu Komplettkündigung durch JTL - Neukunde User helfen Usern 4
Verrückte Korrektur durch Kassen JTL-Wawi 1.9 5
Neu 5.6.1 Bug bei Versandarten mit Kalkulation durch Artikelmenge und Staffelpreisen JTL-Shop - Fehler und Bugs 2
Neu JTL Shop 5.7.1 mit Fehlern - versandarten zahlungsarten nicht änderbar, leere weiße Seite JTL-Shop - Fehler und Bugs 5
Neu Alle PayPal Zahlungsarten seit gestern verschwunden! Plugins für JTL-Shop 3
Neu Suche Workflow: Erstbestellung Shop auf Rechnung -> Auftrag Zurückhalten JTL-Wawi - Ideen, Lob und Kritik 1
Neu Auftrag - Lieferstatus mit Workflow exportieren Arbeitsabläufe in JTL-Wawi 3
Neu Auftrag Mailen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Teillieferung nur mit Rechnung über ganzen Auftrag oder ohne Rückstandsmeldung möglich Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Amazon Auftrag Lieferadresse unvollständig Amazon-Anbindung - Fehler und Bugs 4
Neu Variantenwerte werden nicht im Auftrag angezeigt Shopware-Connector 6
Artikelbeschreibung in Auftrag JTL-Wawi 1.11 3
Neu Versandart Name aus Lieferschain anstatt aus auftrag einsetzen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Händlerartikelnummer druch eigene im Auftrag ersetzen User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen