Sam kod kreskowy niczego nie mówi systemowi. Znaczenie nadaje mu rekord w bazie, który wiąże odczytaną wartość z konkretnym towarem albo miejscem. Ta strona opisuje, jak symbole 1D i 2D trafiają do kartoteki Studio WMS.net i które parametry etykiety decydują o udanym skanie.
Spis treści
- Co koduje kod kreskowy w magazynie
- Kody 1D i 2D w Studio WMS.net
- Kod w kartotece asortymentu
- Etykieta i czytnik - parametry, które decydują o odczycie
- Skan na przyjęciu - trzy sytuacje z kodem
- Kody kreskowe w układzie procesów magazynu
- Historia skanowań jako dane analityczne
- Pytania i odpowiedzi o kody kreskowe w magazynie
- Glosariusz pojęć związanych z kodami kreskowymi
Co koduje kod kreskowy w magazynie
Magazyn używa kilku rodzajów kodów równocześnie. Inny kod trafia na opakowanie towaru, inny na regał, jeszcze inny na paletę wychodzącą do odbiorcy. Każdy odpowiada na inne pytanie, więc system traktuje je jako osobne obiekty.
| Obiekt | Skąd pochodzi kod | Typowa symbolika | Reakcja systemu po skanie |
|---|---|---|---|
| Towar | producent albo etykieta własna | EAN-13 | wskazanie pozycji w kartotece asortymentu |
| Lokalizacja | etykieta wydrukowana z systemu | kod 1D | potwierdzenie, że operator stoi przy właściwym gnieździe |
| Paleta lub karton | etykieta logistyczna | GS1-128 albo Data Matrix | identyfikacja nośnika razem z zawartością |
| Dokument | wydruk z systemu | kod 1D | wywołanie dokumentu przyjęcia albo wydania |
Rozróżnienie ma skutek praktyczny. Skan lokalizacji nie zostanie przyjęty jako skan towaru, bo terminal w danej chwili oczekuje jednego typu obiektu. Przy odkładaniu pada najpierw kod miejsca, a potem kod towaru, co potwierdza, że paleta stoi tam, gdzie wskazał system. Przebieg całych procesów opisuje strona o programie magazynowym z kodami kreskowymi.
Kody 1D i 2D w Studio WMS.net
Z kodów jednowymiarowych system obsługuje EAN-13 i GS1-128, dawniej nazywany EAN-128. Do tej grupy należy też Code 2 of 5, który zapisuje wyłącznie cyfry. Kody dwuwymiarowe to matryce w rodzaju QR i Data Matrix oraz symbole piętrowe, na przykład PDF417.
| Cecha | Kod 1D | Kod 2D |
|---|---|---|
| Układ zapisu | jedna linia kresek o różnej szerokości | matryca modułów albo stos linii |
| Ilość danych na etykiecie | kilkanaście lub kilkadziesiąt znaków | znacznie więcej na mniejszej powierzchni |
| Wymagany czytnik | laserowy albo obrazowy | obrazowy |
| Uszkodzona etykieta | przerwana kreska zwykle uniemożliwia odczyt | korekcja błędów odtwarza część danych |
| Typowe użycie | EAN towaru, lokalizacja, paleta | numer seryjny, partia, mała sztuka |
Wybór symbolu zależy od ilości danych i miejsca na opakowaniu. Gdy etykieta niesie tylko numer towaru, wystarczy kod liniowy i tańszy czytnik. Gdy w jednym odczycie trzeba przekazać partię i termin ważności, rozsądniejszy jest kod 2D albo etykieta GS1. Budowę takich zapisów opisuje strona o kodach GS1-128 i GS1 DataMatrix.
- Ilość danych. Numer towaru mieści się w kodzie liniowym, natomiast partia z terminem ważności i numerem seryjnym wymaga więcej miejsca.
- Powierzchnia etykiety. Mała sztuka lub komponent nie pomieści symbolu liniowego o dużej szerokości.
- Posiadany sprzęt. Czytniki laserowe obsłużą wyłącznie kody liniowe, więc przejście na 2D oznacza wymianę części urządzeń.
- Wymagania odbiorcy. Kontrahent może narzucić symbolikę etykiety logistycznej, a magazyn musi ją wydrukować i odczytać.
Cyfra kontrolna EAN-13
Ostatnia cyfra EAN-13 nie niesie informacji o towarze. Służy do wykrycia błędu odczytu lub pomyłki przy ręcznym wpisie. Cyfry na pozycjach nieparzystych mnoży się przez 1, a na parzystych przez 3. Sumę dopełnia się do pełnej dziesiątki.
Dla dwunastu cyfr 590999123456 suma wynosi 140, więc cyfra kontrolna to 0, a pełny kod ma postać 5909991234560. Parser w Studio WMS.net przelicza cyfry kontrolne przy każdym odczycie, co opisuje strona o Smart Scan i weryfikacji etykiet. Poniższa funkcja w JavaScript jest ilustracją algorytmu i nie pokazuje kodu produktu.
function ean13Check(d12) { // d12: dwanaście cyfr jako tekst
let suma = 0;
for (let i = 0; i < 12; i++) {
suma += Number(d12[i]) * (i % 2 === 0 ? 1 : 3);
}
return (10 - (suma % 10)) % 10;
}
ean13Check('590999123456'); // 0
Kod w kartotece asortymentu
W formularzu asortymentu każdy towar dostaje unikalny SKU generowany automatycznie. Obok SKU są pola numeru artykułu i numeru SAP oraz pole EAN z wyszukiwarką. Towar musi mieć też przypisaną jednostkę miary. Jedna pozycja kartoteki może mieć kilka kodów, na przykład EAN sztuki i EAN opakowania zbiorczego, ale jedna wartość kodu nie może wskazywać dwóch pozycji.
Unikalność wymusza indeks w bazie SQL Server. Poniższy skrypt jest ilustracyjny. Wyszukanie pozycji po skanie jest wtedy operacją Index Seek, a nie przeglądaniem całej tabeli kodów. Składnię opisuje dokumentacja CREATE INDEX.
CREATE TABLE dbo.KodyTowaru (
KodId int IDENTITY PRIMARY KEY,
PozycjaId int NOT NULL, -- pozycja kartoteki asortymentu
Symbolika varchar(20) NOT NULL, -- EAN-13, GS1-128, Data Matrix
Wartosc varchar(48) NOT NULL
);
CREATE UNIQUE INDEX UX_KodyTowaru_Wartosc ON dbo.KodyTowaru (Wartosc);
SELECT PozycjaId FROM dbo.KodyTowaru WHERE Wartosc = @Skan;
Reguła: jeden kod wskazuje jedną pozycję kartoteki. Dwa towary z tym samym EAN, najczęściej po zmianie dostawcy albo wariantu, sprawiają, że skan przypisze ilość do niewłaściwej pozycji bez żadnego komunikatu o błędzie.
Zawartość kodu definiuje się w konfiguracji, czyli wybiera się informacje, które etykieta ma przenosić. Na wydruku mogą się znaleźć numer i nazwa towaru oraz dane producenta i data produkcji. Wygenerowany kod zapisuje się w bazie danych albo jako plik graficzny, zależnie od tego, czy etykietę drukuje system, czy inny program.
Etykieta i czytnik - parametry, które decydują o odczycie
Etykietę drukuje się z systemu na drukarce termicznej, na przykład na urządzeniu opisanym w artykule o drukarce kodów kreskowych. Szablon w języku ZPL ustala wymiary i rozdzielczość. Zasady jego budowy omawia strona o projektowaniu etykiet ZPL.
- Cicha strefa. Wolny margines po obu stronach symbolu. Bez niego czytnik nie znajdzie początku kodu.
- Szerokość najcieńszej kreski. Decyduje o czytelności bardziej niż wysokość symbolu. Wynika z rozdzielczości głowicy, zwykle 203 albo 300 punktów na cal.
- Kontrast i materiał. Wilgoć i światło słoneczne wyblakują druk, więc etykieta w chłodni wymaga innego materiału niż etykieta w hali suchej.
- Miejsce na opakowaniu. Stałe położenie etykiety skraca czas, w którym operator szuka kodu terminalem.
Kody 2D wymagają czytnika obrazowego, a to wpływa na budżet sprzętu. Terminale z Androidem przesyłają odczyty do serwera przez Wi-Fi albo LTE, więc operator skanuje przy regale bez powrotu do stanowiska. Konfigurację urządzeń opisuje strona o systemie WMS na Androidzie.
Skan na przyjęciu - trzy sytuacje z kodem
Przyjęcie jest momentem, w którym kod z zewnątrz spotyka się z kartoteką. Zachowanie systemu zależy od tego, co dostawca nakleił na towar i czy dane zgadzają się ze zleceniem.
| Sytuacja | Działanie operatora | Zapis i reakcja systemu |
|---|---|---|
| Kod dostawcy jest znany w kartotece | skanuje etykietę na dostawie | dopasowanie do zlecenia zakupu i kontrola ilości |
| Towar nie ma kodu albo etykieta jest nieczytelna | drukuje etykietę zastępczą z terminala | zapis własnego kodu, bez ręcznego uzupełniania danych później |
| Ilość lub asortyment różni się od zlecenia | potwierdza albo wstrzymuje przyjęcie | sygnał niezgodności, zanim towar trafi na regał |
W każdym z tych przypadków dokument przyjęcia powstaje na podstawie skanu, a nie wpisu z klawiatury. Układ dokumentów i ich numerację opisuje strona o dokumentach magazynowych. Lokalizację docelową operator potwierdza kodem miejsca, o czym pisze artykuł o miejscach składowania.
Kody kreskowe w układzie procesów magazynu
Infografika zestawia cztery etapy, w których skanowanie jest źródłem danych. Każdy kolejny etap korzysta z tego, co zapisały poprzednie.
- Cel. Obniżenie kosztów operacyjnych, mierzone czasem obsługi zlecenia.
- Automatyzacja. Kolektory z Androidem zastępują ręczne wpisywanie danych.
- Lokowanie towaru. Częstość pobrań z lokalizacji wyznacza klasę w analizie ABC, którą opisuje strona o ABC magazynu.
- Kompletacja. Trasa pobrania wynika z kolejności lokalizacji, a każdy krok potwierdza skan.
Podwójny skan, czyli lokalizacja i towar, działa także przy spisie. Operator skanuje gniazdo, potem etykiety na palecie, a system porównuje wynik ze stanem ewidencyjnym. Rytm takiego liczenia opisuje strona o inwentaryzacji w magazynie.
Historia skanowań jako dane analityczne

