# Preis Nachkommastellen

**URL:** <https://forum.shopware.com/t/preis-nachkommastellen/3249>\
**Category:** Shopware 3.5\
**Tags:** other\
**Created:** [23. Juni 2011 um 08:19 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249 "2011-06-23T08:19:56Z")\
**Posts on this page:** 20\
**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:** [23. Juni 2011 um 08:19 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/1 "2011-06-23T08:19:56Z")

</div>

Hallo, ich möchte im Backend Preise mit 4 Nachkommastellen, also zum Beispiel 0,0512 eingeben können. Ist das realisierbar? Brauche das unbedingt. Danke im Voraus. Edit: Habe es gelöst. in /engine/backend/modules/articles/artikeln1.inc.php in Zeile 825 hinten die 2 durch eine 4 ersetzen: `$priceregulary[$Tkey][$i] = round($priceArray["price"]\*(100+return\_tax($\_SHOPWARE["EDIT"]["taxID"]))/100,4);` Damit im Warenkorb damit gerechnet wird /engine/core/class/sBasket.php in Zeile 1017: `$getArticles[$key]["amount"] = $quantity \* round($price,4);`

---

<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:** [23. Juni 2011 um 13:59 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/2 "2011-06-23T13:59:19Z")

</div>

Habe doch noch ein Problem. Ich brauche die Stelle wo der Artikel den ich in den Warenkorb lege in die Datenbank in s\_order\_basket geschrieben wird. Da wird nämlich der Brutto Betrag nur mit 2 Nachkommastellen eingetragen und ich weiß nicht wo ich das ändern kann.

---

<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:** [24. Juni 2011 um 10:03 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/3 "2011-06-24T10:03:52Z")

</div>

Niemand kann helfen?

---

<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:** [24. Juni 2011 um 10:10 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/4 "2011-06-24T10:10:39Z")

</div>

Schau mal in die sBasket \> sUpdateArticle - dort wird der Artikelpreis je Position im Warenkorb gesetzt!

---

<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:** [24. Juni 2011 um 11:12 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/5 "2011-06-24T11:12:54Z")

</div>

Aber das liest ja den Preis aus s\_order\_basket aus. Genau dort ist der Preis ja aber nur mit 2 Nachkommastellen eingetragen. Es müsste also eigentlich so verändert werden dass wenn ich den Artikel in den Warenkorb lege der Preis aus s\_articles\_price genauso wie er ist in s\_order\_basket eingetragen wird, mit allen Nachkommastellen. Muss das dann nicht eher in sArticles sein?

---

<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:** [27. Juni 2011 um 08:57 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/6 "2011-06-27T08:57:48Z")

</div>

Keine weiteren Vorschläge?

---

<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:** [28. Juni 2011 um 09:25 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/7 "2011-06-28T09:25:37Z")

</div>

Keine weitere Hilfe?

---

<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:** [28. Juni 2011 um 09:50 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/8 "2011-06-28T09:50:12Z")

</div>

Versuch es mal hier: ` $event = $this-\>createEvent( 'Shopware\_Modules\_Basket\_AddArticle\_Start', 'onBasket\_AddArticle\_Start' ); $this-\>subscribeEvent($event);` An dieser Stelle wird die Tabelle s\_order\_basket gefüllt 😉 Betrifft die Prozedur sAddArticle aus der Datei core/sBasket.php

---

<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:** [28. Juni 2011 um 10:22 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/9 "2011-06-28T10:22:58Z")

</div>

Habe eben gerade herausgefunden wenn ich in der sBasket.php in der Funktion sUpdateArticle `$brutto = $this-\>sSYSTEM-\>sMODULES['sArticles']-\>sCalculatingPriceNum($netprice,$queryNewPrice["tax"],false,false,$queryNewPrice);` einfach mal in `$brutto = $netprice \* 1.19;` ändere ist die Summe eines Artikels richtig, allerdings unten die Summe im Warenkorb nicht, die Gesamtsumme aber ist richtig. Und wie bekomme ich es hin dass im Warenkorb der Einzelpreis eines Artikels beispielsweise nicht 0,05 sondern 0,0534 ist?

