# \[GELÖST\] s\_order\_basket Preise

**URL:** <https://forum.shopware.com/t/gelost-s-order-basket-preise/3583>\
**Category:** Shopware 3.5\
**Tags:** other\
**Created:** [21. Juli 2011 um 10:24 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583 "2011-07-21T10:24:35Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [21. Juli 2011 um 10:24 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/1 "2011-07-21T10:24:35Z")

</div>

In der s\_order\_basket sind bei netprice Zahlen drin mit mehreren Nachkommastellen. Leider ist der Eintrag bei price falsch. Beispiel: netprice: 0,1074 bei price steht nun 0,1278. Wenn ich aber 0,1074 \* 19% MwSt. rechne kommt 0,127806 raus. So kommt es bei mir zu teilweise extremen Rundungsfehlern. Wie bekomme ich es hin das Shopware in price auch alle Nachkommastellen einträgt? Danke im Voraus.

---

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [25. Juli 2011 um 08:21 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/2 "2011-07-25T08:21:13Z")

</div>

Schon komisch dass das niemand beantworten kann…

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [25. Juli 2011 um 10:26 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/3 "2011-07-25T10:26:05Z")

</div>

[quote=„parkkralleshop“]Schon komisch dass das niemand beantworten kann…[/quote] Mhhh, aber wenn du den Betrag von 0,127806 auf 4 Stellen nach dem Komma rundest, dann kommt doch der Wert aus der DB raus. 0,1278€. Somit ist es doch korrekt und es gibt keine Rundungsfehler Ich verstehe dein Problem nicht wirklich!

---

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [25. Juli 2011 um 10:54 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/4 "2011-07-25T10:54:36Z")

</div>

Ich möchte ja nicht dass er das auf 4 Stellen rundet. Er soll es gar nicht runden. Wenn ich rechne: 2000 \* 0,1278 = 255,60 € 2000 \* 0,127806 = 255,61 € So stimmt der Betrag nicht mehr…

---

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [25. Juli 2011 um 15:03 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/5 "2011-07-25T15:03:54Z")

</div>

Ich habe leider das Gefühl dass bei solchen Fragen niemand eine Antwort hat, finde ich schade. Bin sonst sehr begeistert von dem Shopsystem aber hier heißt es wohl “nimm den Shop wie er ist oder seh zu wie du klar kommst”. Hätte ich nicht gedacht…

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [25. Juli 2011 um 15:57 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/6 "2011-07-25T15:57:28Z")

</div>

Hey, das lässt sich nicht so einfach anpassen, da an vielen verschiedenen Stellen im Shop gerundet wird. Also vor allem in den Dateien sAdmin, sBasket und sArticles - da müsstest du dann ggf. diese Methoden jeweils anpassen. In Shopware 4 wird man die Rundung frei konfigurieren können. Es gibt aber keine einfache Lösung ala ändere Datei A und Zeile B.

---

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [25. Juli 2011 um 16:04 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/7 "2011-07-25T16:04:59Z")

</div>

Dass ich im Adminbereich bei den Artikeln Preise mit vielen Nachkommastellen eintragen kann habe ich auch hinbekommen. Habe in sArticles und sBasket mich schon dumm und dämlich gesucht, hier versucht was zu ändern und da aber mit meinem Halbwissen bin ich da dann doch an meine Grenzen gestoßen. Eigentlich suche ich ja auch nur den Teil wo Shopware den Preis in s\_order\_basket einträgt, und zwar den Bruttopreis. Denn der Nettopreis hat dort alle Nachkommastellen, nur der Brutto Preis nicht.

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [25. Juli 2011 um 16:17 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/8 "2011-07-25T16:17:09Z")

</div>

Das passiert in sBasket-\>sAddArticle und sBasket-\>sUpdateArticle

---

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [25. Juli 2011 um 16:39 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/9 "2011-07-25T16:39:15Z")

</div>

Danke aber trotzdem ein Problem für mich. Habe das Gefühl dass Shopware Änderungen die ich an der Datei mache vollkommen kalt lässt. Beispiel: Wenn ich in der sBasket-\>sAddArticle vor „INSERT INTO s\_order\_basket …“ folgendes schreibe: `$getPrice["price"] = 500;` Dann müsste doch eigentlich 500 in die Datenbank eingetragen werden oder? Wird aber nicht…

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [25. Juli 2011 um 17:02 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/10 "2011-07-25T17:02:12Z")

</div>

Die Preise werden in der sUpdateArticle bei jedem Aufruf neu synchronisiert - d.h. du müsstest dort deine Rundungsanpassungen vornehmen - in der sAddArticle werden im Prinzip nur die grundsätzlichen Meta-Daten gesetzt - der Rest passiert in der anderen Methode!

---

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [26. Juli 2011 um 09:55 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/11 "2011-07-26T09:55:42Z")

</div>

Habe es jetzt geschafft. Übrigens hat die Methode sGetBasket auch eine große Rolle gespielt. `$getArticles[$key]["amount"] = $quantity \* round($price, 2);` geändert in `$getArticles[$key]["amount"] = $quantity \* $price;` Dann rechnet er auch mit allen Nachkommastellen aus s\_order\_basket.price

---

<div class="post-metadata">

**Author:** ![arbeitshandschuh24](https://avatars.discourse-cdn.com/v4/letter/a/ba8739/32.png) [@arbeitshandschuh24](https://forum.shopware.com/u/arbeitshandschuh24)\
**Post date:** [4. Oktober 2011 um 12:13 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/12 "2011-10-04T12:13:36Z")

</div>

Hallo, wie lässt sich dieses Problem denn nun komplett beseitigen? Könnten Sie evtl. eine Anleitung dafür zur Verfügung stellen, da ich mit dem selben Problem zu “kämpfen” habe. MfG

---

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [4. Oktober 2011 um 12:48 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/13 "2011-10-04T12:48:00Z")

</div>

Welches Problem besteht denn? Nur dass er nicht richtig rechnet oder können Sie zu wenig Stellen hinter dem Komma eintragen im Adminbereich? Wenn er nur nicht richtig rechnet dann öffnen Sie folgende Datei: engine/core/class/sBasket.php Dort finden Sie den Eintrag `$getArticles[$key]["amount"] = $quantity \* round($price, 2);` Diesen ändern Sie in: `$getArticles[$key]["amount"] = $quantity \* $price;` Dann sollte es eigentlich klappen.

---

<div class="post-metadata">

**Author:** ![arbeitshandschuh24](https://avatars.discourse-cdn.com/v4/letter/a/ba8739/32.png) [@arbeitshandschuh24](https://forum.shopware.com/u/arbeitshandschuh24)\
**Post date:** [4. Oktober 2011 um 15:43 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/14 "2011-10-04T15:43:17Z")

</div>

Danke erst einmal, Also Mein Problem ist, das der Shop bei der Bezahlung die richtigen Werte anzeigt, jedoch nicht an die Firma des Zahlungsplugins übermittelt, da ist ein Rundungsfehler. Als Beispiel: Bei für einen Artikel werden 1,6065 € fällig multipliziert mit 12 wären das dann 19,28€. Dies steht dann auch als Summe unten was ja richtig ist. Aber übertragen wird für jeden Artikel 1,61 € \* 12, also 19,32 €. Das ist eine Differenz von 4 Cent die die Zahlungspluginfirma erhät sobald bezahlt wird, daraufhin wird die Bestellung abgebrochen da die Beträge von einander abweichen. Vermute, das das an dieser Zeile hier liegt: $getArticles[$key][„amountWithTax“] = round(1 \* ($price / 100 \* (100+$tax)),2) Vielen Dank im Voraus! MfG

---

<div class="post-metadata">

**Author:** ![Marcel\_Gortz](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Marcel\_Gortz](https://forum.shopware.com/u/Marcel_Gortz)\
**Post date:** [4. Oktober 2011 um 16:02 UTC](https://forum.shopware.com/t/gelost-s-order-basket-preise/3583/15 "2011-10-04T16:02:57Z")

</div>

Kann sein dass das an dieser Zeile liegt. Wenn ja, dann versuche mal die Zeile wie folgt zu ändern: `$getArticles[$key]["amountWithTax"] = 1 \* ($price / 100 \* (100+$tax));` Vielleicht geht das ja.
