选择站点语言

简体中文English
首页 关于我们 公司博客 伊锐数码为 Magento 最新版本修正 Bug

伊锐数码为 Magento 最新版本修正 Bug

09
07月
2010

作为专业的 Magento 开发团队,EveBit 近日帮助修正了 Magento 最新版本 v1.4.0.1 的一个销售数据计算错误,并在本站公布了修正办法。

关于 Magento v1.4.01 的这个bug, 同时可以在 Magento 的官方社区里面读到: http://www.magentocommerce.com/boards/viewthread/198624/, 以下,是我们对这个问题的中文描述及解决方案:

 

----------------------------------------------------------------------------------------------

 

MAgento 的这个bug, 是关于 Lifetime Sales calculation 的.

程序在统计 Lifetime Sale的时候出现了问题,这个问题是由于错误的计算了 DISCOUNT_COUNT所致。

而Average Sales = Lifetime Sales / Order Count 来算出来的,所以,当Lifetime Sales不正确的时候,Average Sales也不正确。

/app/code/core/Mage/Adminhtml/Block/Dashboard/Sales.php

the Lifetime Sales SQL 语句如下:


这个问题我想是在SQL语句中的SUM函数。在SQL语句 e.base_discount_amount是负数(-59.4000)。所以负负为正。所以这里,其实是 e.base_subtotal(60.0000) - discount_amount(-59.4000)。这里有7个order,和5个order是免费的,不用付钱。两个支付命令是相同的。

 

最后:

Lifetime Sales = (e.base_subtotal(60.0000) - discount_amount(-59.4000)) * 2;
Average Orders = Lifetime Sales / 7

我还检查了发货规则,action tab,the Discount amount是一个正值,并套用设定的产品价格折扣率。

---------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------

 

解决办法:

/app/code/local/Mage/Reports/Model/Mysql4/Order/Collection.php 这个文件。

line 204:
Original:
({{base_subtotal}}-IFNULL({{base_subtotal_refunded}},0)-IFNULL({{base_subtotal_canceled}},0)I-FNULL({{base_discount_amount}},0)+IFNULL({{base_discount_refunded}},0))*{{base_to_global_rate}}
Modified:
({{base_subtotal}}-IFNULL({{base_subtotal_refunded}},0)-IFNULL({{base_subtotal_canceled}},0)+IFNULL({{base_tax_amount}},0)+IFNULL({{base_discount_amount}},0)+IFNULL({{base_discount_refunded}},0))*{{base_to_global_rate}}


line 205:
Original:
array('base_subtotal', 'base_to_global_rate', 'base_subtotal_refunded', 'base_subtotal_canceled','base_discount_amount','base_discount_refunded')
Modified:
array('base_subtotal', 'base_to_global_rate', 'base_subtotal_refunded', 'base_tax_amount', 'base_subtotal_canceled','base_discount_amount','base_discount_refunded')

line 209:

Original:
({{base_subtotal}}-IFNULL({{base_subtotal_refunded}},0)-IFNULL({{base_subtotal_canceled}},0)-IFNULL({{base_discount_amount}},0)+IFNULL({{base_discount_amount}},0))
Modified:
({{base_subtotal}}-IFNULL({{base_subtotal_refunded}},0)-IFNULL({{base_subtotal_canceled}},0)+IFNULL({{base_tax_amount}},0)+IFNULL({{base_discount_amount}},0)+IFNULL({{base_discount_amount}},0))


line 210:
Original:
array('base_subtotal', 'base_subtotal_refunded', 'base_subtotal_canceled','

base_discount_amount','base_discount_refunded')
Modified:
array('base_subtotal', 'base_subtotal_refunded', 'base_tax_amount', 'base_subtotal_canceled','base_discount_amount','base_discount_refunded') 


伊锐数码 版权所有 谢绝转载
分享到:
关于我们 最新案例 技术优势 公司博客

avatar

武汉伊锐数码技术开发有限公司是一家位于中国武汉的专业 PHP (Professional PHP) 软件外包企业 (CMMI3 认证中)。我们专注于世界最前沿的网络门户,内容管理,电子商务解决方案;具有多媒体及图形应用,搜索引擎优化等国际化经验。

公司在Zend Framework, Joomla!, Magento, TYPO3, Drupal, WordPress, Facebook, Android, 云计算, 物联网等项目上拥有国内顶尖的开发团队,为欧盟,美国,加拿大,港台及中国大陆本土客户提供开发外包,业务流程外包等服务,拥有大量国内外成功案例。

我们专业化的团队将确保您能获得世界范围内最佳的性价比方案,愿与您创建合作共赢的网络天地!

Email: info[AT]evebit.com  电话: +86-27-82701147  在线问询: 请点击 此处...

CMS 系统专家

做为CMS(内容管理系统)的解决方案提供商,我们是国内唯一同时精通 Joomla!, WordPress, Drupal, TYPO3 等系统,并交付商业项目给国内外客户的公司。小到政治人物, 著名歌星的Fans社区, 大到新闻门户, 交易平台; 我们都可以量体裁衣提供相应的CMS解决方案!

Magento 专家

我们拥有世界顶级的基于开源项目Magento的电子商务平台的建站经验, 能够快速高效的为您搭建一个安全的电子商务平台, 国际大师的设计水准和高端的用户体验让您的品牌形象迅速提升! (http://www.magentocommerce.com)

Zend Framework 框架

Zend Framework 具有高度的模块化和灵活性, 我们有着强大的 Zend 开发团队以及非常丰富的 Zend Framework 开发经验, 可以快速搭建基于 Zend Framework 的大中型电子政务和电子商务平台. (http://framework.zend.com)

Zend 官方权威认证

公司积聚了国内一大批顶级的PHP专业人才: 我们部分工程师通过了 Zend认证工程师 (ZCE) 的考试, 并且全部工程师都进行了基于 Zend 的权威技术认证训练; 保证研发团队都拥有非常扎实的PHP研发经验, 数据库优化, 系统调试等各方面的综合素质.

鄂ICP备000358号