0

Am having some issues in a CE1.9 dashboard whereby sales are under-reported by over 10% and customer names are missing from the last 5 table.

By way of background.

I upgraded from CE1.7 to 1.9 before Xmas in a convoluted process.

Basically, I: - copied production/live DB - installed CE1.9 over it, upgrading the tables - new theme, new extensions - installed all this in subfolder (old site in root) - cut over with some rewrites etc

All was well until I noticed customer names weren't appearing in orders on the dashboards (but are definitely there) and the dashboard total is about 10% off.

I exported all sales to CSV and the numbers are correct.

I've cleared cache, refreshed lifetime stats to no avail. The payments are all via Paypal so it ought not be the issue. (?)

One thing I will note is in between replicating the site and building it, production continued taking orders, so I just migrated all customer, sales and inventory tables over.

Seemed fine until some sales went AWOL around 10 days ago, after running fine post-cutover for about 10 days.

Here's a screen cap of missing data.

Has anyone seen this before?screen cap from dashboard

1

I believe I have encountered the same "issue" upgrading from 1.4.1.1 to 1.9.1.0. To be clear on the situation, I don't believe any information is actually missing. For some reason the "Last 5 Orders" list no longer displays Guest for guest orders, but rather displays an empty string.

The customer column has a default value of "Guest". The column renderer determines whether to render the default value by using is_null($value). It seems that the collection is now returning a space character rather than null, so the default value is no longer substituted and therefore a space character is rendered.

I tried to locate the exact piece of code that changed to cause this, I'm not 100% sure, but I believe that the difference may be down to Mage_Reports_Model_Resource_Order_Collection::joinCustomerName using $this->getConnection()->getConcatSql which translates to the MySQL function CONCAT_WS and Mage_Reports_Model_Mysql4_Order_Collection::joinCustomerName which simply uses CONCAT. I believe these essentially ends up the equivalent of:

mysql> select CONCAT(null,' ',null);
+-----------------------+
| CONCAT(null,' ',null) |
+-----------------------+
| NULL                  |
+-----------------------+
1 row in set (0.00 sec)

mysql> select CONCAT_WS(' ',null, null);
+---------------------------+
| CONCAT_WS(' ',null, null) |
+---------------------------+
|                           |
+---------------------------+
1 row in set (0.00 sec)
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.