Jump to content

Affichage Code barre EAN13 sur bon de livraison


Recommended Posts

Bonjour, je cherche le moyen d'afficher le code barre (celui rentré dans la fiche produit) sur la facture à coté de la référence produit.
Très pratique pour moi qui avait le système sur oscommerce, puisque ayant une boutique physique, je dois rentré chaque facture manuelle sur mon pc de caisse, et avec la douchette je gagne beaucoup de temps, car j'ai plus de 4000 référence.
Si quelqu'un à une idée ou un chti bout de code!
Merçi à tous

  • Like 1
Link to comment
Share on other sites

Oui ce serait mieux avec les chiffres.
Sinon ce serait quasiment bon, juste la taille.
Bon début.


Bonjour,

je me permets d'intervenir
- est-il possible d'utiliser un code-barre du type EAN 13 pour les produits ? Codes-barres utilisés dans le monde entier sur l'ensemble de produits de grande consommation.
- est-il possible d'avoir le numéro de commande sous forme de code-barre ?
- PshopExpert comment as-tu fait pour insérer le code-barre dans ta facture ?

Cordialement,
Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

désolé je n'avais pas vu votre réponse, je n'ai pas reçu de notification.

Je vais proposer une modification pour ajouter les codes barres EAN13 aux factures et à mon module de catalogue PDF.
Oui il est possible de générer le code barre en fonction du numéro de commande.
Je vous invite à vous inscrire à la newsletter de PShopExpert.com pour connaître la date de publication.

Link to comment
Share on other sites

  • 1 month later...

est-ce quelqu'un aurais une idée du bout de ligne de code à rajouter dans pdf.php pour avoir le champ "ean13" de chaque produits (comme par exemple la référence) dans le bon de livraison ? Il me semble que ce doit être là que tout se joue! mais impossible de rajouter une colonne avec ean13?
Une idée?

Link to comment
Share on other sites

  • 4 months later...

Bonjour,
il y un script qui réalise les code barre graphique en utilisant la librairie php sur http://www.fpdf.org/
ensuite il faut récupérer le code ean 13 soit vous avez déjà les droit

$product['product_ean13']