---

<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:** [28. Juni 2011 um 11:44 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/10 "2011-06-28T11:44:52Z")

</div>

[quote=“parkkralleshop”]Habe eben gerade herausgefunden wenn ich in der sBasket.php in der Funktion sUpdateArticle `$brutto = $this-\>sSYSTEM-\>sMODULES['sArticles']-\>sCalculatingPriceNum($netprice,$queryNewPrice["tax"],false,false,$queryNewPrice);` einfach mal in `$brutto = $netprice \* 1.19;` ändere ist die Summe eines Artikels richtig, allerdings unten die Summe im Warenkorb nicht, die Gesamtsumme aber ist richtig. Und wie bekomme ich es hin dass im Warenkorb der Einzelpreis eines Artikels beispielsweise nicht 0,05 sondern 0,0534 ist?[/quote] Hier wird der Warenkorb zum ersten mal gefüllt bzw. die Tabelle s\_order\_basket: Prozedur sAddArticle aus der Datei core/sBasket.php Entweder wird hier im Code dann auf 2 Stellen nach dem Komma gerundet, oder nicht jede Preisangabe in den Artikel-Tabellen hat 4 Stellen hinter dem Komma.

---

<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:** [28. Juni 2011 um 16:48 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/11 "2011-06-28T16:48:37Z")

</div>

Danke erstmal. Noch ein Preis stimmt aber nicht ganz. Nämlich der in der Auftragsbestätigung die dem Kunden per Mail geschickt wird. Da ist der Einzelpreis mit 3 Nachkommastellen drin statt mit 4. Jemand einen Rat?

---

<div class="post-metadata">

