Magentoレポート-UTCによるバケットですか?


7

magentoレポート(具体的には、売上>注文レポート)では、現地時間で日数がバケット化されると予想していました。

これは、少なくともmagento 1.14.2.2では、そうではないようです。未加工の注文を注文レポートと比較すると、ローカルタイムゾーンではなくUTCでバケット化されているため、一部の注文がレポートで正しくバケット化されていないことがわかります。

タイムゾーンがシステムで正しく設定され、有効期間の統計が更新されました。

私はMagento 1.9.2.2を試してみましたが、結果はローカルのタイムゾーンによってバケット化されているようです。これは、構成の問題、またはおそらくバグの可能性があることを意味すると思いますか?

誰でもこの問題を確認または拒否できますか?


私は、UTCがデータベースに格納されているタイムゾーンであることを発見しました。それが顧客に表示されたとき、それは管理者などに/ストアの構成を使用して変換される
RussellAlbin

ええ、でも私が気になっているのは、それgroup byが合計を取得するために実行しているとき、それはUTCまたは現地時間でそれをしているのでしょうか?タイムスタンプは日バケットに切り捨てられます。
surjikal

私がデータベースでいつも言うことができることから、utcです。したがって、グループはUTCから外れます。次に、ページに表示されるときに変換されます。レポートが5時間ずれていたため、保存中にデータベースの時間を中央標準時間に強制したコードの一部を元に戻す必要がありました。これが、データベーステーブルでの位置を確認する方法です。
RussellAlbin、2016年

回答:


2

1.14.2.3でこの動作を確認できましたが、バグのようです。

レポートの集計がどのように機能するかを見るとMage_Reports_Model_Resource_Report_Abstract::_getTableDateRangeSelect()、日付ごとのグループでは次のようになっていることがわかります。

$select  = $adapter->select()
    ->from(
        array($alias => $table),
        $adapter->getDatePartSql(
            $this->getStoreTZOffsetQuery(array($alias => $table), $alias . '.' . $column, $from, $to)
        )
    )
    ->distinct(true);

どこgetStoreTZOffsetQuery()でUTCから現在の管理タイムゾーンへのタイムゾーン変換を行うことになっています。

私はそれがどこでうまくいかないのかを見つけるためにさらにデバッグしなかったので、残念ながらこれも修正していません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.