Smart Scan - weryfikacja i dekompozycja etykiety GS1 albo HIBC w module Auto ID
Smart Scan odczytuje jeden kod ze skanera albo z klawiatury i rozkłada go na pola danych. Protokół kontroli rozstrzyga, czy etykieta jest poprawnym kodem GS1 albo HIBC, czy tylko na taki wygląda - np. ma przekłamaną cyfrę kontrolną albo brakuje w niej separatora pól. Transakcja ma charakter demonstracyjny: nie zapisuje pozycji w dokumentach magazynowych, a każdy odczyt trafia do dziennika parsowania.
Nad polem skanowania stoi wskaźnik trzech kroków: Skan, Dekompozycja, Potwierdzenie, a w pasku modułu - etykieta Skaner gotowy. Pole Oczekiwanie na kod przyjmuje odczyt ze skanera albo tekst wpisany ręcznie; Enter albo przycisk Odczytaj uruchamia kontrolę. Pod polem leży dziesięć przykładowych kodów wbudowanych w transakcję: pięć poprawnych GS1, dwa poprawne HIBC i trzy celowo błędne, oznaczone czerwonym krzyżykiem. Niżej widać kartę Pozycja przyjęcia (DEMO) z informacją, że pola z kodu są zablokowane, a wersja demonstracyjna nie zapisuje pozycji do bazy.
Na tej stronie
- Trzy kroki weryfikacji
- Rozpoznanie standardu i identyfikatory symboliki AIM
- Protokół kontroli etykiety
- Werdykt w trzech kolorach
- Dekompozytor kodu i karty podsumowania
- Formularz pozycji przyjęcia w wersji demonstracyjnej
- Obsługa skanera i klawiatury
- Ślad odczytu w dzienniku parsowania
- Ćwiczenie: sklasyfikuj przykładowe etykiety według werdyktu i wyjaśnij przyczynę
- Najczęstsze pytania
- Słownik pojęć
Trzy kroki weryfikacji
| Krok | Kiedy się włącza | Co widzi operator |
|---|---|---|
| 1 Skan | Po otwarciu transakcji i po przycisku Skanuj kolejny. | Puste pole z kursorem; w formularzu komunikat Brak zeskanowanej pozycji. |
| 2 Dekompozycja | Gdy w polu pojawi się tekst. Na tym kroku zostaje odczyt nierozpoznany. | Po odczycie werdykt z protokołem kontroli; przy kodzie spoza standardów bez rozkładu na pola. |
| 3 Potwierdzenie | Po odczycie kodu, którego standard parser rozpoznał. | Dekompozytor kodu, karty podsumowania i formularz wypełniony danymi z kodu. |
Skaner w magazynie zwykle pracuje jak klawiatura: wysyła znaki kodu i na końcu Enter. Gdy kursor jest w innym miejscu strony, transakcja i tak przechwyci szybką serię znaków ze skanera, a etykieta w pasku zmieni się na Przechwycono strumień ze skanera.
Rozpoznanie standardu i identyfikatory symboliki AIM
Parser patrzy na pierwszy znak odczytu. Wcześniej usuwa identyfikator symboliki AIM - trzy znaki zaczynające się od ], które część skanerów dopisuje przed kodem.
| Początek odczytu | Standard | Dalsza kontrola |
|---|---|---|
znak + | HIBC | Dane podstawowe, flagi danych wtórnych, znak kontrolny mod 43. |
http:// albo https:// | GS1 Digital Link | Pary identyfikator-wartość z adresu, dalej pełna kontrola GS1; bez połączenia z resolverem. |
cyfra albo nawias ( | GS1 | Strumień ze skanera z separatorem FNC1 albo zapis czytelny z nawiasami. |
| każdy inny znak | brak | Werdykt Nierozpoznany format kodu, bez dekompozycji i formularza. |
Prefiks ]C1 oznacza GS1-128, ]d2 - GS1 DataMatrix, a ]Q3 - kod GS1 QR. Prefiksy ]d1 i ]Q1 oznaczają DataMatrix albo QR bez znaku FNC1 na początku: treść może wyglądać jak GS1, ale formalnie nim nie jest, więc protokół zgłasza ostrzeżenie w wierszu Symbolika nośnika. Wymagania dla takich nośników opisuje strona kodów dwuwymiarowych GS1.
Protokół kontroli etykiety
Po odczycie ekran pokazuje kartę werdyktu z listą Protokół kontroli etykiety. Każdy wiersz ma ikonę statusu, nazwę kontroli i komunikat, np. odczytany i obliczony znak kontrolny.
| Wiersz protokołu | Co sprawdza | Błąd albo ostrzeżenie |
|---|---|---|
| Rozpoznanie standardu | Pierwszy znak i symbolikę. | Błąd, gdy kod nie pasuje do żadnego standardu. |
| Struktura pól (AI) | Podział kodu GS1 na identyfikatory i długości pól. | Błąd przy nieznanym identyfikatorze w strumieniu ze skanera albo uciętym polu; ostrzeżenie przy identyfikatorze bez reguły mapowania. |
| Struktura danych podstawowych | Wzorzec HIBC: LIC z 4 znaków od litery, numer produktu, cyfra jednostki miary. | Błąd przy niezgodnym wzorcu. |
| Separator FNC1 | Czy pola zmiennej długości kończy separator. | Ostrzeżenie, gdy pola rozdzielił tryb awaryjny; w trybie zgłaszania błędu brak separatora trafia do wiersza struktury. |
| Sumy kontrolne GTIN / SSCC | Cyfrę kontrolną mod 10 numerów GTIN, SSCC i GLN. | Błąd przy złej cyfrze; ostrzeżenie, gdy weryfikacja jest wyłączona albo kod nie ma takich numerów. |
| Znak kontrolny (mod 43) | Ostatni znak kodu HIBC. | Błąd albo ostrzeżenie zależnie od trybu rygorystycznego. |
| Dane wtórne | Segmenty HIBC po ukośniku. | Ostrzeżenie przy nieznanej fladze. |
| Pola dat | Poprawność daty i termin ważności. | Błąd przy dacie nieistniejącej; ostrzeżenie, gdy termin już minął. |
| GS1 Digital Link | Kompletność par w adresie. | Ostrzeżenie przy niesparowanym elemencie na końcu ścieżki. |
Cyfra kontrolna mod 10 i znak mod 43. Dla GTIN, SSCC i GLN parser mnoży cyfry numeru bez ostatniej, od prawej, na przemian przez 3 i 1, sumuje iloczyny i wylicza cyfrę, która dopełnia sumę do pełnej dziesiątki. Dla przykładowego GTIN
05909991234560suma wynosi 140, więc cyfrą kontrolną jest 0 - wariant z jedynką na końcu parser odrzuca. W kodzie HIBC wartości wszystkich znaków, łącznie z plusem, sumuje się według 43-znakowego alfabetu, a reszta z dzielenia przez 43 wskazuje znak kontrolny. Wynik dla GS1 można porównać z kalkulatorem cyfry kontrolnej GS1.
Werdykt w trzech kolorach
| Werdykt | Tytuł na ekranie | Warunek | Formularz pozycji |
|---|---|---|---|
| zielony | Poprawna etykieta GS1 albo HIBC | Wszystkie wiersze protokołu bez zastrzeżeń. | Pozycję można dodać do listy sesji. |
| bursztynowy | Etykieta GS1 albo HIBC - warunkowo zgodna | Co najmniej jedno ostrzeżenie, żadnego błędu. | Pozycję można dodać; lista oznacza ją wykrzyknikiem. |
| czerwony | Etykieta tylko wygląda na GS1 albo HIBC | Co najmniej jeden błąd w rozpoznanym standardzie. | Przyjęcie zablokowane komunikatem Etykieta odrzucona. |
| czerwony | Nierozpoznany format kodu | Kod nie należy do żadnego standardu. | Formularz zostaje pusty. |
Reguła werdyktu. Jeden błąd w dowolnym wierszu protokołu daje werdykt czerwony, niezależnie od liczby poprawnych wierszy. Ostrzeżenia obniżają werdykt do bursztynowego, ale nie blokują pozycji. Werdykt ocenia etykietę, nie towar: bursztynowy kolor przy minionym terminie ważności to informacja dla przyjmującego, a nie decyzja o odrzuceniu dostawy.
Trzy z typowych źródeł werdyktu bursztynowego zależą od profilu, który zmienia się w ustawieniach i mapowaniu parsera.
- Termin ważności w przeszłości - data poprawna, ale już minęła; karta Termin ważności pokazuje, od ilu dni.
- Tryb awaryjny separatora - skaner nie przekazał FNC1 i parser rozdzielił pola według profilu.
- Identyfikator bez reguły mapowania - pole odczytane bez interpretacji, np. wariant produktu
20. - Wyłączona kontrola w profilu - weryfikacja cyfr kontrolnych albo tryb rygorystyczny HIBC wyłączone w ustawieniach.
Dekompozytor kodu i karty podsumowania
Dla rozpoznanego standardu pod werdyktem pojawia się Dekompozytor kodu. Plakietka podaje standard i symbolikę, obok stoi surowy odczyt, w którym niewidoczny separator FNC1 jest pokazany jako ⟨GS⟩. Niżej leży rząd kafelków - po jednym na każde pole.
| Element kafelka | Zawartość |
|---|---|
| Identyfikator | AI w nawiasach, np. (17), albo flaga HIBC; znak ✗ przy błędzie i ! przy ostrzeżeniu. |
| Wartość | Dane pola: daty w zapisie RRRR-MM-DD, wagi przeliczone na kilogramy. |
| Nazwa | Opis z reguły mapowania albo dopisek, że identyfikator jest poza słownikiem. |
| Pole docelowe | Pole bazy danych z reguły mapowania - informacja, bez zapisu. |
| Komunikat | Powód ostrzeżenia albo błędu, np. błędna cyfra kontrolna (mod 10). |
Pod kafelkami stoją cztery karty: Rozpoznany standard, identyfikator (Kod GTIN, SSCC nośnika albo LIC i numer produktu), Numer partii (Lot) i Termin ważności. Karta terminu poniżej 60 dni podaje liczbę pozostałych dni, przy dłuższym terminie - przybliżoną liczbę miesięcy, a po terminie - od ilu dni towar jest przeterminowany.
Formularz pozycji przyjęcia w wersji demonstracyjnej
Karta Pozycja przyjęcia (DEMO) pokazuje, jak dane z etykiety wypełniłyby pozycję dokumentu. Pola z kodu są zablokowane i oznaczone kłódką; operator uzupełnia tylko ilość i lokalizację.
| Pole | Źródło danych | Edycja |
|---|---|---|
| Asortyment | Nazwa z katalogu przykładów; kod spoza katalogu dostaje opis zastępczy. | zablokowane |
| Kod GTIN, SSCC nośnika albo kod LIC i produkt | Identyfikator z kodu; etykieta pola zmienia się z rodzajem kodu. | zablokowane |
| Standard kodu, Numer partii (Lot) | Standard z symboliką oraz partia z identyfikatora 10 albo z danych wtórnych HIBC. | zablokowane |
| Termin ważności, Data produkcji, Nr seryjny / dodatkowe | Daty z identyfikatorów GS1 albo flag HIBC; numer seryjny albo waga. | zablokowane |
| Ilość przyjmowana | Podpowiedź z identyfikatora 30 albo 37 lub flagi Q, w innym przypadku 1. | Liczba większa od zera, do trzech miejsc po przecinku. |
| Lokalizacja docelowa | Stała lista przykładowych miejsc zapisana w transakcji, a nie kartoteka lokalizacji. | Wybór z listy, wymagany. |
Przycisk Przyjmij na magazyn (DEMO) najpierw sprawdza werdykt, a potem wymaga ilości i lokalizacji. Przy werdykcie czerwonym pokazuje komunikat Etykieta odrzucona. W pozostałych przypadkach dopisuje wiersz do listy Pozycje przyjęte w tej sesji i czyści ekran do kolejnego skanu. Enter w polu ilości działa jak ten przycisk, a Skanuj kolejny czyści ekran bez dodawania pozycji.
Smart Scan nie tworzy dokumentu. Lista Pozycje przyjęte w tej sesji istnieje tylko na ekranie - notka nad nią przypomina, że pozycje nie są zapisywane do bazy danych, a przycisk Wyczyść listę ją opróżnia. Stan magazynowy się nie zmienia. Towar przyjmuje się dokumentem, np. w formularzu przyjęcia bezpośredniego PZB albo w transakcji przyjęcia PZ na kolektorze Android.
Obsługa skanera i klawiatury
| Klawisz albo akcja | Działanie |
|---|---|
| Enter w polu skanowania | Uruchamia odczyt, tak samo jak przycisk Odczytaj. |
| Ctrl+] w polu skanowania | Wstawia znak FNC1 (ASCII 29) - tak separator przekazuje wiele skanerów w trybie klawiatury. |
| Kliknięcie przykładowego kodu | Wstawia kod do pola i od razu wykonuje odczyt. |
| Enter w polu ilości | Dodaje pozycję, jak przycisk Przyjmij na magazyn (DEMO). |
Kod można też wkleić w zapisie czytelnym z nawiasami, np. (01)05909991234560(10)LOT1 - nawiasy wyznaczają granice pól, więc separator nie jest potrzebny. Kontrola etykiety odbywa się w przeglądarce, a do bazy danych trafia tylko wpis dziennika; ekran pracuje przy połączeniu z serwerem aplikacji, jak cały system.
Ślad odczytu w dzienniku parsowania
Każdy odczyt, także błędny albo nierozpoznany, zapisuje się jako jeden wiersz dziennika parsowania. Wiersz zawiera surowy ciąg znaków z separatorem FNC1 zapisanym jako <GS>, standard, symbolikę, werdykt i pierwszy komunikat błędu albo ostrzeżenia. Obok stoją wartości z kodu: GTIN, SSCC, LIC, partia, daty i ilość, a także login i magazyn użytkownika.
Pasek filtrów ma przełącznik okresu Dziś, 7 dni, 30 dni, filtr werdyktu, listę standardów i wyszukiwarkę. Cztery kafelki liczą: odczyty w filtrze, poprawne etykiety, błędy, ostrzeżenia. Sekcja Rejestr odczytów (TOP 500) ma przycisk Eksport XLS; w chwili wykonania zrzutu dziennik w bazie demonstracyjnej był pusty.
Zapis do dziennika nie blokuje weryfikacji: gdy się nie powiedzie, Smart Scan pokazuje werdykt normalnie, a odczyt nie pojawi się w rejestrze. Analizę odczytów opisuje strona dziennik parsowania i rejestr błędów, a wskaźniki dnia - dashboard Auto ID; oba ekrany pokazują odczyty z magazynu zalogowanego użytkownika. Typowe usterki etykiet omawia artykuł błędy parsowania kodów kreskowych i ich wykrywanie.
Przed pierwszą dostawą od nowego dostawcy próbki jego etykiet skanuje się w Smart Scan - od razu widać, czy skaner przekazuje FNC1 i czy numery mają poprawne cyfry kontrolne. Tak samo sprawdza się etykiety własne - numer nadany w module jednostek logistycznych SSCC po wydruku powinien dać werdykt zielony. Pozostałe ekrany opisuje przegląd modułu Auto ID.
Ćwiczenie w demo - lekcja lub zajęcia
Ćwiczenie: sklasyfikuj przykładowe etykiety według werdyktu i wyjaśnij przyczynę
Uczeń sprawdza zestaw etykiet tak, jak robi to osoba przyjmująca dostawę, i uczy się czytać protokół kontroli. Rola w demo: kierownik magazynu. Czas: około 15 minut.
- Otwórz bezpłatne demo Studio WMS.net w roli kierownika magazynu i przejdź do AUTO ID, Smart Scan. Jeśli wcześniej zmieniałeś ustawienia parsera, przywróć je przyciskiem Przywróć domyślne.
- Kliknij po kolei wszystkie przykładowe kody. Dla każdego zapisz standard, kolor werdyktu i pierwszy wiersz protokołu, który nie jest zielony.
- Przy przykładzie Jabłka Gala odczytaj kartę Termin ważności i wyjaśnij, skąd bierze się werdykt bursztynowy.
- Przy przykładzie Paleta SSCC policz ręcznie cyfrę kontrolną numeru SSCC (wagi 3 i 1 od prawej) i porównaj ją z protokołem.
- Dodaj do listy sesji pozycję z przykładu Lampa LED, wybierając lokalizację z listy, a potem spróbuj dodać pozycję z przykładu GTIN - błędna suma kontrolna.
- Na koniec kliknij Wyczyść listę.
Pytanie kontrolne. Czym różni się etykieta, która tylko wygląda na GS1, od etykiety w nierozpoznanym formacie? Która z nich jest groźniejsza dla poprawności stanu, gdyby magazyn przyjmował towar bez kontroli, i dlaczego?
Podstawa programowa. Ćwiczenie realizuje efekt "stosuje systemy informatyczne w procesie magazynowania" z kwalifikacji SPL.01 Obsługa magazynów (jednostka SPL.01.5), w tym kryterium stosowania systemów znakowania i monitorowania zapasów lub ładunków w standardach GS1. Pozostałe ćwiczenia zebraliśmy na stronie demo WMS na zajęciach z gospodarki magazynowej.
Najczęstsze pytania
Czy Smart Scan zapisuje pozycję do dokumentu przyjęcia?
Nie. W wersji 2026.7 transakcja nie zapisuje pozycji do dokumentu magazynowego ani do kartoteki, tylko odczyt do dziennika parsowania. Lista Pozycje przyjęte w tej sesji istnieje wyłącznie na ekranie i znika po odświeżeniu strony.
Dlaczego etykieta o poprawnej strukturze dostaje werdykt czerwony?
Poprawna struktura oznacza jeden zielony wiersz protokołu, a werdykt czerwony daje każdy błąd, np. zła cyfra kontrolna GTIN albo data z nieistniejącym dniem. Taki kod wygląda na GS1, ale numer przekłamano przy druku albo przepisywaniu.
Czy przy kodzie QR z adresem GS1 Digital Link Smart Scan łączy się z Internetem?
Nie. Parser odczytuje identyfikatory z samego adresu i nie łączy się z resolverem.
Dlaczego ta sama etykieta na dwóch komputerach dostaje inny werdykt?
Profil parsera leży w pamięci przeglądarki każdego stanowiska. Jeśli na jednym komputerze wyłączono np. tryb rygorystyczny HIBC, niezgodny znak kontrolny da tam werdykt bursztynowy zamiast czerwonego. Profil stanowiska widać w zakładce Wewnętrzne słowników standardów Auto ID.
Czy dziennik parsowania zapisuje także kody nierozpoznane?
Tak. Kod nierozpoznany też dostaje własny wiersz: ze standardem oznaczonym jako nieznany i z surowym ciągiem znaków.
Słownik pojęć
- Werdykt parsera
- Wynik kontroli etykiety w jednym z trzech kolorów, wyznaczany przez najpoważniejsze zastrzeżenie w protokole.
- Dekompozytor kodu
- Panel, który pokazuje odczyt rozłożony na pola: identyfikator, wartość, nazwę, pole docelowe i komunikat.
- Etykieta warunkowo zgodna
- Kod czytelny i zgodny ze standardem, ale z zastrzeżeniem w protokole, np. minionym terminem ważności.
- Identyfikator symboliki AIM
- Trzyznakowy prefiks, np.
]C1, którym skaner informuje o rodzaju kodu; parser go usuwa i zapisuje w protokole. - Cyfra kontrolna mod 10
- Ostatnia cyfra numerów GTIN, SSCC i GLN, wyliczana z wag 3 i 1; wykrywa pomyłki w pojedynczej cyfrze.
- Znak kontrolny mod 43
- Ostatni znak kodu HIBC, wyznaczany z sumy wartości wszystkich znaków kodu łącznie z plusem.