Neu Durch Zahlungsarten in Auftrag iterieren mit DotLiquid

Berger_

Aktives Mitglied
1. Februar 2023
120
19
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.090
680
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_

Aktives Mitglied
1. Februar 2023
120
19
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.090
680
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_

Aktives Mitglied
1. Februar 2023
120
19
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.090
680
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 AdFraud Traffic durch Bots Allgemeine Fragen zu JTL-Shop 6
Neu JTL Shop Subscription wurde durch Umstellung auf "Advanced Edition" teils doppelt berechnet Allgemeine Fragen zu JTL-Shop 1
Störungen im Abruf von Extension-Store-Lizenzen durch JTL-Shops Störungsmeldungen 0
Neu Workflow Artikelnummer durch Lieferantennummer ersetzen User helfen Usern - Fragen zu JTL-Wawi 6
Zahlung durch Gutschrift aber... JTL-Wawi 1.7 2
Preisexplosion EasyAuction durch neue Editionen und Pakete. JTL-Wawi 1.9 13
Neu Freitexteingabe durch Kunde bei bestimmten Variationen User helfen Usern - Fragen zu JTL-Wawi 2
Neu WPC Product Bundles for WooCommerce // automatische Funktionsumstellung durch JTL Wawi WooCommerce-Connector 0
Neu Shop 5.4.0: Zahlungsarten nun als Position in der Wawi? JTL-Shop - Ideen, Lob und Kritik 12
Neu Nach dem entfernen des PayPal Checkout werden keine Zahlungsarten anderer Anbieter angezeigt. JTL-Shop - Fehler und Bugs 4
Gutschrift bzw Rechnungskorrektur größer als neuer Auftrag JTL-Wawi 1.9 2
Neu Wawi Auftrag in JTL POS öffnen (problem mit Kartenzahlung) Allgemeine Fragen zu JTL-POS 0
Auftrag Inlandskunde mit USt-Id - wie erfassen JTL-Wawi 1.7 6
Neu Voraussichtliches Lieferdatum aus Auftrag als Rechnungsdatum/Leistungsdatum Arbeitsabläufe in JTL-Wawi 1
Neu REST-API - Auftrag erstellen - wie Versandposition hinzufügen? Schnittstellen Import / Export 0
Neu offene Rechnung im Pos bezahlen nicht Auftrag JTL-POS - Ideen, Lob und Kritik 2
Mailausgabe in JTL WaWi steuern (Rechnung mailen, Auftrag mailen etc.) JTL-Wawi 1.9 0
Neu Wie kann man Freipositionen in einem Auftrag gruppiert darstellen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu Auftrag nachträglich bearbeiten User helfen Usern - Fragen zu JTL-Wawi 29
Neu SQL Eigener Export - Eigene Felder im Auftrag User helfen Usern - Fragen zu JTL-Wawi 7
Neu Eigene Felder aus dem Auftrag in der Packtisch+ / WMS Ausgabe JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 4
Neu Identische Aufträge - gleiche Stückliste aber unterschiedliche Artikelnummer im Auftrag Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 5
Auftrag nicht mehr Auslieferbar JTL-Wawi 1.9 3
Neu Variable oder SQL zum Feld "Gewinn netto" (im Auftrag) Eigene Übersichten in der JTL-Wawi 9
Neu Ablage von E-Mails bei einem Auftrag User helfen Usern - Fragen zu JTL-Wawi 4
Austausch eines bezahlten Artikels gegen einen preiswerteren in bereits bezahltem auftrag JTL-Wawi 1.7 6
Neu Wawi Fehler - Auftrag öffnet im Hintergrund JTL-Wawi - Fehler und Bugs 8
Neu WAWI 1.9.4.6 Amazon Auftrag hat keine Rechnungsnummer, obwohl die Rechnung zu Amazon hochgeladen wurde. Amazon-Anbindung - Fehler und Bugs 0
Auftrag mit Terminlieferung JTL-Wawi 1.9 2
Neu Workflow - Wert "Netto-EK" im Auftrag auf 0,00 € setzen für eine bestimmte Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 1
Neu Artikelbezeichnung aus Auftrag in Druckvorlage für Picklisten Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu Feld Kundenkommentar nur im Auftrag editierbar? User helfen Usern - Fragen zu JTL-Wawi 3
Neu Nach Abbruch von "Auftrag anlegen" wird anderes Programm angezeigt Arbeitsabläufe in JTL-Wawi 2
Versand, Auftrag, Dropshipping Übersicht bereits ausgelieferte ausblenden JTL-Wawi 1.9 0
Auftrag Pickliste Ausliefern JTL-Wawi 1.9 4
Neu Auftrag nach Rechnungsstellung ändern Arbeitsabläufe in JTL-Wawi 2
Neu Dokument aus Auftrag beim Packen Drucken User helfen Usern - Fragen zu JTL-Wawi 2
Auftrag ohne Versand aber mit Lagerbuchung abschließen JTL-Wawi 1.9 1
Neu Mindermengenzuschlag in Auftrag User helfen Usern - Fragen zu JTL-Wawi 3
Neu Amazon Rechungskorrekturen / Storno: Neu ausstellen / Es existiert kein Auftrag zur Rechnung Einrichtung und Installation von JTL-eazyAuction 8

Ähnliche Themen