Wpisany przez Tomasz Lubiński,
01 września 2007 10:35
Produkty sprzedawane w detalu oznaczone są najczęściej kodem EAN-13. Czasem mogą być one sprzedawane w formie "zgrupowanej" - np. w postaci tekturowego kartonu, palety, skrzynki, itp. Jeżeli opakowanie takie zawiera zawsze identyczne jednostki i jest ich zawsze stała ilość, to wówczas identyfikuje się je poprzez nadanie mu oddzielnego numeru EAN-13 lub nadanie im numeru EAN-14 z wykorzystaniem numeru jednostek handlowych, które są zawarte w środku.
Taki numer EAN-14 powstaje z numeru EAN-13 uzupełnionego o numer będący cyfrą wskaźnikową (wariantem). Numer EAN-13 składa się z 12 cyfr identyfikujących produkt i 1 cyfry kontrolnej na końcu. EAN-14 ma natomiast następującą budowę:
Cyfra kontrolna obliczana jest następująco:
Załóżmy, że pewien producent produkuje produkt o numerze EAN-13 5916485101314, chce teraz wypuścić na rynek dwa warianty opakowań zbiorczych - jeden zawierający 6 sztuk produktu, oraz drugi zawierający 10 sztuk produktu. Do ich oznaczenia wykorzysta numer EAN-14. Pierwszy wariant zawierający 6 sztuk postanowił oznaczyć cyfrą wskaźnikową 1, a drugi wartiant zawierający 10 sztuk cyfrą wskaźnikową 2. Utwórzmy zatem te numery EAN-14.
Pierwszy będzie wyglądał następująco 1591648510131x, gdzie x jest cyfrą kontrolną, którą obliczymy poniżej.
3*1 + 1*5 + 3*9 + 1*1 + 3*6 + 1*4 + 3*8 + 1*5 + 3*1 + 1*0 + 3*1 + 1*3 + 3*1 = 3 + 5 + 27 + 1 + 18 + 4 + 24 + 5 + 3 + 0 + 3 + 3 + 3 = 99.
99 mod 10 = 9.
Wynik ten odejmujemy od 10 i znów dzielimy modulo 10, 10 - 9 = 1, 1 mod 10 = 1. Zatem cyfrą kontrolną jest 1, co daje nam kompletny pierwszy numer EAN-14: 15916485101311.
Drugi numer będzie wyglądał następująco 2591648510131x, gdzie x jest cyfrą kontrolną, którą obliczymy poniżej.
3*2 + 1*5 + 3*9 + 1*1 + 3*6 + 1*4 + 3*8 + 1*5 + 3*1 + 1*0 + 3*1 + 1*3 + 3*1 = 6 + 5 + 27 + 1 + 18 + 4 + 24 + 5 + 3 + 0 + 3 + 3 + 3 = 102.
102 mod 10 = 2.
Wynik ten odejmujemy od 10 i znów dzielimy modulo 10, 10 - 2 = 8, 8 mod 10 = 8. Zatem cyfrą kontrolną jest 8, co daje nam kompletny drugi numer EAN-14: 25916485101318.
Taki numer EAN-14 powstaje z numeru EAN-13 uzupełnionego o numer będący cyfrą wskaźnikową (wariantem). Numer EAN-13 składa się z 12 cyfr identyfikujących produkt i 1 cyfry kontrolnej na końcu. EAN-14 ma natomiast następującą budowę:
- cyfra wskaźnikowa (wariant)
- 12 cyfr identyfikujących produkt z kodu EAN-13
- cyfra kontrolna
Cyfra kontrolna obliczana jest następująco:
- najpierw obliczamy sumę ważoną wszystkich cyfr z wyjątkiem cyfry kontrolnej, wagi poszczególnych cyfr wynoszą 3 1 3 1 3 1 3 1 3 1 3 1 3,
- sumę ważoną dzielimy modulo 10,
- wynik z poprzedniego kroku odejmujemy od 10 i znów dzielimy modulo 10.
Przykład:
Załóżmy, że pewien producent produkuje produkt o numerze EAN-13 5916485101314, chce teraz wypuścić na rynek dwa warianty opakowań zbiorczych - jeden zawierający 6 sztuk produktu, oraz drugi zawierający 10 sztuk produktu. Do ich oznaczenia wykorzysta numer EAN-14. Pierwszy wariant zawierający 6 sztuk postanowił oznaczyć cyfrą wskaźnikową 1, a drugi wartiant zawierający 10 sztuk cyfrą wskaźnikową 2. Utwórzmy zatem te numery EAN-14.
Pierwszy będzie wyglądał następująco 1591648510131x, gdzie x jest cyfrą kontrolną, którą obliczymy poniżej.
3*1 + 1*5 + 3*9 + 1*1 + 3*6 + 1*4 + 3*8 + 1*5 + 3*1 + 1*0 + 3*1 + 1*3 + 3*1 = 3 + 5 + 27 + 1 + 18 + 4 + 24 + 5 + 3 + 0 + 3 + 3 + 3 = 99.
99 mod 10 = 9.
Wynik ten odejmujemy od 10 i znów dzielimy modulo 10, 10 - 9 = 1, 1 mod 10 = 1. Zatem cyfrą kontrolną jest 1, co daje nam kompletny pierwszy numer EAN-14: 15916485101311.
Drugi numer będzie wyglądał następująco 2591648510131x, gdzie x jest cyfrą kontrolną, którą obliczymy poniżej.
3*2 + 1*5 + 3*9 + 1*1 + 3*6 + 1*4 + 3*8 + 1*5 + 3*1 + 1*0 + 3*1 + 1*3 + 3*1 = 6 + 5 + 27 + 1 + 18 + 4 + 24 + 5 + 3 + 0 + 3 + 3 + 3 = 102.
102 mod 10 = 2.
Wynik ten odejmujemy od 10 i znów dzielimy modulo 10, 10 - 2 = 8, 8 mod 10 = 8. Zatem cyfrą kontrolną jest 8, co daje nam kompletny drugi numer EAN-14: 25916485101318.
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Tomasz Lubiński | C/C++ | .cpp | .cpp | ***** / 2 | |
Tomasz Lubiński | Delphi/Pascal | .pas | .pas | ***** / 3 | |
Tomasz Lubiński | Java | .java | .java | ***** / 2 |
Poprawiony: 29 sierpnia 2012 20:21
Komentarze

0
#
GfxBro
2011-08-17 15:53
Jak wyglądają tabele kodowania? Widzę, że start/end sentinels są odpowiednio 11010 i 01011, a cyfry i ew. środkowy strażnik?
Odpowiedz | Odpowiedz z cytatem | Cytować

0
#
Tomasz Lubiński
2011-08-19 13:23
Taki kod kodowany jest albo kodem EAN-128 albo przy pomocy Interleaved 2 of 5 i wtedy ma nazwę ITF-14 www.algorytm.org/kody-kreskowe/itf-14.html
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz