MonBlason Posted September 3, 2015 Share Posted September 3, 2015 Bonjour, Depuis la mise à jour en 1.6.1, la génération des factures a changé et je rencontre un problème: Lorsque je modifie l'adresse d'un client, celle-ci n'est pas mise à jour dans la facture ni dans le bon de livraison. Quelle que soit la façon de modifier l'adresse de livraison ou de facturation, rien n'y fait: directement dans le compte client depuis le back-office depuis la fenêtre de modification d'adresse de la page de la commande depuis le compte client sur le front-office L'adresse est bien modifiée dans la base de données (dans la table ps_address) mais pas dans la table ps_order_invoice (champs invoice_adress et delivery_adress) qui semble être utilisée pour générer la facture et le bon de livraison. Est-ce un bug? rencontrez-vous aussi ce problème? Comment y remédier? J'attends votre réponse avant de transférer ce sujet dans la rubrique des bugs. Link to comment Share on other sites More sharing options...
kouik-e Posted September 5, 2015 Share Posted September 5, 2015 j'ai aussi constaté ce problème. Link to comment Share on other sites More sharing options...
gerard_franc Posted September 6, 2015 Share Posted September 6, 2015 Bonjour, Je viens de voir le probléme Prestashop 1.6.1 remplit les champsinvoice_address et delivery_address de la table ps_order_invoice au moment de la création de la facture. Si on modifie les adresses livraison ou facturation c'est la table ps_custumer qui est mise a jour pas ps_order_invoice qui n'est plus jamais modifié une fois créé. Sur les versions précédentes les champs invoice_address et delivery_address de la table ps_order_invoice étaient mis en valeur Null. Je n'ai pas eu le temps de me pencher dans le code pour soit mettre null comme auparavant dans les champs de la table ps_order_invoice. Soit modifier le code dans fichier création facture dans le répertoire PDF pour prendre systématiquement les adresses ps_custumer mais pas invoice_address et delivery_address de la table ps_order_invoice. Je n'ai pas le temps matériel ces 15 jours pour chercher la meilleure façon de faire. Link to comment Share on other sites More sharing options...
MonBlason Posted September 6, 2015 Author Share Posted September 6, 2015 Un membre de l'équipe Prestashop pourrait-il nous dire si cette régression est intentionnelle ou pas? A priori c'est un bug puisque la fonctionalité de modification d'adresse client est toujours présente mais plus fonctionnelle... Link to comment Share on other sites More sharing options...
gerard_franc Posted September 6, 2015 Share Posted September 6, 2015 (edited) Bonjour, J'ai pris 5 mm pour corriger le problème. Dans le dossier /class/pdf, vous disposez de toutes les fonctionnalités de génération de PDF. Ouvrir le fichier HTMLTemplateInvoice.php Mettre en commentaires " // " les lignes 151,152,153,155,160,161,162,165 voir ci-dessous Ligne151 //if ($this->order_invoice->invoice_address) {Ligne152 // $formatted_invoice_address = $this->order_invoice->invoice_address;Ligne153 //} else {Ligne154 $formatted_invoice_address = Ligne151 AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ');Ligne155 //}Ligne156Ligne157 $delivery_address = null;Ligne158 $formatted_delivery_address = '';Ligne159 if (isset($this->order->id_address_delivery) && $this->order->id_address_delivery) {Ligne160 //if ($this->order_invoice->delivery_address) {Ligne161 // $formatted_delivery_address = $this->order_invoice->delivery_address;Ligne162 //} else {Ligne163 $delivery_address = new Address((int)$this->order->id_address_delivery);Ligne164 $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ');Ligne165 // }Ligne166 } Maintenant nous affichons dans la facture les adresses ps_custumer donc les adresses avec modification. Bien penser a vider le cache dans Paramètres avancès / Performances Cordialement Gérard Edited September 6, 2015 by gerard_franc (see edit history) 1 Link to comment Share on other sites More sharing options...
Divine Posted September 7, 2015 Share Posted September 7, 2015 Bonjour, Attention car il me semble qu'il n'est pas légal de modifier une facture après son édition. Link to comment Share on other sites More sharing options...
gerard_franc Posted September 7, 2015 Share Posted September 7, 2015 Bonjour, Il est effectivement illégal de modifier une facture après édition de celle-ci. Qu'entendons-nous par édition de la facture ? Personnellement, je considère que la facture éditée lors de l'envoi de la commande du client est jointe à cette commande, un double est imprimé et inséré dans mon dossier Factures. Ce double est conforme à l'adresse de facturation et de livraison, Nom et Prénom du client, Nombre d'articles, référence de l'article, montant et TVA, etc . La facture jointe au colis du client et mon double étant identiques, ce double ne peut plus être modifié étant imprimé. Maintenant parlons de problèmes de facturation de Prestashop. Ce dernier édite la facture dès passation de la commande et règlement de celle-ci. Sur notre site, nous avons les commandes en direct, plus celles des Place des marchés. Sur ces commandes, il y a de nombreuses erreurs : exemples : Place des marchés : Nom non inscrit dans l'adresse de livraison ou dans l'adresse de facturation, le client pensant avoir inscrit son Nom Place des marchés et ne le répète pas lors de sa commande). Nous nous retrouvons avec une facture sur laquelle apparait le Prénom et Unknown à la place du Nom (ce cas sur Amazon). Je ne parle pas des clients qui accolent leur Prénom avec leur Nom sans mettre de blanc, donc un seul Prénom qui comporte le Prénom et le Nom. Soit la mise en forme des adresses sur une seule ligne ou sur la deuxième ligne, le nom de la ville et à l'emplacement ville le nom de la région. Donc nous remettons en forme sur notre site toutes nos adresses (majuscule sur la première lettre du Prénom et du Nom, correction des fautes d'orthographe, etc.) Jusqu'à Prestashop 1.6.0.14 ces modifications étaient prises en compte lors de l'édition de la facture pour l'impression de celle-ci. Prestashop 1.6.1 ne prend pas en compte ces corrections objet de ce fil de discussion. La modification que j'ai décrite ci-dessus reprend en compte ces corrections et je pense être dans l'esprit de la loi française en éditant une facture avec les coordonnées de livraison et de facturation et mon double dans mon dossier Factures clients conformes à l'envoi. Nota : Depuis le début de l'année, nous n'éditons plus sur papier les factures de notre dossier Factures clients mais une clé USB se trouve dans notre dossier Factures clients et nous inscrivons en numérique les factures de la semaine en cours et celles-ci étant conformes à celles envoyées aux clients. Ceci a été fait par économie de papier et la grosseur du dossier factures clients plusieurs centaines de factures jour. Je suis ouvert pour toute autre méthode de travail qui rende mes factures lisibles et conformes. Cordialement Gérard Link to comment Share on other sites More sharing options...
MonBlason Posted September 8, 2015 Author Share Posted September 8, 2015 Il ne s'agit pas de modifier la facture mais l'adresse de livraison lorsqu'elle est erronée. Le problème se pose aussi avec le bon de livraison. C'est donc un vrai problème. Une correction est nécessaire dans la prochaine version de prestashop. Link to comment Share on other sites More sharing options...
MonBlason Posted September 8, 2015 Author Share Posted September 8, 2015 Bonjour, J'ai pris 5 mm pour corriger le problème. Dans le dossier /class/pdf, vous disposez de toutes les fonctionnalités de génération de PDF. Ouvrir le fichier HTMLTemplateInvoice.php Mettre en commentaires " // " les lignes 151,152,153,155,160,161,162,165 voir ci-dessous Ligne151 //if ($this->order_invoice->invoice_address) { Ligne152 // $formatted_invoice_address = $this->order_invoice->invoice_address; Ligne153 //} else { Ligne154 $formatted_invoice_address = Ligne151 AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' '); Ligne155 //} Ligne156 Ligne157 $delivery_address = null; Ligne158 $formatted_delivery_address = ''; Ligne159 if (isset($this->order->id_address_delivery) && $this->order->id_address_delivery) { Ligne160 //if ($this->order_invoice->delivery_address) { Ligne161 // $formatted_delivery_address = $this->order_invoice->delivery_address; Ligne162 //} else { Ligne163 $delivery_address = new Address((int)$this->order->id_address_delivery); Ligne164 $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' '); Ligne165 // } Ligne166 } Maintenant nous affichons dans la facture les adresses ps_custumer donc les adresses avec modification. Bien penser a vider le cache dans Paramètres avancès / Performances Cordialement Gérard Merci Gérard pour cette solution temporaire qui fonctionne. je vais pouvoir éditer les adresses de livraison sans passer des heures dans PHPMyAdmin ! Il ne reste plus à la Presta Team qu'à l'intégrer dans la prochaine version pour ne pas avoir à recommencer à chaque mise à jour... Olivier 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