**Author:** ![tasty](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@tasty](https://forum.shopware.com/u/tasty)\
**Post date:** [26. Februar 2013 um 11:21 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/12 "2013-02-26T11:21:29Z")

</div>

Altes Thema, alte Shopwareversion. Ich habe allerdings das gleiche Problem mit der 4.0.4. Nun hat sich ja die komplette Struktur verändert und mir fehlt der Ansatzpunkt. :-/

---

<div class="post-metadata">

**Author:** ![steffendruck](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@steffendruck](https://forum.shopware.com/u/steffendruck)\
**Post date:** [13. Juni 2013 um 10:42 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/13 "2013-06-13T10:42:20Z")

</div>

hier das gleich Problem… Kann jemand helfen?

---

<div class="post-metadata">

**Author:** ![lobby](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/lobby/32/7864_2.png) [@lobby](https://forum.shopware.com/u/lobby)\
**Post date:** [19. Februar 2014 um 16:30 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/14 "2014-02-19T16:30:37Z")

</div>

Damit die Preise richtig gerechnet werden, müssen alle round()-Funktionen in engine/core/class/sBasket.php geändert werden von round($var,2); in round($var,4); in der public function sGetBasket() Ich hab außerdem zusätzlich eine Datei angelegt „engine/Library/Enlight/Template/Plugins/modifier.currencyLong.php“ (Kopie von engine/Library/Enlight/Template/Plugins/modifier.currency.php) Dort habe ich nach `$currency = Enlight\_Application::Instance()-\>Currency();` den Wert `$config['precision'] = 4;` hinzugefügt. Die Methode heißt dann natürlich function smarty\_modifier\_currencyLong($value, $config = null, $position = null) Dann kann man den Modifier currentLong im Template an den stellen nutzen, wo man ihn benötigt. `{$row.price|currencyLong}` Wer grundsätzlich alle Preise ändern will, kann einfach gleich die engine/Library/Enlight/Template/Plugins/modifier.currency.php anpassen.

---

<div class="post-metadata">

**Author:** ![artep](https://avatars.discourse-cdn.com/v4/letter/a/aca169/32.png) [@artep](https://forum.shopware.com/u/artep)\
**Post date:** [19. Februar 2014 um 17:00 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/15 "2014-02-19T17:00:12Z")

</div>

Hi, irgendwie ist es schon sehr traurig, dass man an diesen Dateien selbst rumwerkeln soll/muss und diese Fehler nicht von Shopware endlich mal bereinigt werden. Es werden so viele Sachen angepackt, neue Versionen, dauernd neue Updates, neue Projekte, aber das Wesentliche und Wichtige wird einfach nicht gemacht, obwohl das Problem seit der 3er Version schon besteht. :thumbdown: Eine richtige Berechnung ist das A und O einer Shopsoftware! Bitte Shopware packt dieses Thema endlich mal an und sorgt für eine richtige Berechnung.

---

<div class="post-metadata">

**Author:** ![Patrick\_Schucker](https://avatars.discourse-cdn.com/v4/letter/p/a5b964/32.png) [@Patrick\_Schucker](https://forum.shopware.com/u/Patrick_Schucker)\
**Post date:** [19. Februar 2014 um 17:14 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/16 "2014-02-19T17:14:19Z")

</div>

Hallo zusammen, das Thema wird von uns angepackt. Es ist definitiv nicht vergessen! Um dieses Verhalten zu ändern müssen in Shopware weitreichende Änderungen vorgenommen werden. Dies ist nicht mit ein paar Zeilen Code korrekt zu bewerkstelligen. Die hier genannten Workarounds sind auch nur mit Vorsicht zu genießen. Sinnvoll ist es auf jeden Fall nach einer solchen Änderung einiges zu testen. Zum Beipsiel Kundengruppenpreise / Brutto / Netto / Rabatte / Preisgruppen etc. Von uns wird dies geändert, wenn die Refakturierung der Core Klassen durchgeführt wurde. Dann wird es an den Stellen komplett neue Berechnungen, bzw. dementsprechende Anpassungen geben. Grüße aus dem Münsterland Patrick Schücker

---

<div class="post-metadata">

**Author:** ![artep](https://avatars.discourse-cdn.com/v4/letter/a/aca169/32.png) [@artep](https://forum.shopware.com/u/artep)\
**Post date:** [19. Februar 2014 um 17:29 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/17 "2014-02-19T17:29:05Z")

</div>

Hallo Patrick, schön, dass mal ein Statement von Euch dazu kommt und nicht vergessen ist. Nur haben wir mittlerweile 2014 und seit 2009 bin ich bei Euch bzw. habe ich die Software von Euch und während dieser Zeit hat sich nichts getan, obwohl alle das dauernd bemängelt haben und immer noch bemängeln. [quote=„Patrick Schücker“] Von uns wird dies geändert, wenn die Refakturierung der Core Klassen durchgeführt wurde. Dann wird es an den Stellen komplett neue Berechnungen, bzw. dementsprechende Anpassungen geben.[/quote] Ich hoffe doch, dass wir alle wenigsten in diesem Jahr mit einer Behebung dieses Problem rechnen können und nicht noch ein paar Jahre darauf warten müssen. Es ist wirklich mehr als wichtig.

---

<div class="post-metadata">

**Author:** ![ecom-software](https://avatars.discourse-cdn.com/v4/letter/e/91b2a8/32.png) [@ecom-software](https://forum.shopware.com/u/ecom-software)\
**Post date:** [19. Februar 2014 um 18:51 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/18 "2014-02-19T18:51:47Z")

</div>

[quote=“Patrick Schücker”]Hallo zusammen, das Thema wird von uns angepackt. Es ist definitiv nicht vergessen! Um dieses Verhalten zu ändern müssen in Shopware weitreichende Änderungen vorgenommen werden. Dies ist nicht mit ein paar Zeilen Code korrekt zu bewerkstelligen. Die hier genannten Workarounds sind auch nur mit Vorsicht zu genießen. Sinnvoll ist es auf jeden Fall nach einer solchen Änderung einiges zu testen. Zum Beipsiel Kundengruppenpreise / Brutto / Netto / Rabatte / Preisgruppen etc. Von uns wird dies geändert, wenn die Refakturierung der Core Klassen durchgeführt wurde. Dann wird es an den Stellen komplett neue Berechnungen, bzw. dementsprechende Anpassungen geben. Grüße aus dem Münsterland Patrick Schücker[/quote] Hallo Patrick, danke für deine Antwort nur ist das leider nicht einfach so leicht zu sagen. Meine Entwickler und ich waren schockiert, als wir für einen unseren Kunden genau diese Anpassungen machen mussten und es kann auch nicht sein, dass man als Agentur und Shopware Partner sich mit so einen unsauberen Code herumschlagen muss und mit Funktionen die 500 Zeilen lang sind. Warum gibt es keine zentrale Klasse in der für den gesamten Shop alle Rundungen und Preis Funktionen erledigt werden. Es ist immer doof andere Systeme zu vergleichen, es spricht aber nichts gegen abzuschauen wie das dort gelöst wurde: Beispiel OXID eShop: `oxRegistry::getUtils()-\>fRound( $dVatValue );` Dh. ich brauche nur eine Funktion im gesamten Shop anzupassen und damit ist es für den gesamten Shop gültig, damit ist ein PlugIn in 10 Min. fertig und der Shop kann weiterhin aktualisiert werden, nicht wie bei der aktuellen rumgurkerei bei Shopware. Ich kann euch daher nur ans Herz legen hausintern die Refakturierung voranschreiten zu lassen, daher weiter so bitte.

---

<div class="post-metadata">

**Author:** ![Martin\_Weinmayr](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/martin_weinmayr/32/13016_2.png) [@Martin\_Weinmayr](https://forum.shopware.com/u/Martin_Weinmayr)\
**Post date:** [19. Februar 2014 um 19:32 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/19 "2014-02-19T19:32:37Z")

</div>

Servus, Naja das mag ja evtl. Bei der Konkurrenz besser gelöst sein. Aber das genannte System hat dafür viele andere Schwächen. Iframes im backend, modulare Plugins kennen die nicht, Standard Frameworks sind ein Fremdwort etc. Soll heißen, dass jedes System so seine Stärken hat, aber sicher auch seine Schwächen. Edit: aber ich gebe dir recht, das ist nichts was uns Agenturen beschäftigen sollte, da es nunmal Core ist.

---

<div class="post-metadata">

**Author:** ![ecom-software](https://avatars.discourse-cdn.com/v4/letter/e/91b2a8/32.png) [@ecom-software](https://forum.shopware.com/u/ecom-software)\
**Post date:** [19. Februar 2014 um 19:43 UTC](https://forum.shopware.com/t/preis-nachkommastellen/3249/20 "2014-02-19T19:43:20Z")

</div>

[quote=„Martin Weinmayr“]Servus, Naja das mag ja evtl. Bei der Konkurrenz besser gelöst sein. Aber das genannte System hat dafür viele andere Schwächen. Iframes im backend, modulare Plugins kennen die nicht, Standard Frameworks sind ein Fremdwort etc. Soll heißen, dass jedes System so seine Stärken hat, aber sicher auch seine Schwächen.[/quote] Hi Martin, darum geht’s doch gar nicht! Es soll kein System beworben werden, das hier beschriebene Problem und die Sauberkeit vom Code ist dort sicherlich mehr gegeben. Natürlich hat jedes System seine vor und Nachteile, nur dein Kommentar hilft hier sicherlich nicht weiter. Wir arbeiten mit beiden System und sehr gerne mit Shopware, sonst wäre ich auch keine Partnerschaft eingegangen. Im Endeffekt muss man immer das beste System für den Kunden finden und dabei seine eigene Präferenz hinten anstellen.

[Nächste Seite](https://forum.shopware.com/t/preis-nachkommastellen/3249.md?page=2)
