1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| //- Déclaration des variables
sVariable_EAN est une chaîne
prefixe_AEN est une chaîne
nouveauCode_AEN est une chaîne
Cle est une chaîne
nTotal est un entier
// -- On recherche le dernier codebarre existant
Requete est une chaîne="SELECT MAX(ART_CODEBARRE) FROM ARTICLES "
SI SQLExec(Requete, "REQ1") ALORS
SI SQLAvance("REQ1")=0 ALORS
sVariable_EAN=SQLLitCol("REQ1", 1)
// -- ON EXTRAIT LES 12 PREMIERS CHIFFRES
SI EnModeTest() ALORS Trace("TRACE N°5- Extraction de AEN13-", Gauche(sVariable_EAN,12))
prefixe_AEN=Gauche(sVariable_EAN,12)
// -- ON AJOUTE 1
prefixe_AEN=NumériqueVersChaîne(Val(prefixe_AEN)+1,"012d")
FIN
SINON
SQLInfoGene("REQ1")
Trace("Erreur SQL R1 : ", SQL.MesErreur)
FIN
SQLFerme("REQ1")
//calcul du caractère de contrôle
// -- ON GENERENT LA CLE DE CONTROLE D'UN CODE BARRE DE TYPE EAN13
POUR ii = 1 A Taille(prefixe_AEN)
//Code est les 12 premiers caractères du code barre
SI EstPair(ii) ALORS
nTotal+=Val(prefixe_AEN[[ii]])*3
SINON
nTotal+=Val(prefixe_AEN[[ii]])
FIN
FIN
Cle = ((PartieEntière(nTotal/10)+1)*10)-nTotal
SI Cle = 10 ALORS
Cle = 0
FIN
// -- ON OBTIENS LE NOUVEAU CODE BARRE
nouveauCode_AEN=prefixe_AEN + Cle |
Partager