couleur de cadre facture / BDC différent

10 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour !

question un peu bébête...

pour mon confort personnel de classement, est il possible de faire une couleur de cadre différent en fonction que l'on ait un pdf Bon de Commande ou un PDF Facture ?

Si oui, y a t'il une façon simple ? (exemple bleu clair pour les factures et vert clair pour les BDC)...

Merci

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Quelle est le cadre dont vous voulez modifier la couleur?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour simon

le cadre, c'est celui en haut à doite ou figure BON DE COMMANDE (ou FACTURE) suivi du numéro de commande (ou facture).

merci

D'ailleurs, autre question...

dans ce même cadre, comment (ou où ) on transforme "BON DE COMMANDE" en "Bon de Commande", ou alors "Facture" en "FACTURE"...

merci !

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

la fonction à modifier pour changer la couleur est fact_dev, dans la classe Invoice du fichier lib/class/Invoice.php. Il faut modifier les paramètres de la fonction

$this->SetFillColor(210, 210, 255);

Le libellé du cadre (DEVIS, BON DE COMMANDE, Facture, FACTURE PROFORMA) est contenu dans la variable $libelle de la même fonction.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Simon

merci pour ces précisions mais celà m'amène aux 2 questionspour lesquelles j'arrive pas à expliquer vraiment ce que je veux...

1-Ce que je veux, c'est que le cadre soit bleu pour BON DE COMMANDE, vert pour Facture, Jaune pour Devis...

alors que le setfill color rempli en couleur 210,210,255 rempli le cadre de la même couleur quelque soit le type de document (facture, BDC, devis...).

2- ok pour $libelle. Mais ou définit-on ce $libelle ? ce que je veux dire c'est ou attribue t'on à $libelle le texte "Facture", "BON DE COMMANDE..." ?

parce que ce que je voudrais, c'est uniformiser les écritures. On a BON DE COMMANDE en majuscule, FACTURE PROFORMA en majuscule, mais "Facture" en minuscule, et moi je le voudrais en majuscule (FACTURE).

Je sais que ce sont de petites questions bébête qui n'ont aucun intérêt sur le fonctionnement de notre peel adoré, mais moi je suis tatillon...

Merci pour votre réponse !

cordialement

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Pour le premier point, vous pouvez faire


if($libelle == PROFORMA) {// Facture proforma
$this->SetFillColor(210, 210, 255);
}elseif ($libelle == PDF_QUOTATION) { // devis
$this->SetFillColor(xxx, xxx, xxx);
}elseif ($libelle == ORDER_FORM) { // Bon de commande
$this->SetFillColor(xxx, xxx, xxx);
}elseif ($libelle == INVOICE) { //Facture
$this->SetFillColor(xxx, xxx, xxx);
}
[/CODE] pour le second, il faut modifier le paramètre au niveau de l'appel de la fonction [i]fact_dev[/i] dans [i]FillDocument[/i]. A la ligne 876 du fichier lib/Class/Invoice.php, il faut modifier
[CODE] $this->fact_dev(INVOICE, $commande->numero);
par
                        $this->fact_dev(String::strtoupper(INVOICE), $commande->numero);

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Simon

pour info, j'ai appliqué la 2ème procédure pour transformer "Facture" en "FACTURE" sur le pdf, mais j'ai un message d'erreur qui apparait :

Warning: Cannot modify header information - headers already sent by (output started at /homepages/5/d334204221/htdocs/lib/class/Invoice.php:1) in /homepages/5/d334204221/htdocs/lib/class/pdf/tcpdf.php on line 7863

TCPDF ERROR: Some data has already been output to browser, can't send PDF file

Pouvez vous m'aider svp ?

merci

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Le message d'erreur indique qu'il y a une sortie vers le navigateur à la ligne 1 du fichier (/Invoice.php:1). Soit le fichier est encodé en UTF8 et non pas en UTF-8 SANS BOM, ou un caractère (espace ou retour à la ligne ) précède la balise d'ouverture PHP du fichier.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Simon

j'ai bien effectué tout ce que vous m'avez indiqué.

Effectivement, c'était un mauvais codage en UTF-8 seulement.

Par contre, j'ai attribué une couleur à chaque type de document comme vous l'avez spécifié (couleur vérifiée avec photoshop et qui donne de jolies couleurs pastel), hé bein mon cadre est tout NOIR !

y'a rien à faire...

le code fact_dev c'est ça :


/**

  * Affiche en haut, a droite le libelle (FACTURE, DEVIS, Bon de commande, etc...) et son numero

  * La taille de la fonte est auto-adaptee au cadre

  *

  * @param mixed $libelle

  * @param mixed $num

  * @return

  */

function fact_dev($libelle, $num)

{

  $r1 = $this->w - 100;

  $r2 = $r1 + 90;

  $y1 = 6;

  $y2 = $y1 + 2;

  $mid = ($r1 + $r2) / 2;

  $texte = $libelle . " N° : " . $num;

  $szfont = 12;

  $loop = 0;

  while ($loop == 0) {

   $this->SetFont("Helvetica", "B", $szfont);

   $sz = $this->GetStringWidth($texte);

   if (($r1 + $sz) > $r2)

    $szfont --;

   else

    $loop ++;

  }


  $this->SetLineWidth(0.1);

  if($libelle == PROFORMA) {// Facture proforma - ROSE

		    $this->SetFillColor(241, 165,165);

  }elseif ($libelle == PDF_QUOTATION) { // devis - JAUNE

		    $this->SetFillColor(241,228,165);

  }elseif ($libelle == ORDER_FORM) { // Bon de commande - BLEU

		    $this->SetFillColor(165,219,241);

  }elseif ($libelle == INVOICE) { //Facture - VERT

		    $this->SetFillColor(165, 241, 173);

  }

  //$this->SetFillColor(210, 210, 255);

  $this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 2.5, 'DF');

  $this->SetXY($r1 + 1, $y1 + 2);

  $this->Cell($r2 - $r1 -1, 5, $texte, 0, 0, "C");

}

mais le cadre est tout noir, peut même pas lire BDC ou facture...

une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Il y avait plusieurs problème, $libelle et INVOICE n'avait pas la même casse, et un espace précédait la valeur dans la variable $libelle.

Il faut faire le test sur la valeur en GET, c'est plus fiable :


if($_GET['mode'] == 'proforma') {// Facture proforma - ROSE
$this->SetFillColor(241, 165,165);
}elseif ($_GET['mode'] == 'devis') { // devis - JAUNE
$this->SetFillColor(241,228,165);
}elseif ($_GET['mode'] == 'bdc') { // Bon de commande - BLEU
$this->SetFillColor(165,219,241);
}elseif ($_GET['mode'] == 'facture') { //Facture - VERT
$this->SetFillColor(165, 241, 173);
}
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping