Gelöst [WAWI-18606] BUG: Vergleiche "größer als" und "kleiner als" fehlerhaft...

  • Temporäre Senkung der Mehrwertsteuer Hier findet ihr gesammelt alle Informationen, Videos und Fragen inkl. Antworten: https://forum.jtl-software.de/threads/mehrwertsteuer-senkung-vom-01-07-31-12-2020-offizieller-diskussionthread-video.129542/
Status
Es sind keine weiteren Antworten möglich.

gutberle

Sehr aktives Mitglied
29. März 2011
1.274
353
Ich habe einen Workflow geschrieben, der in zwei Bedingungen prüft, ob ein Wert entweder größer als 0,05 ist, oder aber ob er kleiner als -0,05 ist, siehe Screenshot.

JTLWawi_WorkflowBedingungFehler_Bedingungen.png

Simuliere ich den Workflow jetzt aber mit einem Datensatz, bei dem der Kriteriumswert -5,00 ist, dann meldet mir der Workflow, dass die erste Bedingung eingetroffen ist, weil -5,00 ja größer als 0,05 sei.

JTLWawi_WorkflowBedingungFehler_GrößerAls.png

Naja, das ist so sicher nicht ganz richtig, aber wenn ich einen anderen Testdatensatz nehme, bei dem der Kriteriumswert 0,00 ist, dann schlägt konsequenterweise auch die andere Vergleichsrichtung voll danbeben und erklärt, Workflow Bedingung 2 sei eingetreten, weil 0,00 ja kleiner als -0,05 sei.

JTLWawi_WorkflowBedingungFehler_KleinerAls.png

Ähem, das ist leider auch nicht so "richtig" richtig. Und führe ich den Workflows mit den selben Datensätzen auch aus und simuliere ihn nicht nicht, dann wird der Workflow auch genauso falsch ausgeführt wie simuliert, egal ich ihn aus dem Simulationsmodus heraus oder aus der Wawi ausführe.

Vielleicht könntet Ihr mal schauen, was da los ist ... o_O
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.274
353
Nachtrag: Das Problem betrifft nicht nur "kleiner als" und "größer als", sondern genauso auch "kleiner gleich" und "größer gleich".
Alle anderen Vergleiche scheinen zu funktionieren, inklusive "ungleich", der ganz ähnlich ist, aber der sieht mir wie ein String-Vergleich aus...
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.274
353
Guten Morgen Björn,

hier die Erweiterte Eigenschaft. Es geht darum, das Gesamtkundensaldo bestehend aus offenen Rechnungsbeträgen plus zugehörigen Gebühren und Zinsen aus der DB zu holen...
Code:
{% capture query %}\
    SELECT SUM(ROUND(fWert,2)-ROUND(fZahlung,2)-ROUND(fGutschrift,2)+Round(vBestellungEckdaten.fGutschein,2)) FROM vBestellungEckdaten \
        JOIN tBestellung ON vBestellungEckdaten.kBestellung=tBestellung.kBestellung \
        WHERE tBestellung.cType='B' AND tBestellung.tRechnung_kRechnung>0 AND tBestellung.tKunde_kKunde={{ Vorgang.InterneKundennummer }}\
{% endcapture -%}
{% assign OffenerWert = query | DirectQueryScalar | Plus: 0 %}

{% capture query %}\
    SELECT SUM(ROUND(ISNULL(tZahlungsErinnerung.fGebuehr, 0.0),2)) FROM tBestellung
    LEFT JOIN trechnung ON trechnung.tBestellung_kBestellung=tBestellung.kBestellung
    LEFT JOIN tZahlungsErinnerung ON tZahlungsErinnerung.kRechnung=trechnung.kRechnung
        AND NOT EXISTS
            (SELECT * FROM dbo.tZahlungsErinnerung tmp WHERE tmp.kRechnung = tRechnung.kRechnung
                AND tmp.nMahnstufeAktuell > dbo.tZahlungsErinnerung.nMahnstufeAktuell)
    WHERE tBestellung.cType='B' AND tBestellung.tRechnung_kRechnung>0 AND tBestellung.tKunde_kKunde={{ Vorgang.InterneKundennummer }}\
{% endcapture -%}
{% assign OffenerZins = query | DirectQueryScalar | Plus: 0 %}