Każdy odczyt zostawia w bazie ślad z czasem odczytu i lokalizacją. Zapisywany jest także operator. Odstęp między skanem lokalizacji a skanem towaru pokazuje, ile trwa samo pobranie. Zestawienie takich odstępów dla jednej alejki wskazuje miejsce, w którym towar leży zbyt daleko od strefy pakowania. Dłuższe odstępy w jednej strefie przy stałej liczbie pobrań są sygnałem do przeglądu układu regałów.
Na takich danych można oprzeć propozycje przesunięć towarów. Metody analizy rotacji i prognozowania popytu opisuje strona o AI w logistyce. Zasady numerowania nośników, które trafiają na etykiety paletowe, wyjaśnia serwis GS1 Polska w materiale o numerze SSCC.
Pytania i odpowiedzi o kody kreskowe w magazynie
Z kodów jednowymiarowych system obsługuje między innymi EAN-13, GS1-128 i Code 2 of 5. Z dwuwymiarowych pracuje z kodami QR, Data Matrix i PDF417. Wybór zależy od ilości danych na etykiecie oraz od wymagań kontrahentów.
Nie. Kod 2D wymaga czytnika obrazowego, czyli imagera. Skaner laserowy odczytuje tylko symbole liniowe. Terminale z Androidem i wbudowanym czytnikiem 2D odczytują oba rodzaje kodów.
Wykrywa błąd odczytu albo pomyłkę przy ręcznym wpisie. Czytnik lub parser przelicza sumę ważoną cyfr i porównuje wynik z ostatnią cyfrą. Gdy wartości się różnią, odczyt jest odrzucany.
Operator drukuje etykietę własną z poziomu systemu i nakleja ją przy przyjęciu. Kod trafia do kartoteki, więc przy następnej dostawie ten sam towar jest rozpoznawany po skanie.
Tak. Pozycja kartoteki może mieć osobne kody dla sztuki i dla opakowania zbiorczego. Odwrotna sytuacja jest niedopuszczalna, bo jedna wartość kodu musi wskazywać jedną pozycję.
Glosariusz pojęć związanych z kodami kreskowymi
- Kod 1D
- Kod liniowy, w którym dane zapisano w jednej linii kresek o różnej szerokości. Odczytuje go czytnik laserowy albo obrazowy.
- Kod 2D
- Kod zapisujący dane w dwóch wymiarach, jako matrycę modułów albo stos linii. Wymaga czytnika obrazowego.
- EAN-13
- Trzynastocyfrowy kod towaru handlowego, w którym ostatnia cyfra jest cyfrą kontrolną.
- GS1-128
- Zestaw reguł zapisu danych na symbolice Code 128, z identyfikatorami zastosowań i separatorem pól.
- Data Matrix
- Dwuwymiarowa matryca zapisująca dużą ilość danych na małej powierzchni, z korekcją błędów.
- Cicha strefa
- Wolny od druku margines wokół symbolu, wymagany do poprawnego odczytu.
- Cyfra kontrolna
- Cyfra wyliczana z pozostałych cyfr kodu, która pozwala wykryć błąd odczytu.
- Moduł
- Najwęższy element symbolu, czyli najcieńsza kreska albo pojedynczy punkt matrycy.
- Czytnik obrazowy
- Urządzenie, które fotografuje symbol i dekoduje go programowo. Odczytuje kody 1D i 2D.