Credit memo gives: Total model should be extended from Mage_Sales_Model_Order_Total_Abstract
-
16-10-2019 - |
Question
Credit memos always worked fine on my friends store, he tried a few plugins, which he cannot recall also in specfic order/detail. They all got deleted off the server and yes, he did this in the live environment.
Problem is: Now all goes well until a credit memo is needed, We then get: There has been an error processing your request ... Exception printing is disabled by default for security reasons.
With a log ID number. Here is the full log:
a:5:{i:0;s:74:"Total model should be extended from Mage_Sales_Model_Order_Total_Abstract.";i:1;s:1885:"#0 /home/robbshop/public_html/app/code/core/Mage/Sales/Model/Order/Total/Config/Base.php(70): Mage::throwException('Total model sho...')
#1 /home/robbshop/public_html/app/code/core/Mage/Sales/Model/Config/Ordered.php(83): Mage_Sales_Model_Order_Total_Config_Base->_initModelInstance('Mage_Fee_Model_...', 'fee', Object(Mage_Core_Model_Config_Element))
#2 /home/robbshop/public_html/app/code/core/Mage/Sales/Model/Order/Total/Config/Base.php(88): Mage_Sales_Model_Config_Ordered->_initModels()
#3 /home/robbshop/public_html/app/code/core/Mage/Sales/Model/Order/Creditmemo.php(329): Mage_Sales_Model_Order_Total_Config_Base->getTotalModels()
#4 /home/robbshop/public_html/app/code/core/Mage/Sales/Model/Service/Order.php(208): Mage_Sales_Model_Order_Creditmemo->collectTotals()
#5 /home/robbshop/public_html/app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreditmemoController.php(138): Mage_Sales_Model_Service_Order->prepareCreditmemo(Array)
#6 /home/robbshop/public_html/app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreditmemoController.php(222): Mage_Adminhtml_Sales_Order_CreditmemoController->_initCreditmemo()
#7 /home/robbshop/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Adminhtml_Sales_Order_CreditmemoController->newAction()
#8 /home/robbshop/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('new')
#9 /home/robbshop/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#10 /home/robbshop/public_html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#11 /home/robbshop/public_html/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#12 /home/robbshop/public_html/index.php(84): Mage::run('nl')
#13 {main}";s:3:"url";s:96:"/index.php/beheer/sales_order_creditmemo/new/order_id/1465/key/b33de54d5125a4cfa9a7302dea027a0b/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:5:"admin";}
Anybody else seen this before ? We cannot find the answer here and we'd like to use credit memo's still.
What I have tried: clearing all cache files in the backend and on the ftp server, but it is starting to feel like sql corruption :S And I looked at folder/file rights, all is okay.
Solution
Error is there:
Total model should be extended from Mage_Sales_Model_Order_Total_Abstract.
You or one of your installed modules adds a total model which is not extended from Mage_Sales_Model_Order_Total_Abstract
.
Use xdebug, hook into the Mage::throwException()
line in
app/code/core/Mage/Sales/Model/Order/Total/Config/Base.php (Line 70)
and check which model produces the error. Then you can either disable it or fix the bug.
What you can else do:
When you know the name of the total model, check the table config_core_data
for an entry, maybe the config is read from there. A plugin might have added the config and just uninstalling doesn't reset the database.
And for the next time: first try new plugins at home, before throwing them on your end customers.