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.

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.

ObiektSkąd pochodzi kodTypowa symbolikaReakcja systemu po skanie
Towarproducent albo etykieta własnaEAN-13wskazanie pozycji w kartotece asortymentu
Lokalizacjaetykieta wydrukowana z systemukod 1Dpotwierdzenie, że operator stoi przy właściwym gnieździe
Paleta lub kartonetykieta logistycznaGS1-128 albo Data Matrixidentyfikacja nośnika razem z zawartością
Dokumentwydruk z systemukod 1Dwywoł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.

CechaKod 1DKod 2D
Układ zapisujedna linia kresek o różnej szerokościmatryca modułów albo stos linii
Ilość danych na etykieciekilkanaście lub kilkadziesiąt znakówznacznie więcej na mniejszej powierzchni
Wymagany czytniklaserowy albo obrazowyobrazowy
Uszkodzona etykietaprzerwana kreska zwykle uniemożliwia odczytkorekcja błędów odtwarza część danych
Typowe użycieEAN towaru, lokalizacja, paletanumer 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.

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.

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.

SytuacjaDziałanie operatoraZapis i reakcja systemu
Kod dostawcy jest znany w kartoteceskanuje etykietę na dostawiedopasowanie do zlecenia zakupu i kontrola ilości
Towar nie ma kodu albo etykieta jest nieczytelnadrukuje etykietę zastępczą z terminalazapis własnego kodu, bez ręcznego uzupełniania danych później
Ilość lub asortyment różni się od zleceniapotwierdza albo wstrzymuje przyjęciesygnał 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

Istotne funkcje systemu Studio WMS.net - transformacja magazynu w 4 krokach
Cztery etapy zmian w magazynie z infografiki Studio WMS.net

Infografika zestawia cztery etapy, w których skanowanie jest źródłem danych. Każdy kolejny etap korzysta z tego, co zapisały poprzednie.

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

Nowoczesny skaner kodów kreskowych z wyświetlaczem wykorzystujący algorytmy AI do zarządzania logistyką w inteligentnym magazynie SoftwareStudio.
Czytnik kodów kreskowych jako źródło danych dla analizy rotacji

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.

Warto przeczytać

Administrator magazynu wysokiego składowania - zgodność lokalizacji i uprawnienia użytkowników
Administrator magazynu wysokiego składowania pilnuje zgodności lokalizacji z ewidencją: stany na wybrany dzień, audyty, uprawnienia i raporty. Przykład w T-SQL.
Czytaj artykuł →
Kryteria wyboru lokalizacji w magazynie wysokiego składowania z systemem Studio WMS.net
Jak rotacja i termin ważności wyznaczają lokalizację towaru: strefy ABC, reguły FIFO i FEFO, blokada przeterminowanych partii i lista pobrań w Studio WMS.net.
Czytaj artykuł →
Masa palety i nośność gniazda w regale wysokiego składowania - ważenie przy przyjęciu
Wagi paletowe OHAUS w Studio WMS.net: masa palety a nośność gniazda w regale wysokiego składowania, RS-232 i Ethernet, tolerancja odchyłek oraz klasy palet EUR.
Czytaj artykuł →
Zarządzanie magazynem wysokiego składowania - zasady i rola systemu WMS
Planowanie zasobów w magazynie wysokiego składowania: strefy i stałe miejsca, panel operacyjny, wskaźniki obciążenia, terminale wózkowe i BHP. Przykład T-SQL.
Czytaj artykuł →
Integracja Studio WMS.net ze Spedycja.net
Studio WMS.net wymienia dane ze Spedycja.net online między dwiema bazami SQL Server. Sprawdź zakres wymiany, zapis w transakcji oraz integracje z ERP.
Czytaj artykuł →
Programy magazynowe online - zarządzanie WMS w chmurze
Programy magazynowe online: cztery klasy od kartoteki do WMS, model kartoteki w SQL Server, spis z natury i kryteria wyboru dla magazynu wysokiego składowania.
Czytaj artykuł →