İçeriğe geç

GS1 karekod nasıl okunur ve doğrulanır: ham veriden alan alan kontrole

Okuyucunun döndürdüğü ham metin, görünmeyen ayraç, alan uzunlukları, GTIN kontrol hanesinin elle hesabı ve tarih kontrolü: bir GS1 karekodunu adım adım doğrulama rehberi.

2 dk okumaGS1 · DataMatrix · Karekod · Doğrulama

Bir karekodu okuyucuya göstermek ve "okundu" ışığını görmek doğrulama değildir. Okuyucu yalnızca sembolü çözdüğünü söyler; içindeki verinin GS1 kurallarına uyup uymadığını söylemez. Aşağıdaki adımlar, elinizdeki bir kodu ham metinden başlayarak denetlemenin sırasını gösterir.

1. Okuyucu ne döndürüyor?

Çoğu okuyucu çözdüğü içeriği düz metin olarak klavye gibi yazar. Bu metinde iki şeye dikkat edin. Birincisi, bazı okuyucular içeriğin önüne sembol tanımlayıcı ekler: GS1 DataMatrix için ]d2, GS1-128 için ]C1. Bu önek veri değildir, ayrıştırmadan önce atılmalıdır. İkincisi, alanları ayıran FNC1 karakteri (ASCII 29, "GS") ekranda görünmez; bazı okuyucular onu hiç iletmez, bazıları başka bir karakterle değiştirir. Okuyucu ayarında bu davranışı bilmeden ayrıştırma yazılımı kurulmamalıdır.

2. Ham metni alanlara ayırın

Örnek bir içerik: 0109504000059118 17271231 10LOT42 [GS] 21A1B2C3 (okunaklı olsun diye boşluklarla yazıldı; gerçekte bitişiktir). Ayrıştırma, her alanın başındaki uygulama tanımlayıcısına (AI) bakarak yapılır:

  • (01) GTIN: sabit 14 hane
  • (17) son kullanma tarihi: sabit 6 hane, YYAAGG
  • (10) parti: değişken uzunluk, en çok 20 karakter
  • (21) seri numarası: değişken uzunluk, en çok 20 karakter

Sabit uzunluklu alanların ardından ayraç gerekmez; değişken uzunluklu bir alan, sonda değilse ayraçla biter. Yukarıdaki örnekte parti (10) sonda olmadığı için ardından GS gelir, seri numarası (21) sondadır.

3. GTIN kontrol hanesini elle hesaplayın

14 haneli GTIN 09504000059118'in son hanesi (8) kontrol hanesidir. Hesap: ilk 13 haneyi sağdan sola sırayla 3 ve 1 ile çarpın (en sağdaki 3), toplayın, toplamı bir üst onluğa tamamlayan sayı kontrol hanesidir. Örnekte toplam 72, bir üst onluk 80, fark 8: kod doğru. Hane 7 olsaydı sembol yine okunurdu, ama GTIN geçersiz olurdu.

4. Tarihi ve ayraçları denetleyin

  • (17) altındaki ay 01-12 arasında olmalı. Gün 00 ise "ayın son günü" demektir; sisteminiz bunu ayrıca ele alıyor mu?
  • Örnekteki 271231, 31 Aralık 2027'dir. Aynı haneler GG.AA.YY alışkanlığıyla yazılmış olsaydı geçerli ama yanlış bir tarih çıkardı.
  • Değişken alandan sonra ayraç yoksa tarih ve parti, seri numarasının içine karışır. Alan uzunluğu 20'yi geçiyorsa ya da seri numarasında beklenmedik bir "17" dizisi varsa bu belirtidir.

5. Okunabilirlik ile doğruluğu ayırın

Sembolün baskı kalitesi (kontrast, modül boyutu, sessiz bölge) bir sorundur; verinin doğruluğu başka bir sorundur. İkisi ayrı sınanır. Baskı kalitesi için doğrulayıcı cihaz gerekir; veri için yukarıdaki adımlar yeterlidir ve yazılımla her kutu için otomatikleştirilebilir.

Araçla deneyin

İçeriği GS1 karekod çözümleyici aracına yapıştırın: alanları ayırır, kontrol hanesini ve tarihi doğrular. Kontrol hanesini tek başına hesaplamak için kontrol hanesi hesaplayıcı, alan tanımları için uygulama tanımlayıcıları sözlüğü var. Hatta en sık görülen hatalar ayrı bir yazıda: İlaç karekodunda sık yapılan beş hata. Hattınızdaki doğrulamayı kurmak için bize yazın.

Bu konuyu kendi tesisiniz için konuşalım