Mengizinkan pesanan negatif, dengan Grand Total kurang dari 0

15

Salah satu klien kami telah meminta kemampuan personel entri pesanan untuk mengirimkan pesanan dengan total pesanan negatif. Aplikasi sudah memungkinkan item baris negatif, yang berfungsi dengan baik selama sisa pesanan membuat Total Total positif.

Tampaknya Magento berusaha sangat keras untuk tidak memiliki total pesanan negatif. Melihat total yang dikumpulkan menunjukkan bahwa Magento akan menerapkan kartu hadiah untuk jumlah terbalik. Jika saya menonaktifkan kartu hadiah, maka itu berlaku Kredit Toko (bahkan jika kredit tidak ada). Saya menduga ini hanya kekhasan (dan mungkin herring merah).

Adakah yang bisa membantu menentukan di mana Magento memaksa 0 sebagai jumlah Grand Total maksimumnya, dan bagaimana kita bisa memenuhi permintaan? Saya tidak ingin begitu saja mengatur total, karena saya ingin Magento menghitung semuanya secara normal, hanya dengan penyisihan Total Total negatif.

Semangat pertanyaannya adalah kelayakan teknis, tetapi begitu hal itu diatasi, saya tertarik pada 'gotcha' atau pemikiran apa pun yang dapat menghalangi penggunaan total urutan negatif dari sudut pandang non-teknis.

Tolol
sumber
1
Bisakah Anda memberi tahu kami mengapa Anda menginginkan ini?
patokan
@benmark - Seperti yang saya tahu Anda tahu, terkadang 'itulah yang diinginkan klien' mengalahkan logika dan alasan. Mereka ingin memberi orang penjualan mereka (menggunakan formulir pesanan yang dibuat khusus) kebebasan penuh pada pembuatan pesanan dan harga (yang sudah berfungsi, bahkan untuk item baris dengan harga negatif - selama total pesanan di atas 0. Ini hanya mengambil itu selangkah lebih maju untuk memungkinkan seluruh pesanan menjadi negatif jika diinginkan). Terima kasih atas bantuan yang Anda berikan!
Morgon
Bisakah Anda memberikan contoh dunia nyata di mana ini akan berguna?
James Anelay - TheExtensionLab
Bagaimana Anda akan berurusan dengan memo kredit?
Maikel Koek
@MaikelKoek - Klien tidak benar-benar melakukan memo kredit seperti itu, jadi saya tidak berpikir itu akan berdampak apa pun.
Morgon

Jawaban:

4

Ini sepertinya keputusan yang sangat berisiko. Jika Anda menerapkannya, Anda perlu mengganti inti terlalu banyak, membuat situs ini sangat sulit untuk ditingkatkan dan didukung.

Melakukan pencarian di inti Magento untuk mendapatkan max(0hasil di bidang berikut:

  • 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)

Dan masih banyak lagi di templat di adminhtml dan area frontend. Anda mungkin perlu menulis ulang banyak model ini untuk mencapai fungsionalitas yang diinginkan.

Anda mungkin ingin mempertimbangkan alternatif di bawah ini:

  • Berikan orang-orang penjualan login ke area admin Magento dan memungkinkan mereka untuk membuat pesanan dari sana - kontrol penuh atas harga barang dll
  • Gunakan kredit toko jika pelanggan harus mendapatkan kredit kembali (saya berasumsi ini untuk apa total negatif akan menjadi?)

Jika Anda memberikan skenario di mana pesanan akan berakhir dengan jumlah negatif, dan juga alasan di baliknya maka komunitas akan dapat memberi Anda jawaban yang lebih baik. Sulit untuk menyelesaikan masalah seperti ini sampai Anda memahami nilai bisnis di balik keputusan tersebut.

jharrison.au
sumber
Ans bagus Saya suka itu :)
Rama Chandran M