coduri de bare
(aproape)   TOTUL DESPRE CODURI 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".

www. ETICHETE .com www. ULTRAFACTOR .ro www. RIBOANE .ro