Ergebnis 1 bis 2 von 2

Thema: [Entwicklung] Umbuchung: Produkt aus Bestellung ändern – Problem mit Preisberechnung

  1. #1
    Contao-Nutzer
    Registriert seit
    12.11.2010.
    Beiträge
    178

    Frage [Entwicklung] Umbuchung: Produkt aus Bestellung ändern – Problem mit Preisberechnung

    Hallo,

    ich bin gerade dabei, eine Umbuchungsfunktion zu entwickeln; d.h., bei einer abgeschlossenen Bestellung soll ein Produkt durch ein anderes ersetzt werden.
    Nach etwas Reverse Engineering erschien es unkompliziert machbar, jedoch hänge ich momentan an einem Problem, das alles ins Wanken bringt : Gesamtpreis und Steuern der geänderten Bestellung werden nicht korrekt berechnet.

    Nachfolgend der vereinfachte Code:

    PHP-Code:
    // - $order        (Order) die Bestellung, die manipuliert werden soll
    // - $oldProductId (int)   ID des Produkts, das ersetzt werden soll
    // - $newProductId (int)   ID des neuen Produkts
    // - $newQuantity  (int)   Anzahl des neuen Produkts

    [gelöscht
    Für eine Bestellung beobachte ich folgendes beispielhaftes Verhalten:
    Code:
    == Vorher ==                    Betrag
    Gesamt:                         79.00
    Gesamt ohne Steuern:            66.39
    MwSt. (19 %):                   12.61
    
    == Nachher ==
    Gesamt:                         83.19 (falsch  | statt 99.00)
    Gesamt ohne Steuern:            83.19 (korrekt | 83.19 + 0.19 MwSt. × 83.19 = 99.0)
    MwSt. (19 %):                   12.61 (falsch  | s. o.!)
    MwSt. (19 %):                   13.28 (falsch  | keine Ahnung, wie der Wert zustande kommt)
    
    (Zwischensumme jeweils identisch zu Gesamtbetrag)
    Ich bin mir nicht wirklich sicher, ob und wie ich mit $cart umgehen muss. Ohne das Setzen einer Cart kam es jedoch zu einem Zugriff auf ein null-Objekt.

    Momentan habe ich noch die Hoffnung, dass nur eine Kleinigkeit fehlt und dass nicht die Funktionsweise von Isotope diese "Hack" deutlich erschwert. Habt ihr eine Idee, worin der Fehler liegen könnte?

    Besten Dank im Voraus und viele Grüße,
    JaiBee

    ---
    Isotope 2.2.0
    Contao 3.4.0
    Geändert von JaiBee (06.07.2015 um 22:50 Uhr) Grund: Code vorerst entfernt, da Fehler entdeckt. Werde neuen Code posten, sobald ausreichend getestet

  2. #2
    Contao-Nutzer
    Registriert seit
    12.11.2010.
    Beiträge
    178

    Standard Surcharges löschen

    Mittels folgenden Snippets lassen sich die Surcharges löschen, sodass der doppelte Wert verschwindet, aber so wirklich weiter bringt mich das dennoch nicht.

    PHP-Code:
    foreach ($order->getSurcharges() as $i => $surcharge) {
        
    $surcharge->delete();

    Gruß
    Geändert von JaiBee (23.06.2015 um 00:15 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •