
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:
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);
Comments
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.
Muss das dann nicht eher in sArticles sein?
An dieser Stelle wird die Tabelle s_order_basket gefüllt
Betrifft die Prozedur sAddArticle aus der Datei core/sBasket.php
Und wie bekomme ich es hin dass im Warenkorb der Einzelpreis eines Artikels beispielsweise nicht 0,05 sondern 0,0534 ist?
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.
Jemand einen Rat?
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 den Wert 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. Wer grundsätzlich alle Preise ändern will, kann einfach gleich die engine/Library/Enlight/Template/Plugins/modifier.currency.php anpassen.
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.
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
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. 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.
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: 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.
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.
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.
Und ja ich gebe es zu ich habe genau diese Stelle bei o*id auch schon verändert ;-)
wie ist der aktuelle Stand bei den Nachkommastellen?
Ich friemel mich hier auch seit Tagen durchs System - leider ohne Erfolg
Wir benötigen für unseren Shop genaue Preise welche aus mindestens 4 Nachkommastellen berechnet werden.
Gruß Bielenberg
ich kann dir leider noch nichts neues sagen. Diese Änderung ist bei Shopware nicht ganz trivial und kann eine ganze Menge Nebeneffekte nach sich ziehen. Das ist auch der Grund, warum wir keine quick and dirty Lösung anbieten können. Es muss dafür eine Menge tief im Core geändert werden. Dadurch sind auch sehr umfassende Tests unumgänglich. Dieser Punkt wird aber nach der Refakturierung der Core Klassen angegangen. Diese ist auch Grundlage der Anpassungen und kann daher nicht vorgezogen werden.
Grüße aus dem Münsterland
Patrick Schücker
Wäre eine Erklärung, warum mein SwagPayPal Modul 4 Dezimalstellen übergibt, was in PayPal zu kuriosen Preisanzeigen führt:
Wir können da nichts machen.
Ist auch nicht das erste mal oder so.
Heiner
Das Thema ist ja nun schon etwas älter, aber anscheinend hat sich immer noch nichts getan. Oder übersehe ich etwas wesentliches? Ich brauche für unseren Shop auch die Möglichkeit, mit 4 Nachkommastellen zu arbeiten. Aber alle Vorgehensweisen, die ich finden kann, scheinen mir nachher mehr Probleme zu verursachen als wirklich Lösung zu sein.
Der aktuelle Stand würde mich auch einmal interessieren. Kann bisher keine Veränderungen erkennen.