Koszt błędu w identyfikacji rośnie z każdą godziną, w której nikt go nie widzi. Zła partia wykryta przy skanowaniu to poprawka na kilka sekund. Ta sama pomyłka wykryta przy inwentaryzacji to dzień uzgadniania stanów, a wykryta przez odbiorcę to reklamacja. Smart Scan przenosi kontrolę na początek operacji: etykieta jest sprawdzana w chwili, w której operator kieruje na nią czytnik.

Trzy etapy weryfikacji etykiety

Zwykły odczyt porównuje jeden ciąg znaków z jedną wartością w bazie. Etykieta zbiorcza niesie jednak naraz kilka wartości, na przykład numer towaru i partię, więc takie porównanie nie wystarcza. Smart Scan dzieli operację na etapy, których stan widać na wskaźniku u góry ekranu.

EtapCo robi systemRola operatora
1. Skanprzyjmuje surowy ciąg razem z identyfikatorem symboliki wysłanym przez czytnikkieruje terminal na etykietę
2. Dekompozycjarozpoznaje standard, dzieli ciąg na pola, liczy cyfry kontrolne i normalizuje datyczeka ułamek sekundy
3. Potwierdzeniezestawia wynik z regułami bieżącego zadania i wydaje werdyktakceptuje albo odrzuca jednostkę

W pierwszym etapie liczy się szczegół konfiguracji sprzętu. Czytnik wysyła treść razem z identyfikatorem symboliki, czyli trzyznakowym przedrostkiem ]C1 dla GS1-128 albo ]d2 dla GS1 DataMatrix. Dzięki niemu system odróżnia etykietę GS1 od zwykłego ciągu, który zaczyna się od dwóch cyfr. Budowę obu symbolik opisuje strona o odczycie kodów GS1-128 i GS1 DataMatrix.

Etap trzeci nie kończy się zapisem do bazy. System odnosi wartości do awizacji przyjęcia albo do zlecenia kompletacji i dopiero wtedy decyduje, czy operacja idzie dalej. Ta sama etykieta może więc przejść w jednym zadaniu i zostać odrzucona w innym.

Dekompozycja kodu na pola bazy

Silnik dekompozycji rozbija długi ciąg na atrybuty i przypisuje każdy do kolumny. Mapowanie należy do konfiguracji, więc przy nietypowym układzie danych zmienia się je bez zmian w programie.

IdentyfikatorOdczytana wartośćGdzie trafiaDo czego służy dalej
(01)numer GTIN towaruindeks kartoteki asortymentowejwskazanie towaru bez wpisywania nazwy
(10)numer partiipole partii pozycji dokumentuśledzenie i wycofanie partii z obrotu
(17)termin ważnościpole daty w formacie ISO 8601wydawanie według reguły FEFO
(00)numer SSCC nośnikarejestr jednostek logistycznychpowiązanie palety z jednym numerem
(37)liczba jednostek na nośnikuilość pozycji dokumentukontrola zgodności z awizacją

Jedno naciśnięcie spustu wypełnia komplet pól pozycji. Operator uzupełnia tylko to, czego etykieta nie zawiera, czyli liczbę przyjętych sztuk i lokalizację. Resztę system blokuje do edycji, żeby dane z kodu nie zostały nadpisane. Na terminalu z Androidem ma to znaczenie, bo wpisywanie długich numerów na małym ekranie jest najwolniejszą częścią operacji.

Numer SSCC trafia do rejestru jednostek, w którym opakowanie należy do kartonu, a karton do palety. Skan numeru nośnika pokazuje więc całą zawartość bez otwierania folii. Budowę numeru opisuje standard GS1 Polska.

Studio WMS.net - rejestr jednostek logistycznych SSCC z drzewem agregacji paleta, karton, opakowanie
Rejestr jednostek logistycznych - paleta z numerem SSCC i karton jako osobne poziomy agregacji

Cztery werdykty parsera

Weryfikacja ma sens, gdy system reaguje na to, co wykrył. Smart Scan rozróżnia cztery stany zamiast dwóch. Wynik trafia do jednej z czterech kategorii, a każda uruchamia inne działanie.

