Problem mit Nachkommastelle / Rundung Aufschlag-Versandregel

I´m not getting this. Ich habe es jetzt in Shopware 3.5.6 und verschiedenen Shopware 4.0.4 Installationen durchprobiert und so sieht´s aus: Bei der Versandkostenberechnung individuelle Sperrgutzuschläge wird die Nachkommastelle unterschlagen und der Betrag gerundet. Und zwar nur dann, wenn die Versandart als Aufschlag (egal ob Auf- oder Zu) definiert ist. Ich habe die Versandkostenberechnung so angelegt: http://wiki.shopware.de/Versandkosten-j … l_699.html Z.B. also 5.90 pro Artikel Wenn ich die Versandart als Standardversand definiere, wird auch alles korrekt berechnet. Wenn ich etwa die normale Standard-Versandart 3 Eur definiere und die individuelle Berechnung als Aufschlag, wird 9 Eur im Cart angezeigt. Ich habe mal spaßeshalber zum Testen in „Eigene Versandkosten-Berechung:“ den Wert SUM(5.9) hinterlegt, um etwaige Kommafehler beim Auslesen des Attributs auszuschließen. Und auch hier: 9 Eur, die Nachkommastelle wird komplett weggerundet. Bin ich der Erste, dem das auffällt oder habe ich da irgendwo einen Denkfehler?

Warum auch immer - aber in Klasse sAdmin in der Methode sGetPremiumDispatchSurcharge ca. Zeile 3481 findet sich elseif($dispatch['calculation']==3) $from = round($basket['calculation\_value\_'.$dispatch['id']]); was exakt das beschriebene Phänomen verursacht. Folge der Rundung: es sind nur Ganzzahlen zur Berechnung bei Aufschlägen möglich. Lösungsansatz: fällt mir erstmal keiner ein, außer entweder im Quellcode herumfuhrwerken und an der Stelle die Rundung zu deaktivieren (dann macht die Berechnung das, was sie sollte) oder die Versandkostenberechnung als eigenes Plugins zu erweitern. Bug oder Feature, Shopware?

Hi, der Wert wird an dieser Stelle gerundet, da man bei der Faktorangabe 2 Stellen angeben kann und die Staffelung auch nur 0 Nachkommastellen unterstützt. (1-2, 2-4) :wink: Mach doch daher bei der Berechnung einfach z.B: “SUM(5.9*100)” und dann beim Faktor z.B. “0.01%” angeben. Dann sollte es wie gewünscht funktionieren. Heiner

2 „Gefällt mir“

Allerbesten Dank, darauf wäre ich vermutlich nie gekommen! Um auf die gewünschten Beträge zu kommen habe ich allerdings den Faktor mit 0.1% und den Wert * 1000 angegeben, also exemplarisch: SUM( case at.attr4 when 2 then 5.25\*1000\*b.quantity end )