coduri de barecoduri de bare

EAN-13 Symbology

EAN-13

"EAN-13" este folosit in intreaga lume pentru a marca bunuri comercializate retail. Acest cod de bare codifica 13 caractere: primele doua sau trei sunt codul tarii in care producatorul este inregistrat (poate sa nu coincida cu tara in care produsul a fost de fapt realizat).  Codul de tara este urmat de 9 sau 10 digiti de date (acest lucru depinde de lungimea codului tarii) si un singur digit de control. Se mai pot adauga coduri de bare suplimentare formate din 2 sau 5 digiti rezultand astfel un total de 14 sau 17 digiti de date.

Uniform Code Council (organizatia care reglementeaza codurile de bare pentru retail in SUA) a anuntat ca incepand cu data de 1 ianuarie 2005, toate sistemele de scanare de retail din SUA vor trebui sa accepte simboluri EAN-13 precum si standardul UPC-A. Aceasta schimbare va elimina necesitatea ca producatorii ce exporta bunuri in SUA si Canada sa-si eticheteze produsele in doua standarde.

Suma de control este reprezentata de un calcul modulo 10:

  1. Adunati valorile digitilor aflati in pozitii reprezentate de numere pare: 2, 4, 6, etc.
  2. Inmultiti rezultatul cu 3.
  3. Adunati valorile digitilor aflati in pozitii reprezentate de numere impare: 1, 3, 5, etc.
  4. Insumati rezultatele pasilor 2 si 3.
  5. Caracterul de control este cel mai mic numar care, adunat cu rezultatul de la pasul 4, produce un multiplu de 10.

Exemplu: Fie urmatorul cod de bare = 001234567890

  1. 0 + 2 + 4 + 6 + 8 + 0 = 20
  2. 20 * 3 = 60
  3. 0 + 1 + 3 + 5 + 7 + 9 = 25
  4. 60 + 25 = 85
  5. 85 + X = 90 (cel mai apropiat numar mai mare sau egal multiplu de 10), rezulta X = 5 (digit de control)

Iata un exemplu de functie in Visual Basic ce poate calcula digitul de control:

Function Append_EAN_Checksum (RawString as String)
Dim    Position as Integer
Dim    CheckSum as Integer

CheckSum = 0
For Position = 2 to 12 step 2
      Checksum = Checksum + Val(Mid$(RawString, Position, 1))
Next Position
CheckSum = CheckSum * 3
For Position = 1 to 11 Step 2
     CheckSum = CheckSum + Val(Mid$(RawString, Position, 1))
Next Position
CheckSum = CheckSum Mod 10
CheckSum = 10 - CheckSum
If CheckSum = 10 Then
     CheckSum = 0
End If
Append_Ean_Checksum = RawString & Format$(CheckSum, "0")
End Function

Foarte multe tari au autoritati ce reglementeaza folosirea de coduri de bare in retail. 

Informations provided by "Measurement Equipment Corporation".
 
UP                       CONTACT    ETICHETE     IMPRIMANTE     RIBOANE