stephforum Posted January 16, 2011 Share Posted January 16, 2011 Bonjour à tous,j'utilise prestashop depuis l'année derniere et j'avais mis comme prefixe de facture FA2010 et cette année, j'ai mis FA2011 afin de pouvoir identifier d'un simple coup d'oeil l'année de celle-ci mais, en revenant sur les factures effectuées l'année dernieres, à ma grande surprise, le prefixe des factures est lui aussi changé :bug: Je pensais que le numéro de facture etait inscrit en entier ( prefixe et numéro) dans la base de donnée hors, apparament ce n'est pas le cas.Vous pouvez me confirmer que c'est bien le mode de fonctionnement de prestashop ? Que ce n'est pas un bug concernant mon site. Merci beaucoup pour votre réponse.Bon dimanche Link to comment Share on other sites More sharing options...
juliens Posted January 16, 2011 Share Posted January 16, 2011 Bonjour,les factures ne sont pas stockées mais générées à la demande lorsque que tu cliques sur une facture via le BO ou lorsqu'un client clique sur une facture dans son compte.Le préfixe facture est global, donc si tu le modifies aujourd'hui, les factures d'hier auront aussi ce préfixe.A+ Link to comment Share on other sites More sharing options...
stephforum Posted January 16, 2011 Author Share Posted January 16, 2011 Bonsoir et merci juliens pour ta reponse, encore heureux que je m'en suis rendu compte maintenant car pour le moment, je n'ai pas eu de question embarassante de clients qui se demanderai pourquoi le numéro de facture n'est pas le meme qu'au début J'ai donc remis le prefixe que j'avait au début :-) C'est dommage que le prefixe de la facture ne soit pas enregistré comme le numéro, cela permetrai de le changer lorsque l'on veu que celui-ci soit associé à l'année en cours.Bonne fin de soiréeSteph Link to comment Share on other sites More sharing options...
juliens Posted January 17, 2011 Share Posted January 17, 2011 Il y a un moyen d'obtenir ce que tu veux mais il faut coder.L'idée : définir le prefixe de manière dynamiqueIl faut modifier tous les templates afin que le numéro de facture soit : substr(invoice_date,0,4).str_pad(invoice_id, 10, '0', STR_PAD_LEFT); Ou alors, trouver la fonction qui formate le numéro de facture Link to comment Share on other sites More sharing options...
juliens Posted January 17, 2011 Share Posted January 17, 2011 Bon j'ai la solution, je la poste plus tard aujourd'hui car il faut que j'aille au boulot Link to comment Share on other sites More sharing options...
juliens Posted January 17, 2011 Share Posted January 17, 2011 Voici donc la solution pour ajouter automatiquement l'année de commande comme préfixe au numéro de facture.Dans le fichier /admincp/tabs/AdminOrder.php, remplacer : /* Display invoice information */ if (($currentState->invoice OR $order->invoice_number) AND count($products)) echo ' id.'&pdf;"> '.$this->l('Invoice').' id.'&pdf;">'.$this->l('Invoice #').''.Configuration::get('PS_INVOICE_PREFIX', intval($cookie->id_lang)).sprintf('d', $order->invoice_number).' '.$this->l('Created on:').' '.$order->invoice_date.' '; par /* Display invoice information */ if (($currentState->invoice OR $order->invoice_number) AND count($products)) echo ' id.'&pdf;"> '.$this->l('Invoice').' id.'&pdf;">'.$this->l('Invoice #').''.substr($order->invoice_date,0,4).sprintf('d', $order->invoice_number).' '.$this->l('Created on:').' '.$order->invoice_date.' '; Dans le fichier /classes/PDF.php, remplacer la ligne commençant par : $this->Cell(77, 10, self::l('INVOICE #') ... par $this->Cell(77, 10, self::l('INVOICE #').' '.substr(self::$order->invoice_date,0,4).sprintf('d', self::$order->invoice_number), 0, 1, 'R'); et replacer la ligne commençant par : $pdf->Cell(0, 6, self::l('INVOICE #') par $pdf->Cell(0, 6, self::l('INVOICE #').substr(self::$order->invoice_date,0,4).sprintf('d', self::$order->invoice_number).' '.self::l('from') . ' ' .Tools::displayDate(self::$order->invoice_date, self::$order->id_lang), 1, 2, 'L', 1); A noter que cette modification annule la gestion du préfixe positionné dans le BOFais une sauvegarde de ces deux fichiers avant de les modifier. Link to comment Share on other sites More sharing options...
stephforum Posted January 17, 2011 Author Share Posted January 17, 2011 merci juliens :-) ,C'est super ;-) , j'espere que cela ne t'a pas mis en retard pour ton boulot :cheese: Bonne soirée.steph Link to comment Share on other sites More sharing options...
juliens Posted January 17, 2011 Share Posted January 17, 2011 Ben si, j'étais en retard. Du coup mon boss m'a collé un avertissement ! (*)A+ (*) c'est une blague Link to comment Share on other sites More sharing options...
stephforum Posted January 17, 2011 Author Share Posted January 17, 2011 ha quel blagueur ;-P ... En lisant le mail prévenant du message, j'ai cru que c'etait vrai :-P Encore heureux que je ne suis pas cardiaque Encore merci et bonne soirée ;-) Steph 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