Zulassen einer negativen Bestellung mit einer Gesamtsumme von weniger als 0

15

Einer unserer Kunden hat darum gebeten, dass sein Personal zur Auftragserfassung Aufträge mit einer negativen Auftragssumme übermitteln kann. Die Anwendung erlaubt bereits negative Werbebuchungen, was gut funktioniert, solange der Rest der Bestellung eine positive Gesamtsumme ergibt.

Es scheint, dass Magento sich sehr bemüht, keine negative Gesamtsumme zu haben. Ein Blick auf die gesammelten Summen zeigt, dass Magento eine Geschenkkarte für den umgekehrten Betrag einreicht. Wenn ich die Geschenkkarte deaktiviere, wird eine Gutschrift für das Geschäft angewendet (auch wenn keine Gutschrift vorhanden ist). Ich vermute, das ist nur eine Eigenart (und möglicherweise ein roter Hering).

Kann jemand herausfinden, wo Magento 0 als maximale Gesamtsumme erzwingt und wie wir die Anfrage möglicherweise erfüllen? Ich möchte die Summe nicht einfach erzwingen, da Magento alles normal berechnen soll, nur unter Berücksichtigung einer negativen Gesamtsumme.

Der Grundgedanke der Frage ist die technische Machbarkeit, aber sobald dies angesprochen ist, interessieren mich irgendwelche „Fallstricke“ oder Gedanken, die die Verwendung von Summen negativer Ordnungen von einem nichttechnischen Standpunkt aus abbringen könnten.

Morgon
quelle
1
Können Sie uns sagen, warum Sie das wollen?
benmarks
@benmarks - Wie Sie wissen, übertrumpft manchmal 'das, was der Kunde will' Logik und Vernunft. Sie möchten ihren Vertriebsmitarbeitern (unter Verwendung eines maßgeschneiderten Bestellformulars) die volle Freiheit bei der Erstellung von Bestellungen und Preisen geben (was bereits funktioniert, auch für Werbebuchungen mit negativen Preisen - solange die Bestellsumme über 0 liegt. Dies dauert nur es ist ein Schritt weiter, zuzulassen, dass die gesamte Bestellung negativ ist, falls gewünscht). Vielen Dank für jede Hilfe, die Sie zur Verfügung stellen können!
Morgon
Können Sie ein reales Beispiel geben, wo dies nützlich wäre?
James Anelay - TheExtensionLab
Wie gehen Sie mit Gutschriften um?
Maikel Koek
@MaikelKoek - Der Kunde macht so wie er ist keine wirklichen Gutschriften, daher glaube ich nicht, dass dies irgendwelche Auswirkungen haben würde.
Morgon

Antworten:

4

Dies scheint eine sehr riskante Entscheidung zu sein. Wenn Sie es implementieren würden, müssten Sie zu viel des Kerns überschreiben, was es extrem schwierig macht, die Site zu aktualisieren und zu unterstützen.

Das Durchführen einer Suche im Magento-Core nach max(0Retouren führt zu folgenden Bereichen:

  • Enterprise_CustomerBalance_Model_Observer::creditmemoDataImport()
  • Enterprise_GiftCard_Model_Catalog_Product_Price_Giftcard::getFinalPrice()
  • Mage_Bundle_Model_Product_Price::getFinalPrice()
  • Mage_Catalog_Model_Product_Type_Price::getFinalPrice()
  • Mage_Catalog_Model_Product_Type_Configurable_Price::getFinalPrice()
  • Mage_Catalog_Model_Product_Type_Grouped_Price::getFinalPrice()
  • Mage_CatalogRule_Helper_Data::calcPriceRule()
  • Mage_Downloadable_Model_Product_Price::getFinalPrice()
  • Mage_SalesRule_Model_Validator::process()
  • Mage_Tax_Block_Sales_Order_Tax::_initSubtotal()
  • Mage_Tax_Model_Sales_Total_Quote_Tax (multiple uses)

Und vieles mehr in Vorlagen im Adminhtml- und Frontend-Bereich. Möglicherweise müssen Sie viele dieser Modelle neu schreiben, um die gewünschte Funktionalität zu erzielen.

Möglicherweise möchten Sie die folgenden Alternativen in Betracht ziehen:

  • Geben Sie den Verkäufern im Magento - Administrationsbereich Anmeldungen und ermöglichen Sie ihnen, von dort aus Bestellungen zu erstellen - volle Kontrolle über Artikelpreise usw
  • Verwenden Sie das Guthaben, wenn der Kunde das Guthaben zurückerhalten soll.

Wenn Sie ein Szenario angeben, in dem eine Bestellung mit einer negativen Gesamtsumme endet, und auch die Gründe dafür, kann die Community Ihnen eine bessere Antwort geben. Es ist schwer, ein Problem wie dieses zu lösen, bis Sie den geschäftlichen Wert verstehen, der hinter der Entscheidung steht.

jharrison.au
quelle
Gute ans. Ich mag das :)
Rama Chandran M