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.272
345
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.272
345
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.272
345
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
788
60
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.272
345
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.404
216
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
788
60
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.272
345
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.272
345
@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 Artikel Abgleich Wawi <-> POS lückenhaft - Wurzelkategorie? Allgemeine Fragen zu JTL-POS 0
Neu Artikelabgleich zwischen WaWi und JTL-POS Allgemeine Fragen zu JTL-POS 0
In Bearbeitung Ausländische eBay Martkplätze - Obwohl Angebote bereits online, zeigt Wawi als "einzustellend" ein. Einrichtung und Installation von JTL-eazyAuction 1
Neu Lieferadressen im Shop werden nicht in WaWi übernommen User helfen Usern - Fragen zu JTL-Wawi 0
Neu (WAWI 1.5.24.1)Lieferantenpreisanfrage Zeichenlänge Druckanmerkung begrenzt? JTL-Wawi - Fehler und Bugs 0
In Bearbeitung Arbeitsabläufe mit Versandboxen und Vorkommissionieren in JTL-WMS? [WAWI-47720] Arbeitsabläufe in JTL-WMS 3
In Bearbeitung Alle Bons > Suche in WAWI: bei angeschlossener Tastatur funktioniert kein ENTER - POS-857 JTL-POS - Fehler und Bugs 1
Neu WAWI 1.5.23.0 MArken werden beim Öffnen und wieder Schließen eines versendeten Auftrags einfach neu bestellt JTL-ShippingLabels - Fehler und Bugs 5
In Bearbeitung Wawi berechnet falschen Preis für Verpackungseinheit im Einkauf JTL-Wawi - Fehler und Bugs 4
Neu Grundlegende Fragen zu WaWi (host) und 2 Mac (clients) Installation von JTL-Wawi 4
In Bearbeitung Artikel werden Angezeigt obwohl sie in der JTL-Wawi gelöscht wurden JTL-POS - Fehler und Bugs 1
Neu automatisierte Rechnungserstellung per Wawi oder EasyAuction möglich? Arbeitsabläufe in JTL-Wawi 3
Neu JTL WAWI 1.5.25.0 Ameise zeigt nicht kompletten Artikeldaten bereich unten beim Import JTL-Ameise - Fehler und Bugs 15
Neu JTL-Wawi umstellung der Mwst. beim Lieferanten User helfen Usern - Fragen zu JTL-Wawi 11
Verwiesen an Support/SP Problem JTL-POS mit OPI Schnittstelle an ICT220 - Abrechnung JTL-Wawi Aufträge über EC-Karte nicht möglich Allgemeine Fragen zu JTL-POS 2
In Bearbeitung JTL-Wawi bleibt beim Start hängen JTL-Wawi - Fehler und Bugs 2
Gelöst Fehlermeldung beim start der Wawi? JTL-Wawi - Fehler und Bugs 3
Neu Packtisch -> Anzeige nur der Aufträge wie unter Wawi->Lieferscheine->Offen User helfen Usern - Fragen zu JTL-Wawi 1
In Bearbeitung Kundenindividuelle Preise werden nicht übertragen - WAWI-47454 JTL-POS - Fehler und Bugs 2
Neu Ameise übernimmt keine Kategorie-Attribute aus der Globalen E-Bay Vorlage, JTL WaWi 1.15.24 JTL-Ameise - Fehler und Bugs 0
In Bearbeitung [WAWI-47615] Packtisch+ Absturz wegen Deadlock seit der Umstellung auf 1.15.24.1 JTL-Wawi - Fehler und Bugs 12
Neu E-Mail Versand endet in Fehlermeldungen (NUR WAWI) User helfen Usern - Fragen zu JTL-Wawi 5
In Bearbeitung Internationaler Versand wird nicht mehr richtig in WaWi übertagen. eBay-Anbindung - Fehler und Bugs 6
Neu geänderte Kundenadresse bei Bestellung (JTL-Shop > JTL-Wawi) Allgemeine Fragen zu JTL-Shop 2
Neu Fehler beim Abgleich von JTL-Wawi zu Shopify Shopify-Connector 2
Neu WaWi Hosting und Online-Shop Hosting User helfen Usern - Fragen zu JTL-Wawi 5
Offen JTL Wawi Datenabgleich mit Shopify Shopify-Connector 3
In Bearbeitung Wawi holt Bestellung aus Shop nicht ab JTL-Wawi - Fehler und Bugs 5
Gelöst Zahlungsabgleich: Zahlungen doppelt nach Wawi Update Gelöste Themen in diesem Bereich 5
Gelöst Die neue Warenpost ab 01.07.2020 - Einrichtung in JTL Wawi, JTL ShippingLabels und das Drucken eines Labels via Drucker - Aber wie? JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu JTL Wawi für Niederländisches Unternehmen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Globale Installation der WAWI/Updates per MSI-Datei Installation von JTL-Wawi 8
Offen WAWI berechnet Versandkosten falsch und übernimmt falsche Paypalsummen WooCommerce-Connector 1
In Bearbeitung JTL WAWI "vergisst" abweichende EANs bei Varianten. eBay-Anbindung - Fehler und Bugs 3
Neu MwSt Umstellung JTL-Wawi-Woocommerce WooCommerce-Connector 4
In Bearbeitung HTTP 500 Error beim Abgleich zwischen JTL Wawi und Prestashop PrestaShop-Connector 2
Gelöst Shop 3.19 & WaWi 099923 Gelöste Themen in diesem Bereich 10
Neu Wawi einmal Shop abgleichen lassen per Kommndozeile? Arbeitsabläufe in JTL-Wawi 2
Gelöst Fehlermeldung online Anbindung JTL WaWi zum Shopware 5 Gelöste Themen in diesem Bereich 2
Neu wie richtig updaten ? Wawi, connector, shopware Shopware-Connector 1
Neu DHL Wunschpaket - Wunschort und -tag werden in der Zusammenfassung nicht ausgegeben oder an die JTL Wawi weitergegen Allgemeine Fragen zu JTL-Shop 3
Gelöst Artikel in WAWI nicht sichtbar, aber im JTL-Shop Gelöste Themen in diesem Bereich 9
Offen Bug beim Abgleich gefüllte Wawi in leeren Gambio Shop - alle Artikel landen auch in der Top-Kategorie Gambio-Connector 1
In Bearbeitung JTL-POS - Stornos in WAWI übertragen Allgemeine Fragen zu JTL-POS 2
Offen was wird von SecuPay Texte über Connector zu Wawi übertragen Shopware-Connector 1
Neu WAWI OnlineDashboard / Anbindung User helfen Usern - Fragen zu JTL-Wawi 1
In Bearbeitung Wareneingang - Menge reduzieren und neu buchen auf anderen WE - Fehler in Eingangsrechnung & Bewegungshistorie [WAWI-47131] JTL-WMS - Fehler und Bugs 2
In Diskussion Wawi mit POS auf Einzelrechner Einrichtung / Updates von JTL-POS 3
Neu JTL WAWI Erweiterung entwickeln Dienstleistung, Jobs und Ähnliches 0
Neu Capture Dotliquid - Warenlagerplatz in Wawi anzeigen User helfen Usern - Fragen zu JTL-Wawi 1
Ähnliche Themen