关于我们
公司博客
- 2011湖北互联网精英联谊会图片播报
- 我公司出席2011武汉市服务外包行业协会、武汉市软件行业协会联合年会
- 我公司成功为国外客户交付Drupal项目
- 伊锐数码参加“HTML5技术分享沙龙”活动
- 伊锐数码CMMI3认证工作正式启动
- 伊锐数码成为信步东方IT服务提供商
- 公司参加“云计算时代的过程改进及武汉市服务外包政策宣讲会”
- 伊锐数码助力客户走向移动互联网!
- 伊锐数码交付 Facebook 应用程序
- 伊锐数码作为软件外包提供商出席上海世博会活动
- 如何将大型 Magento 站点到 1.4以上版本 (公司英文博客)
- 关于 Zend Server 的一些思考 (公司英文博客)
- 如何整合 Zend Studio 及 SVN (公司英文博客)
- Magento 能支持 Amazon S3 吗?
- 最近解决的一个奇怪的 Joomla! 下图片显示问题
伊锐数码为 Magento 最新版本修正 Bug
作为专业的 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({{
Modified:
({{base_subtotal}}-IFNULL({{
line 205:
Original:
array('base_subtotal', 'base_to_global_rate', 'base_subtotal_refunded', 'base_subtotal_canceled','
Modified:
array('base_subtotal', 'base_to_global_rate', 'base_subtotal_refunded', 'base_tax_amount', 'base_subtotal_canceled','


