Message de rapport:
 

Gros Pb avec codes barre en EAN13

Sujet: Gros Pb avec codes barre en EAN13
par 2501 sur 16/2/2006 18:02:37

Voila, j'ai une application qui tournait chez un client depuis quelques temps, cette application génére, entre autre, des codes barres.

J'ai un code unique à 11 chiffres, et je calcul la clé de controle moi même. Ensuite j'imprime des codes barre de type EAN13 sous windev en envoyant mon code de 12Chiffres (11 chiffres du code + 1controle).

Le problème c'est que sur certains codes, la clé de controle que je calcul n'est pas la même que celle que calcul windev pour l'impression. Du coup je me retrouve à imprimer un code différent de la valeur envoyée.

Par exemple pour le code 00000010638, je calcul 6 en clé, ça me donne : 000000106386, mais mon état imprime le code 000000106382.

Ci dessous mon algo de calcul de la clé de controle :

PROCEDURE calculControleEAN13(_codeInitial)
temp est un entier
sommePair, sommeImpair sont des entiers
z est un entier
m est un entier
controle est un entier
chaineControle est une chaîne

i est un entier = 1
BOUCLE(Taille(_codeInitial))
	temp = _codeInitial[[i A i]]
	SI EstPair(i+1) ALORS
		sommePair += temp
	SINON
		sommeImpair += temp
	FIN
	i++
FIN

z = 3*sommeImpair + sommePair
m = z
BOUCLE
	SI modulo(m,10) = 0 ALORS SORTIR
	m++	
FIN

controle = m - z

chaineControle = controle

RENVOYER chaineControle


Les codes sont issus de codes articles de type 9999, que je complète à gauche par un nombre de 0 variable afin d'avoir toujours la même longeur. Le problème est apparut aves les codes de plus de 4 chiffres. Néanmoins ce problème n'affecte pas tous les codes barre
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2