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

    Factures ne se génèrent plus depuis 06/12 [RÉSOLU]

    Planifier Épinglé Verrouillé Déplacé Bugs & Améliorations
    20 Messages 2 Publieurs 1.2k 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.
    • Olivier75009O Hors-ligne
      Olivier75009
      dernière édition par Olivier75009

      Bonjour,
      comme dit dans le titre. Dans les logs erreur :
      PHP message: PHP Notice: Undefined variable: cellspacing in /var/www/clients/client3/web3/web/tools/tcpdf/tcpdf.php on line 18363PHP message: PHP Notice: Undefined variable: cellspacingx in /var/www/clients/client3/web3/web/tools/tcpdf/tcpdf.php on line 18418PHP message: PHP Notice: Undefined variable: cellspacingx in /var/www/clients/client3/web3/web/tools/tcpdf/tcpdf.php on line 18270PHP message: PHP Notice: Undefined variable: cellspacing in /var/www/clients/client3/web3/web/tools/tcpdf/tcpdf.php on line 18337PHP message: PHP Notice: Trying to access array offset on value of type null in /var/www/clients/client3/web3/web/tools/tcpdf/tcpdf.php on line 18337

      www.rituel-manucure.com

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

        Lol, tu les accumules^^
        Tu as des templates pdf particuliers ? (et tu as le mode debug activé)
        Parce que cette variable est définie plus haut

        if (($dom[$key]['value'] == 'table') AND isset($dom[$key]['cols']) AND ($dom[$key]['cols'] > 0)) {
        						// available page width
        						if ($this->rtl) {
        							$wtmp = $this->x - $this->lMargin;
        						} else {
        							$wtmp = $this->w - $this->rMargin - $this->x;
        						}
        						// get cell spacing
        						if (isset($dom[$key]['attribute']['cellspacing'])) {
        							$clsp = $this->getHTMLUnitToUnits($dom[$key]['attribute']['cellspacing'], 1, 'px');
        							$cellspacing = array('H' => $clsp, 'V' => $clsp);
        						} elseif (isset($dom[$key]['border-spacing'])) {
        							$cellspacing = $dom[$key]['border-spacing'];
        						} else {
        							$cellspacing = array('H' => 0, 'V' => 0);
        						}
        

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

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

          Ajoute cette ligne (18165):
          ff2f7c33-d96e-4f7b-9a5f-10ea188c2048-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

            Alors incompréhensible, hier soir les factures se génèrent à nouveau. MAIS (y'a un 'mais'), dans la journée je suis allé dans le BO vérifier les différentes permissions des employés (j'ai créé le week-end dernier des profils pour chacun des employés, ça n'avait jusqu'à présent pas été fait) et ajouter des droits (voir, modifier) sur les modules commandes & CA, alertes par email, paypal, payplug pour l'employé qui envoie les mails (en fait, ce n'est pas l'employé mais son mail qui est dans la conf smtp du BO). Donc ce matin je vois que les factures se génèrent (je verrais pour les dernières factures ce matin si ça suit le mouvement). Chose étrange, auparavant lors des changements de statut, il était indiqué le nom du superadmin à côté. Maintenant, c'est celui du dernier employé créé (== dernier profil aussi).

            www.rituel-manucure.com

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

              Non, concernant les changements de statuts, il y a un nom qui apparait QUE si c'est un employé qui a changé ce statut. Si c'est un changement automatique effectué par le code il n'y a pas de nom.
              Et ce n'est pas le le dernier employé mais celui du contexte en cours.

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

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

                Dans OrderHistory:
                438e208a-eb7f-4a98-9909-4538a44237f0-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 Olivier75009

                  Je viens de checker d'anciennes commandes, et en effet la plupart n'ont pas de nom. Du coup je ne vois pas en quoi les modifs que j'ai faites ont pu affecter la génération des factures.

                  Édith : il se trouve que j'ai aussi modifié le comportement d'un changement de statut, à savoir l'envoi d'un mail avec la facture. Est-ce ça qui peut déclencher la génération de facture
                  ?

                  www.rituel-manucure.com

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

                    Ah bah oui, la facture est générée et envoyée en pièce-jointe pour chaque email dont l'option "facture" est cochée.

                    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

                      Oui mais si on ne souhaite pas envoyé la facture dans l'email, celle-ci n'est donc pas générée ? (Donc est-ce à nous de configurer la génération d'une facture, n'est-ce pas fait automatiquement lors d'un changement de statut particulier - renvoi par le mode de paiement (accepté) /paypal/payplug...)

                      www.rituel-manucure.com

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

                        Ben non.
                        Le code est purement logique hein.
                        Facture cochée => on génère et on envoie la facture en pièce jointe
                        Facture pas cochée => on ne génère rien.

                        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

                          Bon ben il persiste un problème alors, un des changement de statut opéré par le retour du module de notre logisticien (préparation en cours) indique un des employés à côté. J'ai contacté l'employé en question qui n'a pourtant touché à rien.

                          www.rituel-manucure.com

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

                            Ah ben ça c'est connu, c'est votre module qui est écrit avec les pieds^^
                            Il prend le dernier employé trouvé dans la table ps_employee.
                            J'avais corrigé le module SoColissimo à l'époque en lui créant un employé spécifique et en mettant son id dans le module.

                            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

                              Ok, du coup je vais joindre leur dev'. (Plusieurs mises à jour de leur module dernièrement, même si auparavant on n'avait pas d'employé qui figurait à côté).

                              www.rituel-manucure.com

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

                                En effet, le dev a intégré le paramètre ID employee dans la conf de son module. Il a fallut créer un nouvel employé du coup. J'attends la fin de journée pour voir la génération des factures et je marque résolu.

                                www.rituel-manucure.com

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

                                  Bonjour Pierre,
                                  Je reviens vers toi car j'ai à nouveau ce même soucis lorsque je souhaite générer un pdf depuis une tâche cron (cellspacingx undefined variable... à la ligne 18272 et 18420). Je ne suis pourtant pas en mode debug (mais je logue la tâche pour savoir de quoi il en retourne). Le pdf n'est pas généré. Si j'appelle la page depuis mon navigateur, je n'ai qu'une page html avec un tableau (html/body/table/th/td). Si je génère une facture depuis une commande, le pdf se génère bien. J'ai un override sur pdfgenerator :

                                  <?php
                                  class PDFGenerator extends PDFGeneratorCore
                                  {
                                  	
                                      /*
                                      * module: alinkmodpantones
                                      * date: 2023-05-25 09:02:05
                                      * version: 1.0
                                      */
                                      public function writePage()
                                      {
                                          
                                          $this->SetHeaderMargin(10);
                                          $this->SetFooterMargin(21);
                                          $this->setMargins(10, 40, 10);
                                          $this->AddPage();
                                          $this->writeHTML($this->content, true, false, true, false, '');
                                      }
                                      /*
                                      * module: alinkmodpantones
                                      * date: 2023-05-25 09:02:05
                                      * version: 1.0
                                      */
                                      public function Header()
                                      {
                                          $this->writeHTML($this->header);
                                          $this->SetLineStyle( array( 'width' => 2, 'color' => array(246, 216, 190)));
                                  		$this->Line(5, 5, $this->getPageWidth()-5, 5); 
                                  		$this->Line($this->getPageWidth()-5, 5, $this->getPageWidth()-5,  $this->getPageHeight()-5);
                                  		$this->Line(5, $this->getPageHeight()-5, $this->getPageWidth()-5, $this->getPageHeight()-5);
                                  		$this->Line(5, 5, 5, $this->getPageHeight()-5);
                                      }
                                      /*
                                      * module: alinkmodpantones
                                      * date: 2023-05-25 09:02:05
                                      * version: 1.0
                                      */
                                      public function createContent($content)
                                      {
                                          $font = TCPDF_FONTS::addTTFfont(_PS_MODULE_DIR_.'alinkmodpantones/views/fonts/Arial.ttf', 'TrueTypeUnicode', '', 32);
                                          $this->FontFamily = 'Arial';
                                          $this->content = $content;
                                      }
                                      /*
                                      * module: alinkmodpantones
                                      * date: 2023-05-25 09:02:05
                                      * version: 1.0
                                      */
                                      public function Footer()
                                      {
                                          $this->writeHTML($this->footer);
                                          $this->FontFamily = self::DEFAULT_FONT;
                                      }
                                  }
                                  

                                  Celui-ci fonctionnait bien jusqu'à présent.

                                  www.rituel-manucure.com

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

                                    Curieux, la classe PDF n'a pas été modifiée récemment.
                                    Peux-tu retester stp ?

                                    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

                                      Je relance un cron, il lui faudra bien 3 minutes.

                                      www.rituel-manucure.com

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

                                        J'ai ça dans cron_error.log :

                                        --2024-10-22 09:59:01--  https://www.monsite.com/pdfnuancier
                                        Resolving www.monsite.com (www.monsite.com)... IPV6, IPV4
                                        Connecting to www.monsite.com (www.monsite.com)|IPV6|:443... connected.
                                        HTTP request sent, awaiting response... 200 OK
                                        Length: unspecified [text/html]
                                        Saving to: ‘/var/www/clients/client3/web3/web/ftp/nuancier_pdf.pdf’
                                        
                                             0K .......... .......... .......... .......... .......... 90.4M
                                            50K .......... .......... .......... .......... ..........  148M
                                           100K .......... .......... .......... .......... ..........  118M
                                           150K .......... .......... .......... .......... ..........  111M
                                           200K .......... .......... .......... .......... ..........  111M
                                           250K .......... .......... .......... .......... .........   130M=0.003s
                                        
                                        2024-10-22 10:00:04 (115 MB/s) - ‘/var/www/clients/client3/web3/web/ftp/nuancier_pdf.pdf’ saved [306447]
                                        

                                        J'ai un fichier généré, mais c'est du html

                                        www.rituel-manucure.com

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

                                          Peux-tu retester stp (et si tu es dispo sur Skype ce serait pas mal)

                                          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

                                            Fait merci ! Tutto bene !
                                            Pour ceux qui seraient intéressés, il sagit d'une mauvaise implémentation dans le code du module, en appelant une méthode de la mauvaise manière : new PDF->render(filename, output) alors qu'il aurait fallu render(true).

                                            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