{% assign OffenerBetrag = OffenerWert | Plus: OffenerZins %}
{{ OffenerBetrag | FormatNumber: 'N2', 'de-DE' }}
... der Fehler zeigt sich aber auch, wenn Du einfach Zahlenwerte im Fenster der Erweiterten Eigenschaft anlegst und zurückgibst.

Gruß,
Ingmar
 

Björn Ponsen

Moderator
Mitarbeiter
1. Juli 2016
829
66
Guten Morgen Ingmar,

du kannst in DotLiquid mit allen Werten arbeiten, der Ausgabe Wert ist jedoch immer ein String.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.274
353
Hallo Björn,

falls Du damit sagen willst, dass man Werte, die man sich über "Erweiterte Eigenschaften" ziehen muß, weil sie in der Wawi fehlen, schlicht nicht bezüglich ihres numerischen Inhalts interpretieren kann, dann gehe ich mal vorsichtshalber davon aus, dass auch Du das für eine höchst unzufriedenstellende Antwort hältst, oder?

Hast Du vielleicht einen Vorschlag für mich, wie man in einer solchen Situation zum Ziel kommen kann? Die Wawi DB speichert ja nicht nur Strings sondern vor allem Zahlenwerte und "Business" definiert sich auch nicht über die Betrachtung und den Vergleich von Texten, sondern über den Vergleich von Zahlen. Es ist also wohl nicht allzu weit hergeholt, dass ich einen Wert (sic!) aus der Datenbank holen will und dann schauen möchte, ob er größer oder kleiner als ein Zielkritierium ist, oder? ... :confused:

Gruß,
Ingmar
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.457
230
Düsseldorf
Temporärer Kompromiss: Erledige den Vergleich in der Erweiterten Eigenschaft:
kleiner -0,05 machst Du zu 1
größer 0,05 machst Du zu 3
den Rest zu 2

Dann sollte ein Textvergleich erst mal wieder funktionieren. Allerdings ist das in der Tat eine eher unbefriedigende Lösung.
 

Björn Ponsen

Moderator
Mitarbeiter
1. Juli 2016
829
66
Guten Morgen Ingmar,

da hast du recht aber aktuell keine ich dir keine andere Antwort dazu geben. Ich werde die Problematik aber Intern einmal ansprechen das wir hier eine adäquate Lösung finden. ;)
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.274
353
Hallo Björn,

danke für Deine Rückmeldung und danke auch, dass Du das Problem intern ansprechen willst. Ich (und mit mir andere...) weiß das zu schätzen!

In diesem speziellen Fall kann man sich tatsächlich mit einem Konstrukt wie dem von @Xantiva vorgeschlagenen behelfen, aber was wäre zum Beispiel wenn ich ein Datum aus der Datenbank holen muss. Mit Datumsangaben ist schon mit den bisher implementierten Funktionen/Bedingungen in Dotliquid schwer zu arbeiten, mit einem String-Datum, ähem, da fehlt mir im Moment die Phantasie. Das wären prototypisch die Fälle, wo man mit String-Rückgaben wirklich an die Wand läuft.

Gruß,
Ingmar
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.274
353
@Xantiva - Danke für den super Hinweis. Klar, so kann man das hier lösen. Ich habe es jetzt ein bißchen näher an der eigentlichen Intention benannt, aber es ist das Gleiche.

