Berechnung des Artikelpreises mit Auswahlliste bei geänderter Bestellung

Hallo zusammen,
in ein paar älteren threads habe ich gelesen, dass es u.U. Fehler bei Preisberechnungen gibt, wenn Bestellungen im admin bearbeitet werden. Allerdings habe ich nirgends genau das beschrieben gesehen was ich festgestellt habe und wäre dankbar jemand könnte mir sagen, ob es dafür schon eine Lösung gibt, die unter Oxid6 eingesetzt werden kann:
Voraussetzung: im admin ist “Preisänderung durch Auswahllisten erlauben” angehakt.
Man lege eine Auswahlliste mit 2 Auswahlfeldern und unterschiedlichen Preisen an, Bsp Auswahl1 +10, Auswahl2 +20, ordne einen Artikel Bsp für 10 zu und führe eine Bestellung des Artikels mit Auswahl2 durch. Gesamtpreis des Artikels ist dann 10 + 20 =30. Modifiziert man die Bestellung nachträglich im admin, beispielsweise indem man einen Rabatt von 5 einträgt, oder sonst irgendwas mach beträgt der Artikelpreis plötzlich 20, denn es wird bei der Neuberechnung der Wert der Auswahl1 verwendet Also 10 + 10).
Macht man eine Bestellung mit Auswahl1 tritt der Fehler natürlich nicht auf, denn es wird auch hier die Auswahl1 bei der Neuberechnung verwendet. Es lässt sich also nur reproduzieren, wenn die Auswahlliste mehr als eine Auswahl hat, die Auswahlfelder verschiedene Preise haben und man nicht die Auswahl1 wählt.
Bin für Tips dankbar.
Sonnigen Sonntag
Mignon

Hallo,
vor 4 Wochen hatte ich schon den Fehler s.o. gepostet.
Offenbar versteht mich niemand, darum versuche ich es noch eimal anders zu formulieren: Bei Änderungen einer Bestellung von Artikeln mit Auswahllisten wird der Auf, bzw. Abschlag immer auf “Sortierung 1” gesetzt.
Kann jemand den Fehler nachvollziehen? Er lässt sich in jedem frisch aufgesetzten Demoshop reproduzieren.
Für mich stellt sich das so dar:
Einem Artikel mit dem Preis X ist eine Auswahlliste zugeordnet mit (mindestens) 2 Auswahlfeldern und unterschiedlichen Preisen für jedes Feld, Bsp Auswahl1 Preis 1 “Sortierung 1”, Auswahl2 Preis 2 “Sortierung 2”. Bestellt man den Artikel mit der Auswahl2 beträgt dessen Preis X + 2. Modifiziert man die Bestellung nachträglich im admin, indem man beispielsweise die Zahlart ändert wird der Artikelpreis verändert. Der Preis beträgt jetzt nicht mehr X + 2, sondern X + 1 (“Sortierung 1”).
Irritierend dabei ist, dass der Name der dem Artikel zugeordneten Auswahl weiterhin Auswahl2 heisst.

Ich wäre dankbar, jemand der sich da auskennt würde das nachstellen. Vielleicht hat jemand eine Idee wo der Fehler liegt.

Mignon

Ist ein Bug: https://bugs.oxid-esales.com/view.php?id=6583
Gibt aber leider keine Hinweise dort wie man das beheben könnte.

Hallo leofonic,
vielen Dank für Deinen Hinweis. Der Bugreport beschreibt, dass die recalculation falsch gemacht wird. Bisher hat jedoch niemand genau benannt was falsch läuft, nämlich dass egal, welches Auswahlfeld dem Artikel zugeordnet ist bei der recalculation immer der Wert aus Sortierung 1 genommen wird. Vielleicht würde diese Info die Fehlerbehebung erleichtern.
In dem Beispiel von kex ist der Wert von Sortierung 1 null (kein Aufpreis). Deshalb sieht es so aus, als würde die Auswahl in der recalculation gar nicht berücksichtigt. Das stimmt jedoch nicht.

Viele Grüsse Mignon

Mit einer Fehlerbehebung seitens OXID schaut es da schlecht aus denke ich. So weit ich das sehen kann besteht der Fehler schon immer und hat nie jemand interessiert. Auswahllisten werden in OXID stiefmütterlich behandelt. Ich denke da muss man selbst schauen wie man das zum Laufen bekommt.

Mit diesem Modul wird der Preis nicht neu berechnet und dadurch wird auch die Auswahlliste nicht mehr falsch eingelesen: https://github.com/proudcommerce/Backend-Order-OXID
Ist zwar für Oxid 4.10 scheint aber kein Problem mit Oxid 6 zu haben.

Ich bin erst jetzt dazu gekommen das Modul auszuprobieren. Es funktionniert perfekt unter Oxid 6.
Tausend Dank an leofonic für die Hilfe und an die Entwickler des Moduls!

1 Like