Neu Wieso funktioniert DividedBy unter diesen Umständen nicht?

Ahok

Gut bekanntes Mitglied
11. September 2023
266
10
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
3.885
942
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.824
547
@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 Code funktioniert nicht mehr Templates für JTL-Shop 4
Neu Link zu Paypal Zahlungsaufforderung funktioniert nicht mehr User helfen Usern - Fragen zu JTL-Wawi 3
Neu Übertragung funktioniert nicht mehr Shopify-Connector 0
Neu Auftrag in CHF, Zahlung in EUR, Zuweisung funktioniert nicht Arbeitsabläufe in JTL-Wawi 0
Beantwortet Blog / Newssystem funktioniert nicht korrekt Allgemeine Fragen zu JTL-Shop 1
Neu Versandgruppe aus Verkaufskanalverwaltung - Amazon löschen funktioniert nicht JTL-Wawi - Fehler und Bugs 0
Neu Sumup Solo Koppelung funktioniert nicht JTL-POS - Fragen zu Hardware 8
Neu NOVA Child-Template funktioniert nicht wie erwartet jtlshop 5.6 Templates für JTL-Shop 2
Neu Kundensuche funktioniert nicht JTL-POS - Fehler und Bugs 0
Artikelstatistik funktioniert nicht mehr mit 1.11 JTL-Wawi 1.11 4
Neu Artikelsuche mit % Platzhalter funktioniert nicht mehr (wie früher) JTL-Wawi - Fehler und Bugs 6
Neu OnBoard Newsletterversand funktioniert nicht Allgemeine Fragen zu JTL-Shop 1
Kassenanbindung funktioniert nach Update auf 1.11 nicht mehr JTL-Wawi 1.11 2
Datenbankverbindung Ameise funktioniert seit Update auf 1.11.1.0 nicht mehr JTL-Wawi 1.11 7
In Diskussion WF funktioniert nur einen Tag lang JTL-Workflows - Fehler und Bugs 16
1.11 mit 2 Mandanten - Dashboard bei Advanced Wawi zerschossen - JTL Start funktioniert JTL-Wawi 1.11 1
Neu API Registrierung funktioniert nicht Schnittstellen Import / Export 3
Neu Plattformabgleich => Amazon funktioniert nicht mehr nach aufgehobener Kontosperrung Amazon-Anbindung - Fehler und Bugs 0
Neu Composer funktioniert nicht mehr JTL-Shop - Fehler und Bugs 1
Neu Einrichtung SQL in neuem Rechner funktioniert nicht Installation von JTL-Wawi 3
Neu Wechsel vom EC Terminal funktioniert nicht Allgemeine Fragen zu JTL-POS 1
Neu Workflows: Wie genau funktioniert die Ausliefern-Aktion User helfen Usern - Fragen zu JTL-Wawi 4
Neu Abgleich funktioniert nicht - Störung im Lizenzsystem User helfen Usern - Fragen zu JTL-Wawi 0
Neu UPS Anbindung OAuth funktioniert nicht JTL-ShippingLabels - Fehler und Bugs 0
Zahlungsmodul in Kombination mit der Deutschen Bank funktioniert nicht JTL-Wawi 1.10 5
Neu CSS-Gutschein-Plugin funktioniert nach Shop-update auf 5.5.3 nicht mehr Plugins für JTL-Shop 1
In Bearbeitung Kompakte Kasse gesucht mit der auch Kartenzahlung über 50 € funktioniert? JTL-POS - Fragen zu Hardware 5
Neu Abgleich mit JTL-Wawi funktioniert nicht Allgemeine Fragen zu JTL-POS 0
Amazon Abgleich funktioniert nicht JTL-Wawi 1.10 0
MWST Satz in einem Auftrag korrigieren funktioniert nicht JTL-Wawi 1.10 2

Ähnliche Themen