WerdyktKiedy występujeCo dzieje się dalej
Poprawnastruktura, cyfry kontrolne i daty zgodne ze specyfikacjąpozycja wypełnia się automatycznie, operacja idzie dalej
Warunkowo zgodnaodczyt wymagał trybu awaryjnego albo dane wymagają decyzjisystem prosi o świadome potwierdzenie i zostawia ślad w protokole
Błędnaktóraś kontrola nie przeszła, najczęściej cyfra kontrolna GTIN lub SSCCodczyt jest odrzucany, wartość nie trafia do bazy
Nierozpoznanakod nie pasuje do żadnego obsługiwanego standardusystem nazywa przyczynę i wskazuje potrzebę osobnego profilu parsowania

Werdykt błędny nie jest arbitralny. Protokół pokazuje wynik każdego testu osobno, więc widać, na którym odczyt się zatrzymał. W przykładzie poniżej struktura jest dobra, a zawiodła wyłącznie suma kontrolna numeru towaru.

Studio WMS.net - komunikat o etykiecie niezgodnej ze standardem z powodu błędnej cyfry kontrolnej GTIN
Etykieta odrzucona przez parser - struktura jest poprawna, ale cyfra kontrolna numeru GTIN nie zgadza się

Osobno traktowana jest etykieta, której system w ogóle nie rozpoznaje. Parser sprawdza kolejno cechy obsługiwanych standardów i jeśli żadna nie występuje, kod trafia do nierozpoznanych. Zapisanie przypadkowych wartości do kartoteki byłoby błędem trudniejszym do wykrycia niż jawna odmowa.

Studio WMS.net - komunikat o nierozpoznanym formacie kodu przy etykiecie wewnętrznej dostawcy
Kod spoza standardów GS1 i HIBC - parser nazywa przyczynę zamiast zapisywać przypadkowe wartości

Reguła bezpieczeństwa operacyjnego: przy werdykcie błędnym system nie pozwala przejść do kolejnego kroku, dopóki operator nie poprawi pomyłki albo nie odłoży jednostki. Werdykt warunkowy przepuszcza operację, lecz wymaga potwierdzenia.

Poprawna etykieta z błędnymi danymi

Werdykt poprawny nie gwarantuje prawidłowych danych. W środowisku demonstracyjnym podano parserowi kod GS1-128, w którym po polu partii pominięto separator. Oczekiwano trzech pól, z których ostatnie miało nieść termin ważności.

wejście:  ]C1 01 05909991234560 10 LOT2026A 17 271130
pola:     01 = 05909991234560
          10 = LOT2026A17271130
brak pola 17, wszystkie testy zakończone wynikiem pozytywnym

Parser zameldował etykietę poprawną. Cyfra kontrolna numeru towaru zgadza się, a komunikat o separatorze mówi, że nie był potrzebny. Dekompozycja pokazuje jednak dwa pola zamiast trzech, a numer partii zawiera doklejony termin. Pole daty nie powstało.

Studio WMS.net - numer partii, który wchłonął termin ważności po pominięciu separatora pól w kodzie
Kod bez separatora przechodzi kontrolę, ale numer partii wchłonął termin ważności - dwa pola zamiast trzech

Konsekwencja jest cicha. Towar wchodzi na stan, dokument się zapisuje, ale pozycja nie ma terminu ważności i wypada z obsługi FEFO. Błąd wychodzi dopiero wtedy, gdy wyjedzie partia starsza niż powinna. Oprócz werdyktu trzeba więc patrzeć na liczbę wyodrębnionych pól, którą parser podaje w protokole. Skutki dla ewidencji opisuje strona o partiach produkcyjnych i datach ważności.

Smart Scan przy przyjęciu towaru

Strefa przyjęć jest miejscem, w którym stan faktyczny spotyka się z deklaracją dostawcy. Niezgodność przepuszczona tutaj mnoży się w kolejnych operacjach. Przebieg przyjęcia opisuje strona o przyjęciu towaru do magazynu.

Smart Scan przy kompletacji i wydaniu

Przy wydaniu stawka jest inna. Błąd z przyjęcia zostaje w magazynie i da się go naprawić, a błąd z wydania jedzie do odbiorcy. Kontrola w chwili skanowania działa tu jak ostatnia bramka.

Dziennik parsowania i rozmowa z dostawcą

Pojedyncze odrzucenie jest zdarzeniem operacyjnym. Powtarzające się odrzucenia z tego samego źródła są tematem rozmowy handlowej. Każdy odczyt zapisuje się w dzienniku z werdyktem, a zestawienie grupuje nieprawidłowości według komunikatu błędu i według prefiksu firmy nadającej numery.

