Personnaliser les propositions commerciales (devis) générées en PDF

Bonjour à tous & à toutes,

Je suis dans la phase découverte de l’univers DOLIBARR et le tout est vraiment excitant.

Je viens de l’installer (version 17.0.0) et je souhaite le configurer/personnaliser pour gérer l’activité de mon entreprise : achat et vente d’outils et équipements industriels.

Du coup j’aimerais vos avis/conseils sur pas mal de points :

Configuration :

Je suis entrain de bidouiller dans l’installation actuelle pour m’y habituer.

Je prévois ensuite de la désinstaller et faire une nouvelle installation clean (avec mes personnalisations finalisées).

Est-ce une bonne approche ?

Je souhaite modifier les PDF générés (cyan) pour les propositions commerciales comme suit :

  • Enlever la colonne TVA dans le tableau produit tout en gardant la ligne TVA dans le bloc « Total ».

  • Ajouter une image en arrière-plan (filigrane).

J’ai trouvé ça [je n’arrive pas à partager le lien ! ! ] dans le forum, mais le code ne correspond pas à ce que j’ai sur la version actuelle de DILIBARR (j’imagine que c’est normal vu la date du post)

En vous remerciant d’avance pour toute aide ou conseil que vous serez en mesure de me fournir.

Bonne journée.

NB : Il me semble être dans la section appropriée. Si tel n’est pas le cas, je m’excuse d’avance pour la gêne occasionnée.

Bonjour,

Oui, c’est toujours bien d’avoir une instance de test et une instance de travail

Pour créer son propre modèle PDF, il faut suivre : Créer un modèle de document PDF - Dolibarr ERP CRM Wiki
Et avoir pas mal de connaissance en PHP.

Vous devriez pourvoir maintenant

Bonjour ksar,

Merci infiniment pour cette réponse détaillée.

Voici le lien que je n’arrivais pas à partager :

Même sujet mais datant de 2009

Certes, mes connaissances en PHP relève de l’amateurisme, toutefois je pense pouvoir y parvenir avec l’aide de vétérans Dolibarr pour me conseiller et me diriger vers la bonne méthode/voie.

Pour la personnalisation du model je ne souhaite pas en créer un nouveau, et sincèrement c’est d’un niveau trop avancé pour moi.

Ce que je souhaite personnaliser c’est deux choses :

  • Ajouter une image de fond :
    Un fichier image (Ex : à placer dans le dossier société/logo) et une ligne de code à ajouter quelque part devraient faire l’affaire (du moins je l’espère).
    Ex :
    $html .= ‹ < img src=« /chemin/vers/votre/image.jpg » style=« position: fixed; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.5; z-index: -1; » /> ›;
    Avec positions sur 0;0 et dimensions 297;210.

  • Masquer la colonne TVA :
    Pour moi elle est toujours de 20% et ça ne sert à rien de l’avoir dans une colonne à part. Ça encombre visuellement, ça prends de la place et ça ne me sert absolument à rien. J’en ai besoin uniquement sur la partie Total H.T/Total T.T.C.

Je piste actuellement deux solutions :

  1. réduire la largeur de la colonne TVA à ‹ 0 ›.
    Elle est là mais elle n’est pas là :sweat_smile:

  2. Désactivé l’affichage de la TVA depuis l’option disponible dans le menu Configuration/PDF et rajouter une ligne de code pour l’afficher dans le bloc ‹ Total › en bas.

Il y avait une autre personnalisation mais j’ai déjà réussi à la mettre en place.
Il s’agit de remplacer la mention « Proposition » qui s’affiche avant le numéro par « Devis »

Si ça peut intéressé d’autres membres je serais ravis de partager comment le faire

Voilà, j’espère ne pas être trop embêtant avec mes demandes et je compte réellement sur votre aide.

Merci d’avance.

Bonjour,
Pour l’image de fond il suffit d’indiquer dans « configuration → divers » : « MAIN_USE_BACKGROUND_ON_PDF » et mettre l’image dans le dossier logo précédemment mentionné.
Pour changer « proposition » en « devis » il faut regarder du côté des dictionnaires, si ce n’est pas là il faut aller le changer dans le dossier « langs » et trouver dans quel fichier il est mentionné. Peut-être as-tu fait autrement mais vu que tu as réussi à faire la modif autant mentionner directement la manière de faire :wink:

modifier le fichier langs c’est bien mais il faudra le remodifier à chaque montée en version. L’idéal est quand même de modifier les traductions, c’est écrit en base de données et ça va suivre les versions

De mémoire on ne le trouve pas dans les dictionnaires (j’imagine que tu parles de ça quand tu dis « traduction »’ en effet pour moi les traductions sont dans les fichiers langs), raison pour laquelle je disais que l’idéal serait de nous dire comment il a procédé vu que je ne suis pas certain :wink:

1 « J'aime »

je parle effectivement des traductions et non du dictionnaire

c’est ici que l’on entre les modifications des traductions en dur
par exemple

ceci vient se mettre sur la couche du fichier langs et reste en base de données

Bonjour et Merci pour vos réponses,

Je viens de tester la solution de Clad63 en changeant l’entrée dans configuration/traduction, et voilà ce que ça donne :

Du coup, ce n’est pas le résultat escompté.

La solution que j’ai appliqué pour changer « Proposition » en « Devis » dans les PDF générés est, comme l’a deviné Fif00, à travers le fichier .lang :

