Jump to content
Eolia

Transporteur Et Numeros De Telephone Manquants Dans Facture V.1.6.1

Recommended Posts

Parmi les joyeusetés des dernière versions 1.6.1 vous avez peut-être remarqué que les transporteurs ont disparu des factures ?
 
Je vous propose donc le patch:
post-241780-0-35803300-1441983494_thumb.png
Vu que le système de génération de celle-ci à changé, il va vous falloir remplacer 3 fichiers et en ajouter 1.
 
Dans votre_boutique/classes/pdf/ remplacer HTMLTemplateInvoice.php
 
Dans votre_boutique/pdf/ remplacer ces 2 fichiers: invoice.tpl et invoice.style-tab.tpl
 
Et ajoutez-y celui-ci : invoice.carrier-tab.tpl
 
Les fichiers ci-dessus sont inclus dans le zip:Ajout_transporteur_facture.zip
 
Pas moyen de faire un PR avec édition de plusieurs fichiers + ajout donc je poste ici.
 
Jérôme, si tu passes par là...

Valable pour la les versions : 1.6.1.1, 1.6.1.2, 1.6.1.3, 1.6.1.4 ...

 

Pour le problème des numéros de téléphone et/ou n° TVA voir le post https://www.prestashop.com/forums/topic/468694-transporteur-manquant-dans-facture-v161/page-2?do=findComment&comment=2235421

Edited by Eolia (see edit history)
  • Like 9

Share this post


Link to post
Share on other sites

Thank you very much.  Not having the carrier displayed on the invoice was a very big problem for me.

 

Thanks again

Share this post


Link to post
Share on other sites

@ Xavier Borderie,

 

Si en même temps il pouvait remettre les numéros de téléphone au moins pour l'adresse de livraison se serait génial.

 

Merci ;)

Share this post


Link to post
Share on other sites

Comme le dit rodloft le numéro de téléphone sous "adresse de livraison" manque... Merci Eolia pour la modif !

Share this post


Link to post
Share on other sites

Bonjour

 

Par contre les prix des produit s'affiche HT malgrès le choix invoice ou b to b

 

Et comment supprimer le l'adresse du magasin qui s'affiche en haut ?

 

Et comment re afficher le pourcentage de remise si promotion par ligne produit ?

Edited by Le-cathare (see edit history)

Share this post


Link to post
Share on other sites

Merci pour ton correctif Eolia. Mais est il possible d'avoir les prix TTC de tout les produit sur la facture?

Share this post


Link to post
Share on other sites

Tout est possible, faut juste qu'ils soient disponibles pour...

Share this post


Link to post
Share on other sites