Prefiks wskazuje dostawcę. Zamiast stwierdzenia, że etykiety bywają wadliwe, można podać liczbę odrzuconych odczytów i przyczynę, na przykład brak separatora po polu partii. Dziennik zawiera też odczyty warunkowe, które przeszły dzięki trybowi awaryjnemu. Ich liczba pokazuje, ile etykiet działa tylko dlatego, że system je ratuje. Zbiorcze ujęcie danych opisuje strona o wskaźnikach jakości skanowania.

Moment wykrycia błędu a zakres naprawy

Błędy nie znikną, bo etykiety drukują firmy, na które magazyn nie ma wpływu. Zmienia się moment ich wykrycia, a z nim koszt naprawy.

Kiedy błąd zostaje wykrytyCo trzeba zrobićKogo to angażuje
przy skanowaniupoprawić odczyt albo odłożyć jednostkęoperator przy terminalu
przy kompletacjiprzerwać zlecenie, znaleźć towar, skorygować stanoperator i kierownik zmiany
przy inwentaryzacjiuzgodnić różnicę i odtworzyć historię ruchówmagazyn i księgowość
u odbiorcyprzyjąć zwrot i rozliczyć koszt transportumagazyn, obsługa klienta i dział handlowy

Kontrola przy skanowaniu skraca też samą operację, bo znika przepisywanie partii i dat. Skala oszczędności zależy od liczby pól wypełnianych wcześniej ręcznie, więc pomiar trzeba wykonać na własnych danych przed wdrożeniem i po nim. Przy pozycjach z partią i terminem różnica jest wyraźna, a przy prostych towarach bez cech dodatkowych mniejsza.

Pytania i odpowiedzi o weryfikację etykiet

Zwykły odczyt porównuje jeden ciąg z jedną wartością w bazie. Smart Scan rozpoznaje standard etykiety, rozbija kod na pola, liczy cyfry kontrolne i normalizuje daty, a potem zestawia wynik z regułami zadania. Efektem jest werdykt, a nie sama wartość.

Cztery. Poprawna oznacza etykietę zgodną ze specyfikacją. Warunkowo zgodna wymaga decyzji operatora, na przykład po zadziałaniu trybu awaryjnego. Błędna nie przeszła którejś kontroli. Nierozpoznana pochodzi spoza obsługiwanych standardów.

Nie zawsze. Kod GS1-128 bez separatora po polu partii przechodzi wszystkie testy, ale partia wchłania doklejony termin ważności, a pole daty nie powstaje. Dlatego obok werdyktu trzeba sprawdzać liczbę wyodrębnionych pól z protokołu.

Odrzuca ją i nazywa przyczynę, zamiast zapisywać przypadkowe wartości. Obsługa takiej etykiety wymaga osobnego profilu parsowania przypisanego do prefiksu dostawcy.

Tak, transakcja jest przeznaczona głównie do pracy na terminalu z Androidem. Pola wypełnione z kodu są zablokowane do edycji, więc operator wpisuje tylko liczbę sztuk i lokalizację.

W dzienniku parsowania. Zestawienie grupuje błędy według komunikatu i według prefiksu firmy nadającej numery, więc rozmowa z dostawcą opiera się na liczbie odrzuconych etykiet w okresie.

Glosariusz pojęć związanych z weryfikacją etykiet

Parsowanie
Rozbicie surowego ciągu znaków z kodu na pojedyncze pola danych zgodnie z regułami standardu.
Surowy ciąg (raw data)
Treść przekazana przez czytnik przed interpretacją, razem z identyfikatorem symboliki i znakami sterującymi.
Werdykt parsera
Ocena etykiety w jednej z czterech kategorii: poprawna, warunkowo zgodna, błędna albo nierozpoznana.
Tryb awaryjny
Zachowanie parsera przy braku separatora, w którym pole zmiennej długości jest dopasowywane po maksymalnej długości identyfikatora.
FEFO
Reguła wydawania towaru według najkrótszego terminu ważności, oparta na dacie odczytanej z etykiety.
DESADV
Elektroniczny komunikat awizacji dostawy, zawierający wykaz jednostek logistycznych i ich zawartość.
Agregacja jednostek
Powiązanie opakowania z kartonem, a kartonu z paletą, dzięki któremu odczyt numeru nośnika ujawnia całą zawartość.
Dziennik parsowania
Rejestr odczytów z werdyktem parsera, służący do analizy jakości etykiet w podziale na dostawców.

Warto przeczytać