( ce sera valable en fonctionde là ou est fait la requete au tableau $product
soit en instanciant:
$productObject = new Product(intval($product['id_product']));
echo 'Code EAN13 :'.$productObject->ean13;


Après ça j'ai cherché un peu pdf-invoice est un cookie qui appelle classes/PDF qui est en fait unes successionde classe FPDF et là y a du boulot, je vais chercher un peu.

Link to comment
Share on other sites

  • 10 months later...

Hello'
Je suis actuellement en train de travailler la-dessus, mais j'ai un peu de mal en php.

J'ai trouvé une fonction pour créer le code barre a partir du numero.

<?php

require('fpdf.php');

class PDF_EAN13 extends FPDF
{
function EAN13($x, $y, $barcode, $h=16, $w=.35)
{
   $this->Barcode($x,$y,$barcode,$h,$w,13);
}

function UPC_A($x, $y, $barcode, $h=16, $w=.35)
{
   $this->Barcode($x,$y,$barcode,$h,$w,12);
}

function GetCheckDigit($barcode)
{
   //Calcule le chiffre de contrôle
   $sum=0;
   for($i=1;$i<=11;$i+=2)
       $sum+=3*$barcode[$i];
   for($i=0;$i<=10;$i+=2)
       $sum+=$barcode[$i];
   $r=$sum;
   if($r>0)
       $r=10-$r;
   return $r;
}

function TestCheckDigit($barcode)
{
   //Vérifie le chiffre de contrôle
   $sum=0;
   for($i=1;$i<=11;$i+=2)
       $sum+=3*$barcode[$i];
   for($i=0;$i<=10;$i+=2)
       $sum+=$barcode[$i];
   return ($sum+$barcode[12])==0;
}

function Barcode($x, $y, $barcode, $h, $w, $len)
{
   //Ajoute des 0 si nécessaire
   $barcode=str_pad($barcode,$len-1,'0',STR_PAD_LEFT);
   if($len==12)
       $barcode='0'.$barcode;
   //Ajoute ou teste le chiffre de contrôle
   if(strlen($barcode)==12)
       $barcode.=$this->GetCheckDigit($barcode);
   elseif(!$this->TestCheckDigit($barcode))
       $this->Error('Incorrect check digit');
   //Convertit les chiffres en barres
   $codes=array(
       'A'=>array(
           '0'=>'0001101','1'=>'0011001','2'=>'0010011','3'=>'0111101','4'=>'0100011',
           '5'=>'0110001','6'=>'0101111','7'=>'0111011','8'=>'0110111','9'=>'0001011'),
       'B'=>array(
           '0'=>'0100111','1'=>'0110011','2'=>'0011011','3'=>'0100001','4'=>'0011101',
           '5'=>'0111001','6'=>'0000101','7'=>'0010001','8'=>'0001001','9'=>'0010111'),
       'C'=>array(
           '0'=>'1110010','1'=>'1100110','2'=>'1101100','3'=>'1000010','4'=>'1011100',
           '5'=>'1001110','6'=>'1010000','7'=>'1000100','8'=>'1001000','9'=>'1110100')
       );
   $parities=array(
       '0'=>array('A','A','A','A','A','A'),
       '1'=>array('A','A','B','A','B','B'),
       '2'=>array('A','A','B','B','A','B'),
       '3'=>array('A','A','B','B','B','A'),
       '4'=>array('A','B','A','A','B','B'),
       '5'=>array('A','B','B','A','A','B'),
       '6'=>array('A','B','B','B','A','A'),
       '7'=>array('A','B','A','B','A','B'),
       '8'=>array('A','B','A','B','B','A'),
       '9'=>array('A','B','B','A','B','A')
       );
   $code='101';
   $p=$parities[$barcode[0]];
   for($i=1;$i<=6;$i++)
       $code.=$codes[$p[$i-1]][$barcode[$i]];
   $code.='01010';
   for($i=7;$i<=12;$i++)
       $code.=$codes['C'][$barcode[$i]];
   $code.='101';
   //Dessine les barres
   for($i=0;$i    {
       if($code[$i]=='1')
           $this->Rect($x+$i*$w,$y,$w,$h,'F');
   }
   //Imprime le texte sous le code-barres
   $this->SetFont('Arial','',12);
   $this->Text($x,$y+$h+11/$this->k,substr($barcode,-$len));
}
}


?>



Mais je ne sais pas ou et comment inserer cette fonction (

EAN13(80,40,'le_numero_ean13')

) dans PDF.php. Je pense que ca sera qlqchose à laplace de

$this->Cell($w[++$i], $lineSize, ($product['product_reference'] ? $product['product_reference'] : '--'), 'B');



Merci pour votre aide'

Link to comment
Share on other sites

  • 2 weeks later...

[Edition du message précédent car retour à la première méthode avec la librairie fpdf]

Le code passe mais aucune modif, aucun code barre ne s'affiche ... pourquoi ???

Modifications dans ./classes/PDF.php

/* juste apres le "include_once(_PS_FPDF_PATH_.'fpdf.php');" j'ai collé la classe "PDF_EAN13"
extends FPDF (la même que dans le message précédent */

/* ligne 335 , juste après le "$pdf->AddPage();" je place ceci*/
$pdf->EAN13(80,80,'9780000000019');



mais cela n'affiche rien de plus dans le document pdf. Je suppose qu'il était censé rajouté mon code barre graphique à l'emplacement x=80 y=80 du pdf.

Vous voyez une erreur ?
Merci!

Link to comment
Share on other sites

Salut,

Si cela vous intéresse, j'ai la doc officielle (en français) de gencod pour les spécif EAN (dimensions & tolérances, rapport de contraste...)

Sinon, il y a aussi l'excellente doc commerciale/technique de Datalogic qui date un peu mais qui donne des tables de vérité de divers codes, start/end... (j'ai dessiné grâce à elle des Apha 39 lus par La Poste, à l'époque où j'étais jeune et beau).

Je peux me plonger dans mon musée (ça date mais est toujours d'actualité), à vous de me dire si ça vaut le coup. Si je peux aider...

Link to comment
Share on other sites

  • 2 weeks later...

Yaudouin,

Si tu veux, j'ai intégré le tout pour sortir des CàB sur le bon de livraison. J'ai modifié fpdf.php (core v 1.2.4). Je peux transmettre les modif sur ce thread, mais cela peut-il attendre lundi ou mardi ?

De toute façon, à mon avis, cela ne sert à rien s'il s'agit de la préparation des commandes.

Link to comment
Share on other sites

Comme convenu, ci-joint le fichier PDF.php (renommé en cab_PDF.php) permettant d'obtenir des CàB sur les BL. Tu peux utiliser le même principe pour les avoir sur les factures.

C'est de la modif sauvage. ATTENTION : le PDF.php joint est celui d'un core v1.2.4 !

Cherche pubntrash pour trouver les modif. J'ai augmenté la taille de la ligne pour conserver toutes les autres info.

J'ai annulé l'appel à TestCheckDigit qui ne fonctionne pas (il y a une toile dans la vérif du modulo 10).

Je n'ai pas testé la lecture des CàB. D'expérience, ils sont assez haut pour être lus. Sinon, tu peux faire varier la hauteur (ici 4) mais il faut revoir la hauteur des lignes. Dans la même idée, j'ai viré l'affichage du CàB en clair.

Ce sont des mini-càb, mais les temps sont aux économies :-)

26075_LQ4aiDXYSkVrIUf6XSIU_t

cab_PDF.php

Link to comment
Share on other sites

Un code EAN13 ne comporte QUE des chiffres, 12 utiles précisément car le dernier sert à vérifier dans une certaine mesure les 12 premiers. Il existe aussi l'EAN8 à 8 chiffres dont 7 utiles.

Si tu veux des lettres, il faut passer sur un autre type de code, type alpha39 (Code 39). Mais là, la routine de dessin du càb n'est plus du tout la même et il faut t'assurer que ta douchette peut les lire (à priori oui, sauf si elle date de l'âge de pierre). S'il me souvient bien, on peut mettre un nombre de caractères variables mais la taille du code grandit d'autant.

J'vais essayer de retrouver mes vieilles doc dans le week-end pour regarder cela de + près.

Link to comment
Share on other sites

Oui en effet, je suis conscient que la norme de l'EAN13 ne contient que des chiffres. Je bosse dans l'indexation où nous utilisons régulièrement des barcode pour indexer des lots de documents au scanner.

Je détourne simplement l'utilisation pour me faciliter la vie ^^

Je dois pouvoir trouver quelque chose aussi!

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour. Je n'ai pas posté depuis un moment à ce sujet, poursuivant mon codage sur le PDF.php. Suite à ce travail, j'obtiens désormais un module PDF.php qui m'affiche dans la facture et dans le bon de livraison :
- code-barres EAN13 articles
- code-barres numéro de commande
- code-barres numéro de bon de livraison / numéro de facture
- ajouts des commentaires clients

Screenshots à voir sur mon site.

Je le vend (au vu du temps passé dessus) en lot complet ou au détail pour des prix très modiques, sur mon site web de développement :
http://addapp.tk

39698_wTTl57IGGpnDcOUBXpue_t

Link to comment
Share on other sites

  • 6 months later...
Oui en effet, je suis conscient que la norme de l'EAN13 ne contient que des chiffres. Je bosse dans l'indexation où nous utilisons régulièrement des barcode pour indexer des lots de documents au scanner.

Je détourne simplement l'utilisation pour me faciliter la vie ^^

Je dois pouvoir trouver quelque chose aussi!



salut


Peux-tu m'expliquer comment tu fais pour mettre un code barre a ta facture? et comment dire que cette facture est pour tel client ? tu vas me dire grace au code barre mais qu'est ce qui fait que c pour un client bien précis grace au num de la facture?

merci bonne soiree
Link to comment
Share on other sites

  • 1 year later...

Comme convenu, ci-joint le fichier PDF.php (renommé en cab_PDF.php) permettant d'obtenir des CàB sur les BL. Tu peux utiliser le même principe pour les avoir sur les factures.

 

C'est de la modif sauvage. ATTENTION : le PDF.php joint est celui d'un core v1.2.4 !

 

Cherche pubntrash pour trouver les modif. J'ai augmenté la taille de la ligne pour conserver toutes les autres info.

 

J'ai annulé l'appel à TestCheckDigit qui ne fonctionne pas (il y a une toile dans la vérif du modulo 10).

 

Je n'ai pas testé la lecture des CàB. D'expérience, ils sont assez haut pour être lus. Sinon, tu peux faire varier la hauteur (ici 4) mais il faut revoir la hauteur des lignes. Dans la même idée, j'ai viré l'affichage du CàB en clair.

 

Ce sont des mini-càb, mais les temps sont aux économies :-)

 

Je viens de tester votre fichier, erreur 500 ligne 151 id delivery.... :( Zut

Link to comment
Share on other sites

  • 2 weeks later...

Vous pouvez créer facture personnalisée ou bordereau de livraison avec le module M4 extensions PDF. Il est facile et les exemples sont enfermés. Vous pouvez utiliser les codes à barres dans le catalogue de produits, liste de prix, étiquettes de description des produits, les factures. Il n'ya pas de limites. Vous pouvez choisir parmi les codes EAN et 42 autres codes.

 

You can create custom invoice or delivery slip with the M4 PDF Extensions module. It is easy task and examples are enclosed. You can use barcodes in the product catalog, price list, product description labels, invoices. There are no limitations. You can choose from EAN codes and 42 other codes.

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour. Je n'ai pas posté depuis un moment à ce sujet, poursuivant mon codage sur le PDF.php. Suite à ce travail, j'obtiens désormais un module PDF.php qui m'affiche dans la facture et dans le bon de livraison :

- code-barres EAN13 articles

- code-barres numéro de commande

- code-barres numéro de bon de livraison / numéro de facture

- ajouts des commentaires clients

 

Screenshots à voir sur mon site.

 

Je le vend (au vu du temps passé dessus) en lot complet ou au détail pour des prix très modiques, sur mon site web de développement :

http://addapp.tk

 

 

 

Salut,

 

Je serai également intéressé pour connaitre la modification du fichier PDF pour avoir les commentaires clients

 

vous pouvez me dire comment vous ajoutés les commentaires des clients ??

 

merci

Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...
  • 1 month later...
  • 2 months later...
  • 1 month later...

Bonjour,

 

J'utilise Prestashop 1.4.7.0.

 

Serait-il possible d'afficher le code EAN13 sur le mail de confirmation de commande reçu par le marchand ?

 

Pour rappel d'infos, ce mail est géré par les fichiers suivants :

modules/mailalerts/mailalerts.php

et modules/mailalerts/mails/fr/new_order.html

 

Merci par avance pour toute réponse.

 

Patrick

Link to comment
Share on other sites

  • 1 year later...
  • 11 months later...

Bonjour,

 

J'ai trouvé comment le faire.

 

fichier modules/mailalerts/mailalerts.php

 

Ligne 301, ajouter ceci :

 

.$product['product_ean13']

 

Bonjour, est-ce qu'il existe un module pour faire apparaitre les gencods sur les devis, facture et bon de livraison, car la modif ne fonctionne pas sur prestashop 1.6 

 

Merci par avance pour toute réponse.

Edited by smadox (see edit history)
Link to comment
Share on other sites

  • 1 year later...

Nickel, ca déchire. J'ai même pu l'appliquer sur ma facture, avec en prime un codebarre pour le numéro de facture.

1000 merci!!

 

Yohann

 

Salut, 

Je voudrai savoir comment vous avez fait pour l'appliquer sur la facture, et quelles sont les modifications coté TPL que vous avez fait .

 

 

Un code EAN13 ne comporte QUE des chiffres, 12 utiles précisément car le dernier sert à vérifier dans une certaine mesure les 12 premiers. Il existe aussi l'EAN8 à 8 chiffres dont 7 utiles.

 

Si tu veux des lettres, il faut passer sur un autre type de code, type alpha39 (Code 39). Mais là, la routine de dessin du càb n'est plus du tout la même et il faut t'assurer que ta douchette peut les lire (à priori oui, sauf si elle date de l'âge de pierre). S'il me souvient bien, on peut mettre un nombre de caractères variables mais la taille du code grandit d'autant.

 

J'vais essayer de retrouver mes vieilles doc dans le week-end pour regarder cela de + près.

 

Est-ce-que les modifications que vous avez fait sont compatibles avec la version 1.6 de prestashop.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...