Falls irgendjemand anderes auch Kundenkonto Ausdrucke machen möchte, hier ist der ganze Workflow Code und hier ist der Thread, in dem wir eine Vorlage erarbeitet haben, die einen Kundenkonto-Ausdruck realisiert. Der Weg hier wäre dann alle auszuwertenden Kunden im Bereich "Kunden" zu markieren und den manuellen Workflow "Kontoauszug drucken..." auszulösen. Das geht bei mir ziemlich schnell, ich habe aber auch nur ~350 Kunden, also Vorsicht beim Probieren mit 23.000 Kunden!!!
Code:
{% capture query -%}\
    SELECT SUM(ROUND(fWert,2)-ROUND(fZahlung,2)-ROUND(fGutschrift,2)+Round(tBestellungEckdaten.fGutschein,2)) FROM tBestellungEckdaten \
        JOIN tBestellung ON tBestellungEckdaten.kBestellung=tBestellung.kBestellung \
        WHERE tBestellung.cType='B' AND tBestellung.tRechnung_kRechnung>0 AND tBestellung.tKunde_kKunde={{ Vorgang.InterneKundennummer }}\
{% endcapture -%}
{% assign OffenerWert = query | DirectQueryScalar | Plus: 0 -%}
{% capture query -%}\
    SELECT SUM(ROUND(ISNULL(tZahlungsErinnerung.fGebuehr, 0.0),2)) FROM tBestellung
    LEFT JOIN trechnung ON trechnung.tBestellung_kBestellung=tBestellung.kBestellung
    LEFT JOIN tZahlungsErinnerung ON tZahlungsErinnerung.kRechnung=trechnung.kRechnung
        AND NOT EXISTS
            (SELECT * FROM dbo.tZahlungsErinnerung tmp WHERE tmp.kRechnung = tRechnung.kRechnung
                AND tmp.nMahnstufeAktuell > dbo.tZahlungsErinnerung.nMahnstufeAktuell)
    WHERE tBestellung.cType='B' AND tBestellung.tRechnung_kRechnung>0 AND tBestellung.tKunde_kKunde={{ Vorgang.InterneKundennummer }}\
{% endcapture -%}
{% assign OffenerZins = query | DirectQueryScalar | Plus: 0 -%}
{% assign Kontostand = OffenerWert | Plus: OffenerZins -%}
{% if Kontostand > 0.05 -%}
    {{ 'Soll' | Trim }}
{% elseif Kontostand < -0.05 -%}
    {{ 'Haben' | Trim }}
{% else -%}
    {{ 'Null' | Trim }}
{% endif -%}
Hier wird also "Soll" für Soll, "Haben" für Haben und "Null" für Null zurückgegeben und die Vergleiche im Workflow selbst sind dann einfache String Vergleiche ...

JTLWawi_KundenkontoWorkflow_BedingungStringVergleiche.png

Gruß,
Ingmar
 
  • Gefällt mir
