Arco Posted January 1, 2012 Share Posted January 1, 2012 Réinitialiser numéro de facture au début de l'année. J'utilise Prestashop 1.4.3 Il n'existe aucune méthode pour réinitialiser les factures au début de l'année? Pour moi il est important de commencer par la facture FA000001 Avec leBO n'est pas possible de faire le changement. Les factures 2012 commencent toujours à partir du dernier numéro du 2011. Merci en avance. Il est urgent! Arco Link to comment Share on other sites More sharing options...
papich Posted January 1, 2012 Share Posted January 1, 2012 Bonsoir, Dans l'onglet commande -> facture en bas tu peux activer les factures, donner un préfixe et même le numéro des factures. Le problème de recommencer à 0 est que tu auras des doublons entre l'année la facture 1 de l'année 2011 et celle de 2012 non? Tiens nous au courant... Link to comment Share on other sites More sharing options...
Arco Posted January 2, 2012 Author Share Posted January 2, 2012 Bonjour Papich... Bonne année à vous! Le problème pour moi est que nous devons recommencer avec la facture FA000001 pour l'année 2012. Vous pensez que si au lieu de FA, je donne un préfixe FAT et le numero 1 dans ... J'ai à ce résultat? FAT000001 Bien sûr, sans supprimer toutes les factures de l'année 2011 Merci en avance pour votre gentillesse et à bientôt! Arco Link to comment Share on other sites More sharing options...
papich Posted January 2, 2012 Share Posted January 2, 2012 Je pense que oui après faut essayer...puisque je n'ai pas tester cette fonction le mieux serait d'appeler le service client de PS ou si vous avez un compte client de test mais alors la facture pour vos client commenceront à FAT0002 :-) Link to comment Share on other sites More sharing options...
paoparts Posted January 2, 2012 Share Posted January 2, 2012 bonjour, j'ai la meme interrogation pour changer le numero en ce debut d'année : j'utilise le suffixe 2011- et le numero de facture. pour 2012 j'aurias voulu 2012- et recommencer à 1, mais si je peux changer le suffixe sans problème dans mon backoffice prestashop, je ne peux mettre un numero de facture inférieur a ma dernière facture de 2011 .... y a t-il une solution , ou devons nous garder ce numero qui va s'incrementer a l'infini .... Link to comment Share on other sites More sharing options...
papich Posted January 3, 2012 Share Posted January 3, 2012 @paoparts quelle version de PS utilises-tu? Changer le suffixe de la facture est une bonne idée. Pourquoi ne peux tu mettre un numéro de facture inférieure à la dernière de 2011? Si tu change le suffixe en 2012 c'est une nouvelle année et donc un nouveau cycle qui recommence à 1. Ensuite tu peux toujours faire un test avec un compte en utilisant peut etre le module de julien breux (super utilisateur) pour voir le résultat et tes prochains clients seront facturé en 20120000002. La seule chose qu'il faut savoir c'est si les factures sont sauvegardées ou si elles sont générées à chaque fois qu'on clique dessus.... Link to comment Share on other sites More sharing options...
Arco Posted January 3, 2012 Author Share Posted January 3, 2012 Bonjour a tous nous avons trouvé une solution qui semble fonctionner avec PS 1.4.3 - 1.4.5 Si vous voulez essayer.. Mais avant, faire une copie de votre fichier d'origine.. Maintenant, vous devriez signaler ce problème à l'équipe de développement -------------------------------------------- • the file to edit it ... your dir... / classes / Order.php • open the file with your favorite editor and look for the string: getLastInvoiceNumber • you should find it at line 906 (approximately) and 923 (if you have other versions of well-controlled content) At line 906 changed this sequence: public static function getLastInvoiceNumber() { return (int)Db::getInstance()->getValue(' SELECT MAX(`invoice_number`) AS `invoice_number` FROM `'._DB_PREFIX_.'orders` '); } which becomes: public static function getLastInvoiceNumber() { return (int)Db::getInstance()->getValue(' SELECT MAX(`invoice_number`) AS `invoice_number` FROM `'._DB_PREFIX_.'orders` WHERE year(invoice_date) = year(current_date) '); } Then at the line 926 (approximately), edit the query: $number = '(SELECT `invoice_number` FROM ( SELECT MAX(`invoice_number`) + 1 AS `invoice_number` FROM `'._DB_PREFIX_.'orders`) tmp )'; Changes in this: $number = '(SELECT `invoice_number` FROM ( SELECT MAX(`invoice_number`) + 1 AS `invoice_number` FROM `'._DB_PREFIX_.'orders`) WHERE year(invoice_date) = year(current_date) tmp )'; Save the changes you just made and you will find that in the "Invoices" the counter is reset. Now you can also change the prefix to your liking such as "FA-2012 /" *** If you issued the invoice, do not worry, just change the table "orders" with the correct invoice number and re-print the invoice. ---------------------- Link to comment Share on other sites More sharing options...
papich Posted January 5, 2012 Share Posted January 5, 2012 Alors es ce que cela marche? Link to comment Share on other sites More sharing options...
Arco Posted January 5, 2012 Author Share Posted January 5, 2012 Bonjour a tous... Je pense que la meilleure solution est la suivante: cela fonctionne sur le PS 1.4.3 - 1.4.4 - 1.4.5 Voici les instructions - dans Prestashop chercher le fichier: - classes / order.php (enregistrer une copie de fichier d'origine) - aller à la ligne 900 environ (selon la version de Prestashop) - changer le code: public static function getLastInvoiceNumber() { return (int)Db::getInstance()->getValue(' SELECT MAX(`invoice_number`) AS `invoice_number` FROM `'._DB_PREFIX_.'orders` '); } public function setInvoice() { $number = (int)Configuration::get('PS_INVOICE_START_NUMBER'); if ($number) Configuration::updateValue('PS_INVOICE_START_NUMBER', false); else $number = '(SELECT `invoice_number` FROM ( SELECT MAX(`invoice_number`) + 1 AS `invoice_number` FROM `'._DB_PREFIX_.'orders`) tmp )'; remplacer par ce code: public static function getLastInvoiceNumber() { return (int)Db::getInstance()->getValue(' SELECT MAX(`invoice_number`) AS `invoice_number` FROM `'._DB_PREFIX_.'orders` WHERE year(invoice_date) = year(current_date) '); } public function setInvoice() { $number = (int)Configuration::get('PS_INVOICE_START_NUMBER'); if ($number) Configuration::updateValue('PS_INVOICE_START_NUMBER', false); else $number = Order::getLastInvoiceNumber() + 1; aller au back-office de PS et vérifier que le numéro de facture est maintenant # 0 La prochaine facture commencerà par # 1 Ne pas modifier le préfixe... Parce que il va a changer en le factures du 2011 Faites-moi savoir si ok à bientôt Arco Link to comment Share on other sites More sharing options...
papich Posted January 6, 2012 Share Posted January 6, 2012 Merci Vous avez essayer?Ca marche? C'est l'essentiel je ne comptais pas le mettre en place c'était pour vous aider. Bonne continuation Link to comment Share on other sites More sharing options...
SimplyConcept Posted June 8, 2012 Share Posted June 8, 2012 (edited) Bonjour, Le plus simple est d'aller dans la base SQL et de modifier la dernier commande, en remplacent "invoice_number" par votre nouveau numéro dans la structure "ps_order". Astuce pour auto incrémenter le numéro de commande si vous voulez que ce soit le meme que le facture : ALTER TABLE `ps_orders` AUTO_INCREMENT = 2012...... Voila c'est simple et rapide. Edited June 12, 2012 by mediacop (see edit history) Link to comment Share on other sites More sharing options...
divers972 Posted June 14, 2012 Share Posted June 14, 2012 Si on modifie le numéro de la dernière commande, cela ne va pas créer des doublons et peut etre des erreurs? 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