aide prestashop PhenixSuite Help
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    • S'inscrire
    • Se connecter

    Calcul des règles paniers HT/TTC [RÉSOLU]

    Planifier Épinglé Verrouillé Déplacé Bugs & Améliorations
    44 Messages 2 Publieurs 2.0k Vues 2 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • eoliaE Hors-ligne
      eolia @Olivier75009
      dernière édition par

      @Olivier75009
      Curieux, le contrôle effectué par le code me semble pourtant juste

      $new_sold = $order->total_paid_real + $amount;
                          if($new_sold > $order->total_paid) {
                              $this->errors[] = Tools::displayError('You cannot add a new payment because this order has already been paid in full');
                          }
      

      Ou alors le contrôle devrait être peut-être être fait sur les arrondis.
      Qu'avez-vous comme total_paid_real dans la table orders ?

      Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

      Olivier75009O 2 réponses Dernière réponse Répondre Citer 0
      • eoliaE Hors-ligne
        eolia @Olivier75009
        dernière édition par

        @Olivier75009 Oui, et c'est ce que j'ai corrigé.

        Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

        1 réponse Dernière réponse Répondre Citer 0
        • Olivier75009O Hors-ligne
          Olivier75009
          dernière édition par Olivier75009

          pour cette commande : 119.480000 (il y a déjà eu un remboursement de 1,82€)
          Capture d’écran 2023-11-24 à 10.35.43.png

          www.rituel-manucure.com

          1 réponse Dernière réponse Répondre Citer 0
          • Olivier75009O Hors-ligne
            Olivier75009
            dernière édition par

            Peut-on avoir la correction pour le calcul du groupe pro ?

            www.rituel-manucure.com

            eoliaE 1 réponse Dernière réponse Répondre Citer 0
            • Olivier75009O Hors-ligne
              Olivier75009 @eolia
              dernière édition par

              @eolia C'est le seul cas où nous n'avons pas pu éditer la commande)

              www.rituel-manucure.com

              1 réponse Dernière réponse Répondre Citer 0
              • eoliaE Hors-ligne
                eolia @Olivier75009
                dernière édition par

                @Olivier75009 a dit dans Calcul des règles paniers HT/TTC :

                Peut-on avoir la correction pour le calcul du groupe pro ?

                Si on m'en laisse le temps et que je puisse finaliser tous les tests, la version 1.6.2.21 sera libérée ce soir.

                Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

                1 réponse Dernière réponse Répondre Citer 0
                • Olivier75009O Hors-ligne
                  Olivier75009
                  dernière édition par

                  Merci encore.

                  www.rituel-manucure.com

                  1 réponse Dernière réponse Répondre Citer 0
                  • Olivier75009O Hors-ligne
                    Olivier75009 @eolia
                    dernière édition par Olivier75009

                    @eolia Si j'affiche $new_sold et $total_paid dans Tools::displayError : "You cannot add a new payment because this order has already been paid in full 117.66 sur 117.660000".
                    En ajoutant $new.'0000' > (...) l'ajout passe.

                    www.rituel-manucure.com

                    1 réponse Dernière réponse Répondre Citer 0
                    • eoliaE Hors-ligne
                      eolia
                      dernière édition par

                      Correctif:

                                      elseif(!Validate::isNegativePrice($amount)) {
                                          $this->errors[] = Tools::displayError('The amount is invalid.');
                                      }
                                      elseif(!Validate::isGenericName(Tools::getValue('payment_method'))) {
                                          $this->errors[] = Tools::displayError('The selected payment method is invalid.');
                                      }
                                      elseif(!Validate::isString(Tools::getValue('payment_transaction_id'))) {
                                          $this->errors[] = Tools::displayError('The transaction ID is invalid.');
                                      }
                                      elseif(!Validate::isLoadedObject($currency)) {
                                          $this->errors[] = Tools::displayError('The selected currency is invalid.');
                                      }
                                      elseif($order_has_invoice && !Validate::isLoadedObject($order_invoice)) {
                                          $this->errors[] = Tools::displayError('The invoice is invalid.');
                                      }
                                      elseif(!Validate::isDate(Tools::getValue('payment_date'))) {
                                          $this->errors[] = Tools::displayError('The date is invalid');
                                      }
                                      else {
                                          $amount = Tools::ps_round($amount, _PS_PRICE_COMPUTE_PRECISION_);
                                          $new_sold = $order->total_paid_real + $amount;
                                          if($new_sold > $order->total_paid) {
                                              $this->errors[] = Tools::displayError('You cannot add a new payment because this order has already been paid in full');
                                          }
                      

                      1ère ligne modifiée (1837) et ajout avant la ligne 1956 ($amount = Tools::ps_round($amount, PS_PRICE_COMPUTE_PRECISION);)

                      Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

                      1 réponse Dernière réponse Répondre Citer 0
                      • Olivier75009O Hors-ligne
                        Olivier75009
                        dernière édition par

                        Pourquoi ne pas retirer tous les nuls (0) après les décimales ?

                        www.rituel-manucure.com

                        1 réponse Dernière réponse Répondre Citer 0
                        • eoliaE Hors-ligne
                          eolia
                          dernière édition par

                          Parce que la comparaison de floats n'est pas si simple et dans votre cas précis vous êtes à 2 décimales mais certains pays sont à 3 (dinar ou ryal) ou plus et je ne sais pas ce que va rentrer le commerçant (Presta accepte jusqu'à 6 décimales)

                          Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

                          1 réponse Dernière réponse Répondre Citer 0
                          • Olivier75009O Hors-ligne
                            Olivier75009
                            dernière édition par Olivier75009

                            Je viens de voir que sur vos tests (règles paniers avec pourcentage de réduction -> Test HT Eolia) ça s'applique à la commande. Est-ce que ça fonctionne aussi sur les produits sélectionnés lorsqu'on choisit de faire une réduction sur une ou plusieurs catégories de produits ?

                            Édith : nous avons créé des prix spécifiques pour le WE du black friday, certains correspondent à une catégorie réduite dans les règles paniers, et lors d'une commande, au vu de la quantité de produit, la règle n'est calculée que sur les produits n'ayants pas eu de prix spécifiques.
                            (Exemple : -5% sur le prix si 5 produits de la même catégorie sont dans le panier.)

                            www.rituel-manucure.com

                            1 réponse Dernière réponse Répondre Citer 0
                            • eoliaE Hors-ligne
                              eolia
                              dernière édition par

                              Oui ça fonctionne pareil, ce n'est pas le type de calcul qui avait un souci, mais la façon dont le prix était calculé en TTC lors de la conversion pour le paiement.

                              Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

                              1 réponse Dernière réponse Répondre Citer 0
                              • Olivier75009O Hors-ligne
                                Olivier75009
                                dernière édition par

                                Et pour l'application de la règle panier même si l'article a un prix spécifique ? (la règle s'applique bien car il y a au moins le bon nombre d'articles, mais elle n'est calculée que sur les articles de cette règle n'ayant pas de prix spécifique)

                                www.rituel-manucure.com

                                1 réponse Dernière réponse Répondre Citer 0
                                • eoliaE Hors-ligne
                                  eolia
                                  dernière édition par

                                  Tout dépend ce que vous avez configuré ici:
                                  711e9a58-4b7a-447b-92d7-f9c45bbaacba-image.png

                                  Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • Olivier75009O Hors-ligne
                                    Olivier75009
                                    dernière édition par

                                    Et si il n'y a pas de code ? Nous avons décidé pour certaines règles de les appliquer systématiquement (donc pas de code).

                                    www.rituel-manucure.com

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • eoliaE Hors-ligne
                                      eolia
                                      dernière édition par

                                      Si vous avez autorisé le cumul on ne s'occupe pas du code.
                                      Si vous avez mis NON, seuls les codes commençant par le préfixe de votre choix seront cumulables.

                                      Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • Olivier75009O Hors-ligne
                                        Olivier75009
                                        dernière édition par

                                        Merci ! Ça fait le job !

                                        www.rituel-manucure.com

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • Premier message
                                          Dernier message
                                        bug
                                        26 sujets
                                        1.6
                                        24 sujets
                                        front-office
                                        11 sujets
                                        1.5
                                        8 sujets
                                        1.7
                                        5 sujets
                                        système
                                        4 sujets
                                        administration
                                        3 sujets
                                        hack
                                        3 sujets
                                        module
                                        3 sujets
                                        performance
                                        3 sujets
                                        smtp
                                        3 sujets
                                        transporteurs
                                        3 sujets
                                        dashboard
                                        2 sujets
                                        https
                                        2 sujets
                                        paypal
                                        2 sujets
                                        promotions
                                        2 sujets