J’ai édité le fichier propal.lang
qui se trouve dans dolibarr/langs/fr_FR
Et j’ai changé la ‹ valeur ›
PdfCommercialProposalTitle=Proposition
par
PdfCommercialProposalTitle=Devis

Le seul ‹ effet secondaire › que j’ai remarqué à cette manœuvre c’est la disparition de ‹ de proposition › à coté de ‹ date › juste en dessous :

Voilà, j’espère que ça sera utile à d’autres.

En ce qui concerne l’image de fond, j’ai ajouté l’option cachée :

Sauf que je n’ai pas trouvé le dossier documents/mycompany/logos !!
J’ai donc créé un dossier logo et j’y ai mis mon fichier image :

Mais ça ne marche pas, aucun changement sur mes devis, le fond reste blanc.

Je pense que je me trompe sur l’emplacement du fichier. Je continue de chercher…
Si quelqu’un a une suggestion, n’hésitez pas

Et Merci.

Mince :confused: Chez moi il existe bien (dossier logos), j’ai un doute en te lisant, tu as bien nommé le dossier « logos » et pas « logo » au singulier ? J’ai essayé ça fonctionne bien pour ajouter un fond au pdf généré sur les devis chez moi (v14 et 16).
Un grand merci pour ta réponse clad63, je découvre à l’instant cette possibilité, je ne sais pas depuis combien d’années c’est possible et depuis quand je vois cette entrée au menu sans m’y être intéressé ^^
Edit : en regardant ta copie d’écran je vois mycompany/logo au singulier donc j’ai bon espoir que ça vienne de là et que ça fonctionne dès que tu auras ajouté le « s » :wink:

Je viens de modifier le nom du dossier.

Aussi, juste par précaution, j’ai supprimer l’option cachée et ré-ajouter à nouveau :

Pas de changement, toujours le fond blanc :pensive:
Et au fait, juste pour info, ma version est 17.0.0

C’est vrai que le menu Traduction est très intéressant, thnx Clad63

Merci pour votre suivi.

Pour moi une install normale de dolibarr donne ces 3 dossiers à la racine :
scripts, htdocs et documents. Dans documents vous trouvez mycompany, c’est là que doit aller le dossier logos.
Soit /documents/logos/mon_image
Il n’y a aucun dossier « documents » et/ou « mycompany » dans ton install ?

Cela confirme que mon installation est en effet atypique.

Je ne suis jamais parvenu à trouver le dossier ‹ htdocs ›, et maintenant que vous en parler les deux autres non plus.

Après l’installation j’ai remarqué deux dossiers ‹ Dolibarrdata › & ‹ Dolibarr › dont l’arborescence est comme suit :

C’est vraiment bizarre d’autant plus que je n’ai rien fait qui sort de l’ordinaire, je l’ai juste installé depuis mon hébergeur !

Bref, je vais le désinstaller/réinstaller et voir ce que ça donne :wink:

Je vous fait un retour une fois que c’est fait.

Bonjour,

Pas besoin de réinstaller, htdocs est pas obligatoire.

Mettez votre logo dans dolibarrdata/mycompany/logos

Rebonjour,

Avant de désinstaller/réinstaller je me suis dis de bidouiller encore un peu, et bonne nouvelle, j’ai presque réussi :

Il reste à traiter quelques anomalies :
1 - Le fond gris qui encadre les infos de l’émetteur.
2 - le cadre/rectangle noir en bas à coté de la mention ‹ bon pour accord ›

J’ai juste inseré le code :

// Add the background image
$image_file = '/home/''nom de mon domain''/dolibarrdata/societe/logos/pdf_fondpage_1.jpg'; // Replace with the path to your actual image file
$pdf->Image($image_file, 0, 0, $pdf->getPageWidth(), $pdf->getPageHeight(), '', '', '', false, 300, '', false, false, 0);

à la ligne 377, juste après :

// New page
$pdf->AddPage();

J’ai évidement stocké l’image en question dans le chemin indiqué.

Pour moi, le résultat est très satisfaisant.

Next step :

  • Je vais tester avec une .png (fond transparent). Même si j’ai lu quelque part que c’était déconseillé., on verra c que ça donne.
  • Voir ce qui cause les anomalies citées ci-dessus et comment y remédier.
    Au pire je rajouterais le rectangle gris et le cadre noir sur mon image de fond :sweat_smile:

Je vous tiens informés.

Bonjour les Dolibiens/Dolibiennes,

Voilà, je suis parvenu à enlever les anomalies citées précédemment :

Le code pour ce faire est comme suit :

// Add the background image

$image_file = '/home/’’mon domain’’/dolibarrdata/societe/logos/”mon image”.jpg'; // Replace with the path to your actual image file

$pdf->SetAlpha(0.03);

$pdf->Image($image_file, 0, 0, $pdf->getPageWidth(), $pdf->getPageHeight(), '', '', '', false, 300, '', false, false, 0);

$pdf->SetAlpha(1);

La différence entre le code d’avant c’est que l’image que j’uploadais était déjà transparente.
Là j’upload l’image ‹ normale › est la transparence est appliquée par code

$pdf->SetAlpha(0.03);

pour moi c’est le 0.03 qui a donner le résultat souhaité, mais vous pouvez changer cette valeur en fonction de votre image et du résultat que vous souhaitez avoir.

Voilà, en espérant que ça servira à quelqu’un.

Bien à vous.