N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
J’ai récemment été confronté à un problème dans les rapports Magento pour une boutique comportant plusieurs sites.
Pour le site Anglais utilisant la livre sterling (£) les montants des rapports étaient toujours égal à 0, comme vous pouvez le voir sur la capture suivante.
( Aucun problème pour les autres sites, car la monnaie par défaut est l’Euro (€) )
Après pas mal de recherches j’ai trouvé que le problème était lié au fait que les taux de devises n’étaient pas définis dans « Système / Gestion des taux des devises », comme vous pouvez le voir sur la capture ci-dessous :
Pour que les données des prochaines commandes soient correctes, il faut renseigner un taux entre ces 2 devises.
Dans mon cas je vais partir du postulat 1€ = 1£ et renseigner les champs en conséquence.
A présent il va falloir régler le cas de toutes les commandes déjà passées.
Pour réaliser ses rapports, magento utilise le champ « base_to_global_rate » dans la table « sales_flat_order ».
Pour toutes nos anciennes commandes celui-ci a la valeur « 0.0000 » comme aucun taux n’était défini.
Ce champ n’est malheureusement pas éditable directement depuis l’administration.
Nous allons donc mettre à jour la table avec les bonnes valeurs via la requête SQL suivante :
(Remplacer les valeurs en italique par les valeurs de votre table)
UPDATE prefix_sales_flat_order SET base_to_global_rate = ‘your RateValue‘ WHERE store_id= store_id
Dans mon cas la requête est donc la suivante :
UPDATE mag_sales_flat_order SET base_to_global_rate = '1.0000' WHERE store_id=2 |
Une fois la requête effectuée, il faut maintenant rafraichir les statistiques de magento :
Cocher l’ensemble des rapports et sélectionner l’action « Rafraîchir les statistiques depuis le début »
Vous pouvez à présent relancer vos rapports et les données seront bien affichées !