Reaktionen: Guybrush und hula1499
Status
Es sind keine weiteren Antworten möglich.
Ähnliche Themen Forum Antworten Erstelldatum des Themas
Neu JTL WAWI & JTL-Packtisch druckt falschen EAN Code bei Etikettendruck Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Nach Update JTL Wawi auf 1.5.34.0: Sortierungskonflikt / Kollationen verändert JTL-Wawi - Fehler und Bugs 1
Neu Kompatibilität JTL Shop 4.06 (Build9) mit JTL Wawi 1.4 oder 1.5 Allgemeine Fragen zu JTL-Shop 1
Neu Lizenzschlüssel lässt sich nicht in JTL Wawi eintragen Installation von JTL-Wawi 2
Neu Wie kann das sein? Ameise sagt 414 Artikel importiert, WAWI sagt 404 Artikel vorhanden User helfen Usern - Fragen zu JTL-Wawi 4
Neu Lieferschwelle in Wawi eingerichtet JTL-Shop berechnet trotzdem die deutsche USt. Steuer User helfen Usern - Fragen zu JTL-Wawi 0
Neu Kein Folgeabgleich zw. WAWI und POS JTL-POS - Fehler und Bugs 3
Neu Fehler beim Update der WAWI auf eine Version ab 29.0 - Lösung bei mir... Installation von JTL-Wawi 0
Neu Keine Verbindung zur WAWI möglich. Die Shop-URL verweist nicht auf einen gültigen Shop! Bitte prüfen Sie die Connector-Konfiguration Allgemeines zu den JTL-Connectoren 0
Neu Import Avocado-Auftragsdaten in JTL Wawi Schnittstellen Import / Export 0
Neu WAWI SHOP Lieferzeiten User helfen Usern - Fragen zu JTL-Wawi 4
Neu [WAWI] - Artikelname für Ausgabewege User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ebay Merkmale in Wawi ziehen ? Einrichtung und Installation von JTL-eazyAuction 1
Neu Wareneingang über WaWi, EK Preis 0 ? User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL Wawi Apple M1 Chip? Installation von JTL-Wawi 0
Neu Positiver Wareneingang in Wawi gebucht statt Warenausgang JTL-Wawi - Fehler und Bugs 5
Beantwortet Überverkauf im Shop deaktivieren, unabhängig von Wawi Einstellung Allgemeine Fragen zu JTL-Shop 2
Neu Problem Erstimport der Kunden Shopware 5.6.9 zu JTL-Wawi 1.5.33 Shopware-Connector 5
Neu Keine Zahlungsart an JTL WaWi übertragen bei bei Nullbon (Umtausch gegen Artikel gleichen Warenwertes) JTL-POS - Fehler und Bugs 1
Neu Verkauf über POS steht in WAWI auf "Ausstehend" JTL-POS - Fehler und Bugs 1
Neu Jtl shop + jtl wawi Ende der Probleme? Allgemeine Fragen zu JTL-Shop 0
Neu JTL Wawi 1.5.32.0 Amazon selbsterstelle Produktseite Fehler 8115 User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Wawi 1.5.25 - Workflow - mehrere Replace in einem Workflow-Durchgang JTL-Workflows - Ideen, Lob und Kritik 4
Neu Allgemeine Fragen zu JTL WaWi Client (Mehrplatzinstallation) User helfen Usern - Fragen zu JTL-Wawi 1
Neu GLS Retourenlabel aus der WAWI drucken User helfen Usern - Fragen zu JTL-Wawi 0
Beantwortet [WAWI] - Standardlager wird nicht ausgewählt JTL-Workflows - Fehler und Bugs 1
In Diskussion Daten löschen und Connector mit neuer Wawi-Instanz verbinden Shopware-Connector 4
In Diskussion Zahlungsart kommt mit falschem Namen in die Wawi? Shopware-Connector 2
Gelöst [WAWI-42192] - GUI für Amazon Angebotsmapping erstellen Gelöste Themen in diesem Bereich 0
Neu Chinesische Schriftzeichen werden erfolgreich zu Ebay übermittelt aber verschwinden danach direkt wieder aus der WaWi JTL-Wawi - Fehler und Bugs 0
Neu Mehrere Positionen an JTL Wawi senden (richtige Steuern übermitteln) WooCommerce-Connector 0
Neu JTL Wawi - WooCommerce Fehler beheben Dienstleistung, Jobs und Ähnliches 0
Neu Hilfe bei Umzug der JTL WAWI und des Servers gesucht Dienstleistung, Jobs und Ähnliches 1
Neu Wawi Connector Woocommerce Lizenz-Logbuch meldet Wrong Token WooCommerce-Connector 0
Neu WAWI Picklisten pro Lager zuordnen Arbeitsabläufe in JTL-Wawi 2
Neu wawi installation probleme User helfen Usern - Fragen zu JTL-Wawi 6
Neu WaWi Rechnungsvorlage Musterlogo raus??? User helfen Usern - Fragen zu JTL-Wawi 16
Issue angelegt [WAWI-50647] Top 10 Meist verkaufte Artikel pro Tag JTL-Workflows - Ideen, Lob und Kritik 2
Neu Frage zur Installation der JTL-Wawi-Datenbank auf einem MS-SQL-Server unter CentOS Installation von JTL-Wawi 5
Neu JTL Shop Kundennummer in Wawi Workflow | Automatische Kupon erstellung per Workflow User helfen Usern - Fragen zu JTL-Wawi 0
Neu Kunden/Bestellung --> Shopware 5 nach 6 Migration mit JTL Wawi Shopware-Connector 0
Neu JTL Wawi mit Windows Domain - Netzwerkinstallation - Verteilung von Updates automatisieren Installation von JTL-Wawi 4
In Bearbeitung [WAWI-42249] Zahlungsabgleich: Bestimmte Zahlungen automatisch auf nicht sichtbar setzen JTL-Workflows - Ideen, Lob und Kritik 1
In Bearbeitung Neuer PC - wie kann ich WaWi ohne Probleme transferieren? Anleitung? Installation von JTL-Wawi 2
In Bearbeitung [WAWI-50669] Worker sendet alle Artikel wiederholt zum Shop nach Update auf 1.5.32.0 JTL-Wawi - Fehler und Bugs 31
In Bearbeitung Wawi Ameise "Rechnungen (Neu)"-Export lahmt und bricht ab JTL-Wawi - Fehler und Bugs 8
Issue angelegt [WAWI-24239] Kann man irgendwie manuelle WF`s sortieren JTL-Workflows - Ideen, Lob und Kritik 3
Neu JTL-Shop ist nicht gleich WAWI Sonderpreis aber Sonderpreis aufs Etikett drucken Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Shopware --> JTL Wawi Auftrag abruf schlägt fehl Shopware-Connector 0
Neu Artikel im Shop aber nicht in der Wawi User helfen Usern - Fragen zu JTL-Wawi 5
Ähnliche Themen