Neu Wieso funktioniert DividedBy unter diesen Umständen nicht?

Ahok

Mitglied
11. September 2023
120
5
Hallo zusammen,

weiß jemand warum das DividedBy im Code ganz unten nicht funktioniert? Sobald ich das in eine Mail schreibe, kommt diese leer an.
Code:
{% assign AnzahlVPE = item.fAnzahl | DividedBy: item.nVPEMenge | FormatNumber: 'N0' -%}

item.fAnzahl kommt aus der Tabelle Verkauf.tAuftragPosition und ergibt in meinem Testbeispiel 72,0000000000000.
item.nVPEMenge kommt aus der Tabelle dbo.tliefartikel und ergibt in meinem Testbeispiel 12,0000000000000.
Beide haben den Typ DECIMAL(25, 13).

Schreibe ich folgenden Code, kommt die Mail korrekt an:
Code:
{% assign AnzahlVPE = item.fAnzahl | DividedBy: 12 | FormatNumber: 'N0' -%}

Hier kommt es ebenfalls korrekt an:
Code:
{% assign AnzahlVPE = item.fAnzahl | DividedBy: item.fAnzahl| FormatNumber: 'N0' -%}

Hier ebenfalls:
Code:
{% assign AnzahlVPE = 72 | DividedBy: item.fAnzahl | FormatNumber: 'N0' -%}

Hier ebenfalls:
Code:
{% assign AnzahlVPE = item.nVPEMenge | DividedBy: 12 | FormatNumber: 'N0' -%}

Hier jedoch nicht:
Code:
{% assign AnzahlVPE = item.nVPEMenge | DividedBy: item.nVPEMenge | FormatNumber: 'N0' -%}

Und hier auch nicht:
Code:
{% assign AnzahlVPE = 72 | DividedBy: item.nVPEMenge | FormatNumber: 'N0' -%}

Was hat DotLiquid gegen nVPEMenge als Divisor? Vor allem wenn es sich um den gleichen Typ handelt wie fAnzahl, das aber ohne Probleme funktioniert?
 

John

Sehr aktives Mitglied
3. März 2012
2.672
521
Berlin
Verschachtelte Anweisungen sind keine gute Idee. Das geht regelmäßig schief.
Splitte das mal in Einzelschitte auf und lass dir ggf. die Zwischenergebnisse anzeigen.

Vielleicht ist item.nVPEMenge auch mal DBNULL? Ist ja keine Pflichteigenschaft eines Artikels...
 
  • Gefällt mir
Reaktionen: Ahok

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.326
373
@John hat einen sehr guten Tipp gegeben: nämlich die Variablen einzeln zu befüllen und Schritt für Schritt vorzugehen.
Ich gehe noch einen Schritt weiter und behaupte, dass alles was über ein einfaches "Gib an dieser Stelle die und die Variable aus" nicht gerade die Stärke von Liquid bzw. DotLiquid ist.
Liquid ist was es ist: eine Template Sprache, dazu gedacht, Werte aus einer Datenbank auszugeben. Es gibt wohl einige Filter, aber sobald es komplexer werden soll, wirds doof. Fehlermeldungen und ähnliches gibts nicht oder sind obskur. Auch sind die DotLiquid Filter nicht wirklich kaskadierbar.
Lange Rede, kurer Sinn. Mein Rat ist Berechnungen und ähnliches direkt von der Datenbank erledigen zu lassen. Und dann das Ergebnis per DotLiquid ausspielen, denn das kann DotLiquid gut.

Also sowas in der Art:
Code:
{% capture query -%}
select ...
{% endcapture -%}
{% assign wert = query | DirectQueryScalar -%}
{{ wert }}
 
  • Gefällt mir
Reaktionen: Ahok
Ähnliche Themen
Titel Forum Antworten Datum
Neu Weiterleiten funktioniert nicht Betrieb / Pflege von JTL-Shop 2
Neu Eigenes Javascript funktioniert nicht Templates für JTL-Shop 0
Neu JTL Search funktioniert nicht seit Shopupdate auf 5.3.1 JTL-Shop - Fehler und Bugs 0
Neu Workflow - Positionen an Dropshipping-Lieferant mailen. Warum funktioniert dieser Code nicht? User helfen Usern - Fragen zu JTL-Wawi 1
Postleitzahlen prüfen funktioniert nicht Einrichtung JTL-Shop5 0
Neu [BUG] Erweiterter Filter "Laufend bei Ebay" funktioniert nicht mehr [v1.8.xx & 1.9.x.x] Gelöste Themen in diesem Bereich 7
Neu JTL Übertragung zu Shopify funktioniert nicht Shopify-Connector 0
Ich habe auf NOVA umgestellt aber PayPal funktioniert nicht Einrichtung JTL-Shop5 1
Lieferadresse auswählen funktioniert nicht mehr korrekt JTL-Wawi 1.8 3
Neu Nach Update auf 5.3 funktioniert das Video-Portlet für lokale Videos nicht Gelöste Themen in diesem Bereich 9
Neu Update des JTL shops aus der Wawi funktioniert nicht Allgemeine Fragen zu JTL-Shop 1
Neu Greyhound JTL-Connector funktioniert nach Update auf 1.8.12 nicht mehr richtig Technische Fragen zu den JTL-Connectoren 5
Auftrag und Rechnung Ausgabe funktioniert nicht Client JTL 1.8.10.0 JTL-Wawi 1.8 9
[JTL-WAWI API] Wie funktioniert die Item-Image API? JTL-Wawi 1.8 0
Neu JTL Shop funktioniert nicht mehr Allgemeine Fragen zu JTL-Shop 2
Neu JTL-Search - funktioniert nach Anmeldung als Kunde schlechter als ohne Anmeldung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Deinstallation WMS: WMS Lager zu Standard Lager funktioniert nicht Installation von JTL-WMS / JTL-Packtisch+ 0
Neu Vorlage hat im Standard die Variable SalesQuotationPositionConfiguration.Name die nicht funktioniert Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0

Ähnliche Themen