Bienvenue sur la page communauté Sooth ERP, où vous pouvez poser vos questions. Inscrivez-vous (via le login de Mantis)

Bienvenue dans la communauté Sooth ERP.

Vous pouvez posez ici vos questions ou fournir des réponses aux autres membres de la communauté.

Modification document php

0 votes
Je reviens vers vous, pour une question concernant la possibilité de faire apparaître le libellé du magasin en haut à gauche en dessous du logo, Dans le fichier "doc_fac_lmb.class.php" du répertoire modeles_pdf,

J'ai intégré la seconde ligne et déplacé l'affichage du niveau de relance, mais malgré la création des 2 magasins nécessaires pour faire apparaître la zone magasin en liste de choix de la création du document facture ou autre,

Dans la zone LOGO
18    // ***************************************************
19   // LOGO
20    $this->pdf->Image($IMAGES_DIR.$this->IMG_LOGO, $this->MARGE_GAUCHE - 5, $this->MARGE_HAUT, 80);
21    $this->document->getId_magasin ();
22    if ($this->document->getId_niveau_relance ()) {
23        $liste_niv_relance = $this->document->getNiveaux_relances ();
24        foreach ($liste_niv_relance as $niv) {
25            if (!$niv->impression || $niv->id_niveau_relance != $this->document->getId_niveau_relance ()) {continue;}
26            // ***************************************************
27            // niveau de relance
28            $this->pdf->SetXY(15, 45); //117
29            $this->pdf->Cell (40, 3, ($niv->lib_niveau_relance), 0, 0, 'L');

Le seul bémol, est la la désignation du magasin ne s'affiche pas ni l'adresse de celui-ci saisi dans Entreprises/renseignements généraux puis adresses 1 (stock magasin principal) et 2 (stock magasin secondaire).

Merci de votre aide.

Pascal
posté Mar 31, 2014 dans la catégorie Utilisation par GOUINPASCAL (490 points)

2 Réponses

0 votes
Bonsoir,

l'application génère au niveau du fichier de config "config_generale.inc.php"
une variable $PIED_DE_PAGE_GAUCHE_0 qui contient l'adresse du siège, ceci à partir des données saisies.
C'est cette variable qui est utilisée pour l'impression de l'adresse sur le pdf (en pied de page).

Il n'existe pas d'équivalent pour une adresse secondaire, magasin ou autre.
Donc si vous tenez absolument à récupérer cette adresse, il vous faut écrire votre propre fonction (ou peut être vous inspirer de ce qui existe dans la page de saisie d'un document, puisqu'on accède aux différentes adresses de cet endroit).
Cela veut dire faire la requête appropriée au niveau de la BDD pour récupérer cette donnée.

L’alternative la plus simple reste de créer un en-tête de document en jpeg qui comprend l'ensemble des données et adresses que vous souhaitez afficher.

J'arrive à faire tenir dans "l'image logo" un en-tête complet qui comprend un logo, le nom, une adresse, des coordonnées téléphoniques et mail, un SIRET +  4 lignes de mentions légale sans problème (je pense même ne pas avoir exploité la totalité de la hauteur disponible).
Le tout reste dans une qualité tout à fait convenable, même s'il faut bien reconnaître que le jpeg n'est pas le format idéal pour cet usage.
Je pense que ça reste le meilleur compromis.

Cordialement,

Yves
répondu Avr 1, 2014 par Yves (3,790 points)
Bonjour,

Pour la partie modification de l'entête, au format JPEG, le seul point est qu'il n'est pas possible de choisir le fichier jpeg à afficher en fonction du choix du magasin choisi dans la saisie du document. J'avoue ne pas voir comment redéfinir du code et surtout comment le formuler pour arriver à ce type de résultat.

Merci d'avance

Pascal
Bonjour,

OK je comprends le pb avec des magasins multiples.

Voici une solution (ou plutôt une piste à améliorer pour une implémentation propre, là c'est juste un "proof of concept"):

Dans le fichier doc_xxxx_class.php correspondant au document à modifier, à la toute fin (à priori après le bloc de code // Bloc central), ajouter:

// Ajout adresse magasin
$this->pdf->SetXY(15, 50); // Position x, y. "y" à modifier selon taille du logo
$this->pdf->Cell(80,10, "Magasin 1, 1 rue neuve, 00000 MaVille" ,0,0,'L');

Vous aurez ainsi l'adresse en en tête, modifiable par document.
Ceci dit, là c'est pour démo du concept, c'est "hardcodé", il faudrait créer des variables magasin, soit dans les fichiers de config des modèles pdf, soit au niveau de l'appli (qui seront récupérés pour chaque modèle de pdf).

Pour ajuster l'affichage, je vous renvoie à la doc de fpdf qui gère la création des pdf
http://www.fpdf.org/

Yves
0 votes
C'est effectivement une fonctionnalité manquante qui m’intéresse également.
Elle fait partie de mon cahier des charges de développement.
Je ne peux pas vous dire quand, mais ce sera possible.

Contactez-moi si c'est un besoin urgent.

Cordialement
répondu Juin 10, 2014 par cmfpmatik (140 points)
...