Mauvaise nouvelle, toujours pas intégré dans la 1.6.1.3 RC1 :(

 

Les n° de téléphone non plus d'ailleurs...

Edited by Eolia (see edit history)

Share this post


Link to post
Share on other sites

Super...

 

N'y aurait t-il pas une solution pour afficher le téléphone du client ?

 

Si en attendant de faire mieux car il serait préférable de modifier la classe AddressFormat, remplacez le début de la fonction getContent() de classes/pdf/HTMLTemplateInvoice.php  par

    public function getContent()
    {
		$invoiceAddressPatternRules = Tools::jsonDecode(Configuration::get('PS_INVCE_INVOICE_ADDR_RULES'), true);
		$deliveryAddressPatternRules = Tools::jsonDecode(Configuration::get('PS_INVCE_DELIVERY_ADDR_RULES'), true);

		$invoice_address = new Address((int)$this->order->id_address_invoice);
		$country = new Country((int)$invoice_address->id_country);
		$invoice_phones = '';
		if(isset($invoice_address->phone))
			$invoice_phones .= '<br />'.$invoice_address->phone;
		elseif(isset($invoice_address->phone_mobile))
			$invoice_phones .= '<br />'.$invoice_address->phone_mobile;
		if ($this->order_invoice->invoice_address) {
			$formatted_invoice_address = $this->order_invoice->invoice_address.$invoice_phones;
		} else {
			$formatted_invoice_address = AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ').$invoice_phones;
		}

		$delivery_address = null;
		$formatted_delivery_address = '';
		$delivery_phones = '';

		if (isset($this->order->id_address_delivery) && $this->order->id_address_delivery) {
			$delivery_address = new Address((int)$this->order->id_address_delivery);
			if(isset($delivery_address->phone))
				$delivery_phones .= '<br />'.$delivery_address->phone;
			elseif(isset($delivery_address->phone_mobile))
				$delivery_phones .= '<br />'.$delivery_address->phone_mobile;
			if ($this->order_invoice->delivery_address) { 		
				$formatted_delivery_address = $this->order_invoice->delivery_address.$delivery_phones;
			} else {				
				$formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ').$delivery_phones;
			}
		}
...

;)

Edited by Eolia (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Bonjour,

 

A quand l'adresse du relais sur la facture, à la place de celle de la cliente, lorsqu'une cliente choisi un envoi en relais?

Actuellement c'est l'adresse du domicile qui apparait, même pour les envois en relais.

J'ai plusieurs clientes qui m'ont fait la remarque que l'envoi est à domicile, comme l'indique pas facture, pas un relais

J'espère qu'il y aura bientôt une solution pour ce problème

Share this post


Link to post
Share on other sites

Hello,

 

Ca sera intégré à la 1.6.1.4, qui sera dédiée aux factures.

 :( ben non, la 1.6.1.4 est sortie et toujours pas de correctif, dommage...

Share this post


Link to post
Share on other sites
Guest

et ton patch lui fonctionne pour cette nouvelle version certainement et il date déjà de septembre pourtant, pourquoi n'a -t-il pas été intégré comme promis ?

Share this post


Link to post
Share on other sites

Et après certains se demandent pourquoi je fais des piqûres de rappel...

Share this post


Link to post
Share on other sites

La version 1.6.1.4 est là mais toujours pas le transporteur dans la facture, les prix sont toujours en HT et toujours le num de tel du client :(

Share this post


Link to post
Share on other sites

Bonjour,

 

Sûrement un module en développement :ph34r:

 

3pom

Oui, si tu as bien lu la nouvelle version d'onboarding va sortir, c'est évidemment plus important :)

  • Like 2

Share this post


Link to post
Share on other sites

Eolia dans ton correctif, pouvez vous intégrer un code pour que les prix des produits s'affichent en TTC ainsi que le prix de la livraison ? 

Edited by Le-cathare (see edit history)

Share this post


Link to post
Share on other sites

On verra ça dans la version fork, pour l'instant ça ne m'intéresse plus de corriger des bugs dont tout le monde se fout royalement.

Share this post


Link to post
Share on other sites

Juste pour info, pour ceux qui désirent avoir les n° de téléphones client et N° de TVA, s'ils existent, sur les factures/bons de livraison:

  • Vous trouverez 2 nouvelles lignes dans la table ps_configuration : PS_INVCE_INVOICE_ADDR_RULES et PS_INVCE_DELIVERY_ADDR_RULES qui déterminent quels sont les champs à ne pas afficher sur les factures/bons de livraison.
  • Ces lignes comportent la valeur suivante: {"avoid":["vat_number","phone","phone_mobile"]}
  • Videz entièrement ces 2 tableaux comme ceci: {"avoid":[]}

Ces nouveaux paramètres ont été introduits (et inscrits en base de données lors de l'install/maj) depuis la 1.6.1.1 mais Prestashop a juste oublié de laisser la possibilité de les configurer...

Edited by Eolia (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Ces nouveaux paramètres ont été introduits (et inscrits en base de données lors de l'install/maj) depuis la 1.6.1.1 mais Prestashop a juste oublié de laisser la possibilité de les configurer...

Comment c'est déjà la nouvelle religion SEMVER ?

Ah oui aucun changement majeur seulement des correction de bugs sur les mineures.

Bon ben les bugs qui ont plus de 1 an avec leurs PR on n'a pas le temps de les regarder (on est bizi), mais si on ajoutait des nouveaux trucs que personne demande.

Comme https://github.com/PrestaShop/PrestaShop/commit/9be1298b053c24f1fffc7d0a1edaab6818b3350a

Notons le "useless" du commentaire du commit

Share this post


Link to post
Share on other sites

Mise à jour sql faite selon Eolia.

Je suis en 1.6.4. Et j'ai bien le tel sur le bon de livraison, mais pas sur la facture.

En attendant une mise à jour du BO pour permettre le choix des champs à afficher.

Share this post


Link to post
Share on other sites

Mise à jour sql faite selon Eolia.

Je suis en 1.6.4. Et j'ai bien le tel sur le bon de livraison, mais pas sur la facture.

En attendant une mise à jour du BO pour permettre le choix des champs à afficher.

Normal si vous le faites sur une ancienne commande où l'adresse a déjà été générée 1 fois.

Si vous voulez forcer la re-génération à chaque fois (pratique si le client a fait une erreur ou que l'adresse est modifiée) remplacez ce bloc dans /pdf/HTMLTemplaceInvoice.php

        if ($this->order_invoice->invoice_address) {
            $formatted_invoice_address = $this->order_invoice->invoice_address;
        } else {
            $formatted_invoice_address = AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ');
        }

par:

$formatted_invoice_address = AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ');

Idem quelques lignes + bas pour le bon de livraison :

            if ($this->order_invoice->delivery_address) {
                $formatted_delivery_address = $this->order_invoice->delivery_address;
            } else {
                $delivery_address = new Address((int)$this->order->id_address_delivery);
                $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ');
            }

par:

$delivery_address = new Address((int)$this->order->id_address_delivery);
                $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ');

Enjoy :)

Share this post


Link to post
Share on other sites

Oui, d'habitude je poste des trucs qui marchent, c'est plus pratique^^

  • Like 1

Share this post


Link to post
Share on other sites
Guest

Oui, d'habitude je poste des trucs qui marchent, c'est plus pratique^^

 

 mais alors tu n'as rien à faire là... ça risque de donner une mauvaise image des personnes responsables payées pour faire ce que tu fais toi gratuitement, c'est pas bien ça !

Share this post


Link to post
Share on other sites

Bon, je suis en cours de migration de 1.5.6.2 vers 1.6.1.4 mais je me demande si je continue ou si j'arrête de suite.....

 

J'ai atterri sur fil et je découvre qu'il y a encore énormément de travail à faire, je viens juste de trouver comment corriger les avoirs et je vois qu'il faut aussi modifier les factures !!

 

Merci Eolia pour vos corrections de bug. :)

 

Par contre personne n'a besoin du poids ni du numéro de suivi ? Ils ont également disparus alors qu'ils sont bien présents en 1.5.6.2 !!

 

Je vais regarder, car si j'utilise le template "invoice.tpl" d'une version 1.5.2.6 dans la version 1.6.4.1, on retrouve bien ces informations sur la facture....

Share this post


Link to post
Share on other sites

Par contre en 1.6.1.4, le numéro de TVA apparaît, lorsqu'il y en a un, dans l'entête "invoice.summary-tab.tpl" .

 

Du coup en me servant de la proposition d'EOLIA, j'ai créé une deuxième entête carrier-tab.tpl qui se place en dessous du invoice.summary-tab.tpl et qui affiche le nom du transporteur, le poids du colis et le numéro de suivi.

 

Si cela peut servir à quelqu'un je pourrai le mettre à disposition ici :)

Share this post


Link to post
Share on other sites

Normal si vous le faites sur une ancienne commande où l'adresse a déjà été générée 1 fois.

Si vous voulez forcer la re-génération à chaque fois (pratique si le client a fait une erreur ou que l'adresse est modifiée) remplacez ce bloc dans /pdf/HTMLTemplaceInvoice.php

        if ($this->order_invoice->invoice_address) {
            $formatted_invoice_address = $this->order_invoice->invoice_address;
        } else {
            $formatted_invoice_address = AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ');
        }

par:

$formatted_invoice_address = AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ');

Idem quelques lignes + bas pour le bon de livraison :

            if ($this->order_invoice->delivery_address) {
                $formatted_delivery_address = $this->order_invoice->delivery_address;
            } else {
                $delivery_address = new Address((int)$this->order->id_address_delivery);
                $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ');
            }

par:

$delivery_address = new Address((int)$this->order->id_address_delivery);
                $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ');

Enjoy :)

 

Bonjour Eolia, merci pour ce retour.

J'ai bien fait les modifications, j'ai eu beau vider le cache mais le numéro de téléphone n'apparait toujours pas sur mes anciennes factures.

Cela marche bien pour les bons de commandes.

 

Je ne sais pas trop quoi faire.

Share this post


Link to post
Share on other sites

Euh... dans Localisation -> Pays -> france -> Modifier, vous avez bien le n° de téléphone dans les champs à insérer ?

Share this post


Link to post
Share on other sites

Oui voici son contenu : 

 

firstname lastname

company
vat_number
address1
address2
postcode city
Country:name
phone
phone_mobile
 
J'ai bien modifié les 2 tables de la base de données.
Je suis sous Prestashop 1.6.1.4.

Share this post


Link to post
Share on other sites

On est bien d'accord ?

  1. Vous avez vidé ou supprimé (le résultat est le même) les 2 entrées PS_INVCE_INVOICE_ADDR_RULES et PS_INVCE_DELIVERY_ADDR_RULES dans ps_configuration de la base de votre boutique
  2. Vous avez modifié les 2 blocs du fichier /pdf/HTMLTemplaceInvoice.php

Et les n° de téléphone ne s'affichent toujours pas pour vos clients français ?

Share this post


Link to post
Share on other sites

Normalement non, il utilise les mêmes variables que le template de base.

Je ne vois pas.

Share this post


Link to post
Share on other sites

OK .

Sinon j'ai inséré le code que tu as publié en page 1. 

Avec ca j'ai bien les numéros qui apparaissent sur mes factures par contre de manière aléatoire. Y'en a qui l'ont et pas d'autre, bizarre ...

Share this post


Link to post
Share on other sites

Ben non, il faut l'adapter, mais perso j'en ai marre de faire des correctifs qui ne ont pas pris en compte et devoir recommencer à chaque nouvelle version.

Quand Prestashop sera capable de sortir une VRAIE version stable, je me pencherai peut-être sur le problème.

 

Si vous avez le temps, ajoutez au fichier de la 1.6.1.4 les éléments manquants concernant le carrier.

  • Like 2

Share this post


Link to post
Share on other sites

Salut,

merci pour ton post, qui m'a bien servi.

Pour info, sur la 1.6.1.5, ils ont rajouté un template invoice.shipping-tab.tpl

Malgré cela je n'avais pas le transporteur qui remontait.

Il m'a donc quand même fallu ajouter dans la surcharge de HTMLTemplateInvoice.php, la ligne :

'carrier' => $debug ? null : $carrier

A priori, ce sera corrigé dans la prochaine version (j ai jeté un oeil à la 1.7 en dév)

Share this post


Link to post
Share on other sites

Ben bonne chance, pour moi Prestashop s'arrête à la 1.6.

 

La 1.7 et suivantes partent vers du grand n'importe quoi, je ne me sens plus concerné pour soutenir un tel projet.

  • Like 2

Share this post


Link to post
Share on other sites

Ben bonne chance, pour moi Prestashop s'arrête à la 1.6.

 

La 1.7 et suivantes partent vers du grand n'importe quoi, je ne me sens plus concerné pour soutenir un tel projet.

Mince... :blink: il se passe quoi ? 

Share this post


Link to post
Share on other sites

Il se passe que j'ai les pieds sur terre et que j'ai de vrais clients qui vivent de leurs boutiques et ne veulent pas finir dans le mur avec les expérimentations plutôt hasardeuses de l'équipe en cours.

 

Une boutique, c'est un gagne-pain pas un centre aéré avec 3 robes et 2 tee-shirts en promo.

 

Le e-commerce c'est des clients, des produits en masse, des transporteurs, des prix, des retours, des factures, un bilan comptable, des réappros. Tout ça doit fonctionner, rapidement et correctement avec du traffic ou pas.

 

La communauté de contributeurs fr s'est réduite comme peau de chagrin et personne ne s'est demandé pourquoi...

 

Je resterai présent sur ce forum, mais je ne soutiens en aucune façon cette future version apocalyptique.

  • Like 2

Share this post


Link to post
Share on other sites

J'entends bien tous tes arguments qui sont tout à fait légitimes.

Mais c'est quoi le souci au juste de la 1.7 ? y a une roadmap où l on peut voir cela ? (j ai voulu voir le changelog mais il n'est pas accessible)

 

Edit :

je viens de lire ça du coup : http://www.creanico.fr/prestashop/prestashopnouveautes-de-prestashop-1-7/

c'est sûr que là c'est plutot la grosse transition en perspective... rien ne sera plus compatible (surtout niveau thème).

de plus, mise en avant commercial des modules omniprésente... menu repensé (et les devs n'ont pas l'air trés contents d'aprés les coms...)

je continue de lire...

je comprends mieux tes remarques... je risque de rester en 1.6 pour un moment aussi :/

 

Bon par contre là on t'a trollé ton post ! ^^

Edited by mattheoh (see edit history)

Share this post


Link to post
Share on other sites

Roadmap ? Je crois qu'ils n'ont plus personne capable de faire des powerpoints :D (certains comprendrons)

Et de toute manière, même si ils avaient on a tellement entendu les même arguments vide de sens.

 

Après tant d'années (si si) a demander a ce que le cœur de métier soit corrigé pour répondre à ce pour quoi PrestaShop est censé répondre.

Les seuls résultats sont encore une nouvelle série d'annonce, d'ajouts de fonctionnalités +/ bancales ou encore niaiseries d'informaticiens - un commerçant se moque d'un PSR2/Symfony et tous le monde ne peux pas se prétendre la Pomme et clamer c'est une révolution. Et ne parlons pas des forces lilliputiennes au développement.

Share this post


Link to post
Share on other sites

Merci à tous et en particulier à Eolia qui décidément fait beaucoup pour la communauté ! Et ça marche ;)

  • Like 2

Share this post


Link to post
Share on other sites

Bonjour à tous !

 

un grand merci pour ce post qui me change la vie. Tous les tutos que j'ai lus pour ça me demandaient beaucoup de code. Là, j'ai trouvé la solution en 2 réponses. 

 

Ma version : 1.6.1.4

Mon hébergeur : OVH

 

Le changement sur la bdd est bon.

L'ajout des infos souhaitées par le biais de la config du pays est bonne

Le changement des lignes pour la ré-génération des factures a fonctionné. Il fallait juste que je trouve mon fichier HTMLTemplateInvoice.php

 

Je suis donc un homme heureux et mes collaborateurs aussi. 

 

Bonne journée

Share this post


Link to post
Share on other sites

Bon, je suis en cours de migration de 1.5.6.2 vers 1.6.1.4 mais je me demande si je continue ou si j'arrête de suite.....

 

J'ai atterri sur fil et je découvre qu'il y a encore énormément de travail à faire, je viens juste de trouver comment corriger les avoirs et je vois qu'il faut aussi modifier les factures !!

 

Merci Eolia pour vos corrections de bug. :)

 

Par contre personne n'a besoin du poids ni du numéro de suivi ? Ils ont également disparus alors qu'ils sont bien présents en 1.5.6.2 !!

 

Je vais regarder, car si j'utilise le template "invoice.tpl" d'une version 1.5.2.6 dans la version 1.6.4.1, on retrouve bien ces informations sur la facture....

 

Bonsoir.

Volontiers s'il est possible d'obtenir les fichiers d'une v.1.5.xx ?

Cdt.

Share this post


Link to post
Share on other sites

Ben non, il faut l'adapter, mais perso j'en ai marre de faire des correctifs qui ne ont pas pris en compte et devoir recommencer à chaque nouvelle version.

Quand Prestashop sera capable de sortir une VRAIE version stable, je me pencherai peut-être sur le problème.

 

Si vous avez le temps, ajoutez au fichier de la 1.6.1.4 les éléments manquants concernant le carrier.

 

Bonjour Eolia,

 

Mai 2017, je suis maintenant sur la version PrestaShop 1.6.1.12

 
Je désespère en me rendant compte qu'actuellement, les factures restent en prix unitaire TTC :(
Pas cool pour nos clients à 99,9% particuliers.
 
Aviez vous trouver une solution à l'époque ?
 
Merci beaucoup par avance,
Sébastien

Share this post


Link to post
Share on other sites

Je ne comprends pas la question :(

 

Les prix unitaires sont en HT et non en TTC, puis détails des taxes et total TTC comme sur une facture classique (type EDF)

 

Quel est le souci ?

Share this post


Link to post
Share on other sites

Je ne comprends pas la question :(

 

Les prix unitaires sont en HT et non en TTC, puis détails des taxes et total TTC comme sur une facture classique (type EDF)

 

Quel est le souci ?

 

Bonjour Eolia,

 

Désolé pour mon manque de précision.

 

En fait, mes clients particuliers ne comprenaient justement pas pourquoi les prix unitaires étaient en HT sans TTC, que le total produit et le total livraison étaient en HT sans TTC et à la fin, on avait un total juste en TTC.

 

Du coup techniquement j'ai réussi à solutionner le truc en allant dans invoice.tpl et remplacer tax_excl par tax_incl par le champ que je voulais voir apparaitre en TTC et non plus en HT.

 

Merci et bon dimanche !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More