axi Posted May 6, 2011 Share Posted May 6, 2011 Bonjour,je me rends compte d'un souci, je ne sais pas s'il est général à la V1.4.0.17 où si c'est moi qui ait cassé quelquechose:1 groupe revendeur 50% reduction, tarif HTCommande d'articles par un client dans ce groupe, le montant est correctement calculé pour le paiement et l'expédition ainsi que dans le FO.Le mail de confirmation de commande est ok (bons tarifs)Au moment de l'édition de la facture et dans la page du détail de la commande en BO, la réduction du groupe revendeur est réappliquée, càd que le détail des produits affiche un PU avec 50% de réduction supplémentaire...Idem pour la facture PDF...Au niveau code, on voit qu'il va chercher les produits en récupérant les infos dans la table ps_order où la réduction est déja appliquée. Et qu'il réapplique la réduction ligne 429 de order.php (fonction setProductPrices)je sais pas si c'est un bug, j'ai cherché dans le bugtracker mais rien trouvé qui correspondait exactement.Si qqun à eu le souci ou si c'est un bug et qu'il a été corrigé, je veux bien le détail parce que j'ai fait des modifs dans le code et je veux pas me lancer sur une maj.Merci d'avance. Link to comment Share on other sites More sharing options...
axi Posted May 6, 2011 Author Share Posted May 6, 2011 J'ai trouvé (suis content)===========================================================but: envoyer dans ps_order_detail le prix (product_price) sans aucune réduction (pas même celle de groupe)==================================================>Classes/Product.php ligne 1836 if ($use_reduc) $price -= $reduc; // Group reduction if ($reductionFromCategory = (float)(GroupReduction::getValueForProduct($id_product, $id_group))) $price -= $price * $reductionFromCategory; else // apply group reduction if there is no group reduction for this category $price *= ((100 - Group::getReductionByIdGroup($id_group)) / 100); devient if ($use_reduc){ $price -= $reduc; // Group reduction if ($reductionFromCategory = (float)(GroupReduction::getValueForProduct($id_product, $id_group))) $price -= $price * $reductionFromCategory; else // apply group reduction if there is no group reduction for this category $price *= ((100 - Group::getReductionByIdGroup($id_group)) / 100); } Je ne sais toujours pas si c'est un bug et si ça a été résolu mais si un admin veut jeter un oeil dessus... Link to comment Share on other sites More sharing options...
nicolas9289 Posted May 9, 2011 Share Posted May 9, 2011 le code indiqué est copié deux fois.Aurais tu le code corrigé ? Link to comment Share on other sites More sharing options...
axi Posted May 9, 2011 Author Share Posted May 9, 2011 Regarde bien, ça n'est pas le même, il y a les parenthèses en plus dans le deuxième Link to comment Share on other sites More sharing options...
BrunoJWest Posted September 15, 2011 Share Posted September 15, 2011 bonjour, pour moi ça n'est pas suffisant. je viens de découvrir que la remise par groupe était déjà appliquée une première fois dans classes/Order.php. donc dans l'ordre : le système applique la remise de groupe depuis Order.php puis applique la réduction éventuelle (promo) dans Product.php puis le cas échéant applique une nouvelle fois la remise de groupe dans product.php ce qui a deux effets que j'ai vérifié sur mes cas de figure qui ne fonctionaient pas bien. 1) la promo est appliquée après la première reduc de groupe (si c'est un montant ça cause le pb de l'ordre) 2) une seconde remise de groupe est appliquée. solution : supprimer la première remise de groupe faite dans Order.php qui fait doublon. et là tout fonctionne. Par contre pour les factures passées je suis obligé d'aller modifier la table de la base de données. Pour les nouvelles c'est bon</p> j'ai juste provisoirement mis en commentaire les lignes 769 et 768 du Order.php< if ($row['group_reduction'])<br /> $price -= $price * ($row['group_reduction'] * 0.01); ce qui devient : // if ($row['group_reduction'])<br /> // $price -= $price * ($row['group_reduction'] * 0.01); A noter quand même que le pb se posera peut-être aussi sur d'autres trucs en doublon entre les deux fichiers. J'espère avoir un avis de la prestateam .. Bruno Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now