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.
Spis treści
- Trzy etapy weryfikacji etykiety
- Dekompozycja kodu na pola bazy
- Cztery werdykty parsera
- Poprawna etykieta z błędnymi danymi
- Smart Scan przy przyjęciu towaru
- Smart Scan przy kompletacji i wydaniu
- Dziennik parsowania i rozmowa z dostawcą
- Moment wykrycia błędu a zakres naprawy
- Pytania i odpowiedzi o weryfikację etykiet
- Glosariusz pojęć związanych z weryfikacją etykiet
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.
| Etap | Co robi system | Rola operatora |
|---|---|---|
| 1. Skan | przyjmuje surowy ciąg razem z identyfikatorem symboliki wysłanym przez czytnik | kieruje terminal na etykietę |
| 2. Dekompozycja | rozpoznaje standard, dzieli ciąg na pola, liczy cyfry kontrolne i normalizuje daty | czeka ułamek sekundy |
| 3. Potwierdzenie | zestawia wynik z regułami bieżącego zadania i wydaje werdykt | akceptuje 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.
| Identyfikator | Odczytana wartość | Gdzie trafia | Do czego służy dalej |
|---|---|---|---|
| (01) | numer GTIN towaru | indeks kartoteki asortymentowej | wskazanie towaru bez wpisywania nazwy |
| (10) | numer partii | pole partii pozycji dokumentu | śledzenie i wycofanie partii z obrotu |
| (17) | termin ważności | pole daty w formacie ISO 8601 | wydawanie według reguły FEFO |
| (00) | numer SSCC nośnika | rejestr jednostek logistycznych | powiązanie palety z jednym numerem |
| (37) | liczba jednostek na nośniku | ilość pozycji dokumentu | kontrola 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.
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.
| Werdykt | Kiedy występuje | Co dzieje się dalej |
|---|---|---|
| Poprawna | struktura, cyfry kontrolne i daty zgodne ze specyfikacją | pozycja wypełnia się automatycznie, operacja idzie dalej |
| Warunkowo zgodna | odczyt wymagał trybu awaryjnego albo dane wymagają decyzji | system prosi o świadome potwierdzenie i zostawia ślad w protokole |
| Błędna | któraś kontrola nie przeszła, najczęściej cyfra kontrolna GTIN lub SSCC | odczyt jest odrzucany, wartość nie trafia do bazy |
| Nierozpoznana | kod nie pasuje do żadnego obsługiwanego standardu | system 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.
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.
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.
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.
- Zestawienie z awizacją. Numer nośnika jest porównywany z komunikatem awizacji, więc od razu wiadomo, czy paleta należy do oczekiwanej dostawy. Współpracę opisuje strona o awizacji dostaw i oknach czasowych.
- Kontrola terminu ważności. Odczytana data pozwala sprawdzić minimalny okres przydatności z umowy, zanim towar trafi na regał.
- Rejestracja jednostek bez przepisywania. Numery SSCC z etykiet fabrycznych zakładają jednostki w strefie buforowej automatycznie.
- Zgodność z kartoteką. Numer GTIN musi mieć odpowiednik w kartotece magazynowej, inaczej odczyt jest poprawny formalnie, ale nie wskazuje towaru.
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.
- Reguła FEFO. Gdy operator sięga po partię o dłuższym terminie, a w magazynie leży starsza, system zatrzymuje operację. Wskazuje wtedy właściwą lokalizację.
- Zgodność asortymentu. Skan przy pakowaniu potwierdza, że do kartonu trafia towar z zamówienia, a nie podobny wariant o innym rozmiarze. Szerzej opisuje to strona o kompletacji zleceń.
- Kontrola załadunku. Odczyt numeru SSCC przy wprowadzaniu palety na naczepę wiąże nośnik z dokumentem. Ten etap opisuje strona o wydaniu z magazynu.
- Liczba jednostek. Wartość z pola (37) jest porównywana z ilością na dokumencie, więc różnica wychodzi przy załadunku, a nie u odbiorcy.
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 wykryty | Co trzeba zrobić | Kogo to angażuje |
|---|---|---|
| przy skanowaniu | poprawić odczyt albo odłożyć jednostkę | operator przy terminalu |
| przy kompletacji | przerwać zlecenie, znaleźć towar, skorygować stan | operator i kierownik zmiany |
| przy inwentaryzacji | uzgodnić różnicę i odtworzyć historię ruchów | magazyn i księgowość |
| u odbiorcy | przyjąć zwrot i rozliczyć koszt transportu | magazyn, 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.