Ankündigung

Einklappen
Keine Ankündigung bisher.

Rabatt für Zahlungsart 2.0 - Rundungsfehler?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Rabatt für Zahlungsart 2.0 - Rundungsfehler?

    Hallo,

    ich verwende das Modul Rabatt für Zahlungsart 2.0 in der ZenCart-Version 1.3.8 und mir ist aufgefallen, dass bei bestimmten Beträgen Rechenfehler auftreten, die m. Mng. nach auf Rundungsfehler zurückzuführen sind.

    Auszug aus einer aktuellen Bestellung:

    Zwischensumme: € 89.90
    Versandkosten nach Zonen (Versand an DE): € 0.00
    Rabatt für Zahlungsweise: -€ 4.50
    Endsumme: € 85.41

    Sieht aus, als würde das Modul beim Berechnen des angezeigten Rabattbetrages aufrunden (5% von 29.90 wären exakt 4.495), zum Berechnen des Endbetrages dann den Rabattbetrag jedoch aufrunden.

    Wo muss ich ansetzen, um solche etwas peinlichen Rechenfehler künftig zu vemeiden?

    Danke und Gruß
    Karin

    #2
    Guten Morgen,

    nach einer Woche Urlaub bin ich doch überrascht, keine Antwort vorzufinden.

    Hat denn niemand das gleiche Problem? Nutzt überhaupt irgendjemand außer mir dieses Modul?

    Kommentar


      #3
      Nochmal guten Morgen,

      eine neue Woche, 89 Views und sonst nur Schweigen im Walde - mach ich irgendwas falsch?

      Falls es für das Problem schlichtweg keine Lösung gibt, wäre mir auch geholfen, wenn mir das einfach nur jemand mitteilt, dann schalte ich es eben wieder ab.

      voller Hoffnung auf eine Antwort - irgendeine! -
      Karin

      Kommentar


        #4
        Mir fehlt momentan leider die Zeit, mich hier stärker zu engagieren. Nutze dieses Modul auch nicht. Ich werde das sobald es sich ausgeht in einem Testshop nachstellen und dann hier berichten.

        Kommentar


          #5
          Achso - ich dachte, du wärst an der Erstellung des Moduls irgendwie beteiligt gewesen. Zumindest steht dein Name ab und zu mal in den Dateien.

          Danke erstmal, dann warte ich weiter geduldig!

          Kommentar


            #6
            Das Problem mit der Rundung tritt immer wieder auf, unter Steuersätze
            -> Steuersatz bearbeiten, ist der Steuersatz mit 19.0000 angegeben.
            Wird wohl hier mit 4 Nachkommastellen berechnet.

            Unter Lokalisation -> Währungen -> Währung bearbeiten, ist die Rundung
            auf 2 Nachkommastellen eingestellt.

            Das Problem tritt immer wieder auf, weil unsere WaWi auch anders rundet als Zen Cart. Ein Standard bei der Rundung wäre schön.

            Gruß jjuno

            Kommentar


              #7
              Zitat von kgikm Beitrag anzeigen
              Auszug aus einer aktuellen Bestellung:
              Zwischensumme: € 89.90
              Versandkosten nach Zonen (Versand an DE): € 0.00
              Rabatt für Zahlungsweise: -€ 4.50
              Endsumme: € 85.41
              Ich hab das jetzt mal nachgestellt.

              Lösungsvorschlag:
              Ändere in der includes/modules/order_total/ot_payment_discount.php
              ca. Zeile 88 von:
              Code:
              $delta = round($amount, 2) * ($this->percentage / 100);// percentage of total order
              auf:
              Code:
              $delta = round($amount, 1) * ($this->percentage / 100);// percentage of total order
              Damit wird die Rundung umgangen bzw. abgeschnitten. Die Berechnung des Endbetrages ist danach korrrekt und schaut dann in meinem Testshop so aus:

              Kommentar


                #8
                Hallo,

                entschuldige das späte Feedback - ich hatte deine Antwort verpasst - und danke für den Lösungsansatz.

                Leider hat das nicht funktioniert, im Gegenteil, es wird immer kurioser. Nachdem ich die Zeile gestern morgen ausgetauscht hatte, kamen drei Bestellungen mit Vorkasse rein und bei allen dreien passt die Rechnung nicht:

                Zwischensumme: € 65.66
                Versandkosten nach Zonen (Versand an DE): € 0.00
                Rabatt für Zahlungsweise -€ 3.29
                Endsumme: € 62.38

                Zwischensumme: € 91.90
                Versandkosten nach Zonen (Versand an DE): € 0.00
                Rabatt für Zahlungsweise -€ 4.60
                Endsumme: € 87.31

                Zwischensumme: € 99.90
                Versandkosten nach Zonen (Versand an DE): € 0.00
                Rabatt für Zahlungsweise -€ 5.00
                Endsumme: € 94.91
                Im ersten Beispiel wird falsch gerundet (auf statt ab), aber die Endsumme stimmt (wird mit dem abgerundeten, nicht angezeigten Rabatt errechnet).
                Die anderen beiden Beispiele runden auch auf, was in diesem Fall richtig ist, dafür passt die Endsumme nicht.

                Muss ich die "1" (für einstelliges Runden?) evtl. noch woanders austauschen?

                Kommentar

                Info zu diesem Forenarchiv:
                Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
                Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
                Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
                PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
                Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
                FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

                Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
                Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
                Fehler in der Software können auf Github als Issues gemeldet werden.
                Follow us
                aktuelle version
                Zen Cart 1.5.7g deutsch
                vom 12.12.2023
                [Download]
                Lädt...
                X