Program magazynowy WMS.net

Kody kreskowe w programie magazynowym WMS.net

Kody kreskowe 1D i 2D w StudioSystem: jak dobrać symbolikę do towaru i jak skanować przy przyjęciach oraz wydaniach. Dodatkowo konfiguracja skorowidza i kod C#.

Opublikowano · Aktualizacja
www.programmagazyn.pl/baza-wiedzy/
Drukarka etykiet wydająca wstęgę wydrukowanych kodów kreskowych
Drukarka etykiet wydająca wstęgę wydrukowanych kodów kreskowych
W skrócie

Kody kreskowe 1D i 2D w StudioSystem: jak dobrać symbolikę do towaru i jak skanować przy przyjęciach oraz wydaniach. Dodatkowo konfiguracja skorowidza i kod C#.

Program SoftwareStudio generuje kody kreskowe i kody QR z funkcji bibliotecznych oraz konfiguracji systemu. Opisujemy tu dobór symboliki i identyfikację towaru po kodzie, a dalej skanowanie przy przyjęciach oraz wydaniach. Na końcu stoi konfiguracja skorowidza z przykładami wywołań w C#.

Wstęp

Kod kreskowy zamienia towar albo miejsce składowania na rekord w bazie danych. Czytnik odczytuje ciąg znaków, a program wyszukuje go w kartotece i rozpoznaje pozycję. W praktyce magazynu przekłada się to na cztery mechanizmy.

Szybkie skanowanie

Magazynier jednym ruchem czytnika wczytuje miejsce składowania albo towar i nie wpisuje indeksu z klawiatury. Przyjęcie i wydanie przebiegają szybciej, bo każda pozycja dokumentu powstaje ze skanu. Przemieszczenie między lokalizacjami działa tak samo.

Mniej pomyłek przy wprowadzaniu danych

Ręczne przepisywanie indeksu to główne źródło błędów: zamienione cyfry albo pominięta pozycja. Skan wyklucza literówkę, a czytnik odrzuca odczyt, w którym nie zgadza się cyfra kontrolna kodu.

Bieżące stany magazynowe

Każdy skan zapisuje operację na konkretnej pozycji i lokalizacji, więc stany magazynowe nadążają za faktycznym ruchem towaru. Jednoznaczne oznaczenie miejsc kodami pozwala też optymalizować wykorzystanie przestrzeni magazynowej, bo widać lokalizacje puste i przepełnione.

Wspólny klucz dla systemów

Ten sam kod służy programowi magazynowemu i systemowi zewnętrznemu, na przykład ERP. Wymiana danych opiera się wtedy na identycznym symbolu towaru po obu stronach, a zasady opisują strony o relacji WMS i ERP oraz o integracjach. Samo skanowanie w magazynie opisuje sekcja o integracji skanowania z WMS.

Symbolika 1D i 2D oraz wybór kodu

Symbolika określa, jak znaki zamieniają się na paski albo moduły. Kody 1D czytnik odczytuje wzdłuż jednej linii skanu, a kody 2D, jak QR, zapisują dane w siatce modułów i mieszczą ich więcej na mniejszej powierzchni. Konfiguracja StudioSystem obsługuje oba rodzaje, a typy zestawiono w tabeli.

Typy kodów dostępne w konfiguracji StudioSystem i ich zastosowanie w magazynie
Typ koduRodzajKodowane daneTypowe zastosowanie w magazynie
EAN131D, liczbowy, 13 cyfrWyłącznie cyfryStandardowe oznaczenie jednostkowe towaru
EAN1281D, alfanumeryczny, zmienna długośćZnaki alfanumeryczne oraz identyfikatory GS1Etykiety logistyczne jednostek zbiorczych i palet
CODE1281D, alfanumeryczny, wysoka gęstośćCyfry i literyNumery seryjne i lokalizacje na etykietach wewnętrznych
CODE391D, alfanumeryczny, mniejsza gęstośćZnaki alfanumeryczne w ograniczonym zestawieProste oznaczenia wewnętrzne
2 of 51D, liczbowyWyłącznie cyfryOznaczenia przemysłowe, kartony zbiorcze
QR2D, wysoka pojemność (domyślnie 140x140 px)Znaki alfanumeryczne i specjalne, duża ilość danychSzybkie skanowanie terminalem lub smartfonem

O wyborze decyduje to, co kodujemy i kto czyta etykietę. Pojedynczy towar sprzedawany w handlu oznacza się EAN-13, bo ten symbol rozpoznaje każdy skaner. Paleta i karton zbiorczy dostają etykietę logistyczną w EAN-128, czyli w Code 128 z identyfikatorami GS1. Lokalizacje i numery seryjne wystarczy zakodować w Code 128, a QR wybiera się przy większej ilości danych albo przy odczycie smartfonem.

Typ kodu dobieramy do danych na etykiecie, nie do wyglądu: EAN-13 przyjmuje wyłącznie cyfry, więc indeksu z literami nie da się w nim zapisać.

EAN-13 i identyfikatory GS1

EAN-13 ma trzynaście cyfr. Pierwsze nadaje organizacja GS1 jako prefiks, środkowe wskazują firmę i towar, a ostatnia jest cyfrą kontrolną. Prefiks nie oznacza kraju produkcji, tylko organizację, która przydzieliła numer firmy; polskie numery zaczynają się od 590.

Etykieta logistyczna w EAN-128 składa się z par: identyfikator aplikacji w nawiasie i wartość. Zasady budowy opisują strony o generowaniu etykiet GS1 i o etykiecie logistycznej, a pełną specyfikację publikuje GS1 Polska. Na etykiecie najczęściej stoją cztery identyfikatory:

  • (00) - numer SSCC jednostki logistycznej, czyli palety albo kartonu zbiorczego;
  • (01) - numer GTIN towaru;
  • (10) - numer partii produkcyjnej;
  • (17) - data ważności w formacie RRMMDD.

Kody QR i korekcja błędów

Kod QR ma wbudowaną korekcję błędów w czterech poziomach, od L do H, dlatego czytnik odczyta etykietę częściowo zabrudzoną albo uszkodzoną. Cena jest prosta: wyższy poziom korekcji zajmuje więcej modułów, więc kod rośnie przy tej samej ilości danych. W StudioSystem rozmiar kodu QR ustawia się w pikselach, a domyślna wartość to 140 x 140 px. Kamera terminala odczytuje też zniszczone lub zabrudzone kody, a przy kodach 2D potrafi wczytać kilka etykiet naraz.

Duży karton z wyświetlanym cyfrowo kodem QR i kodami kreskowymi na regale magazynowym
Karton z dużym kodem QR i mniejszymi kodami kreskowymi na ściankach. Taka etykieta mieści więcej danych niż kod liniowy i daje się odczytać z większej odległości.

Identyfikacja towaru po kodzie w systemie

Sam skan niczego nie rozpoznaje. Czytnik przekazuje ciąg znaków, a program magazynowy porównuje go z danymi w kartotece. Kod EAN wpisany w kartotece asortymentu jest kluczem, po którym baza znajduje właściwy rekord.

Ten sam towar bywa oznaczony różnymi kodami: inny ma sztuka, a inny karton zbiorczy. W kartotece warto więc utrzymywać osobny kod dla każdego poziomu opakowania. Gdy dostawca zmieni opakowanie i nada nowy GTIN, skan nie znajdzie towaru, dopóki kod nie trafi do kartoteki.

Miejsca składowania i palety dostają kody generowane przez system, bo nie istnieją poza magazynem. Skan lokalizacji wskazuje wtedy jednoznaczny adres, a skan palety jej zawartość. Tabela zestawia, co identyfikuje kod w poszczególnych przypadkach.

Co identyfikuje kod i skąd pochodzi jego treść
ObiektTypowy kodCo wskazuje skanŹródło treści kodu
Towar jednostkowyEAN-13 (GTIN)Pozycję kartoteki asortymentuProducent, kod wpisany w kartotece
Karton zbiorczyEAN-128 lub 2 of 5Pozycję w opakowaniu zbiorczymProducent albo magazyn
PaletaSSCC w EAN-128Jednostkę logistyczną i jej lokalizacjęEtykieta logistyczna
Miejsce składowaniaCODE128 lub QRAdres lokalizacji w magazynieSkorowidz kodów, kolumna miejsca składowania
Numer seryjnyCODE128 lub QRPojedynczy egzemplarz towaruSkorowidz kodów, kolumna numeru seryjnego

Integracja skanowania z przyjęciami i wydaniami w WMS

Skan trafia bezpośrednio do dokumentu magazynowego i do bazy, bez pośredniego przepisywania. Czytnik w terminalu z Androidem wczytuje kod, a aplikacja przekazuje go do bazy StudioSystem. Schemat pokazuje drogę jednego skanu.

Droga jednego skanu od etykiety do dokumentu magazynowego Cztery etapy w rzędzie: etykieta z kodem, czytnik lub terminal, kartoteka asortymentu i dokument w WMS. Z dokumentu prowadzi strzałka do pola Stan i lokalizacja, czyli zapisu w bazie danych. Z kartoteki prowadzi przerywana strzałka do pola Komunikat o błędzie, który pojawia się, gdy skan nie pasuje do danych. Etykieta z kodem EAN-13 lub kod QR Czytnik lub terminal odczyt ciągu znaków Kartoteka asortymentu wyszukanie rekordu Dokument w WMS PZB lub WZ Stan i lokalizacja zapis w bazie danych Komunikat o błędzie gdy skan nie pasuje brak zgodności zgodny skan Linia ciągła: skan zgodny z danymi w bazie. Linia przerywana: rozbieżność zgłaszana magazynierowi.
Skan przechodzi przez kartotekę asortymentu: zgodny trafia do dokumentu i na stan, niezgodny wraca do magazyniera jako komunikat.

Przyjęcie towaru

Przy przyjęciu do magazynu magazynier skanuje etykietę logistyczną z numerem SSCC, a system porównuje ją z awizowanym zamówieniem zakupu i dokumentem dostawy. Rozbieżność widać, zanim towar trafi na regał. Dostawę bez zlecenia rejestruje dokument PZB, a numer palety i lokalizację składowania uzupełnia się w jego pozycji. Etykiety z kodami dla przyjętego towaru drukuje się z systemu, co opisuje strona o etykietowaniu produktów.

Wydanie i kompletacja

Przy wydaniu z magazynu skan potwierdza każdą pobraną pozycję. W formularzu WZ asortyment można wskazać kodem kreskowym, a lokalizację kodem miejsca składowania, więc dokument powstaje z odczytów zamiast z ręcznych wpisów. Kompletacja korzysta z tego samego mechanizmu: pomyłka wychodzi w chwili skanu, a nie dopiero przy kontroli pakowania.

Przesunięcia i inwentaryzacja

Przesunięcie palety wymaga skanu jej numeru i kodu lokalizacji docelowej, więc mapa magazynu w systemie pozostaje zgodna ze stanem faktycznym. W inwentaryzacji terminal prowadzi spisującego od lokalizacji do lokalizacji i wymusza zeskanowanie kodu miejsca. Zliczone ilości trafiają od razu na serwer, dlatego kierownik widzi postęp spisu przed jego końcem.

Co skanuje magazynier w poszczególnych operacjach i co sprawdza system
OperacjaDokumentSkanowany kodCo sprawdza system
PrzyjęciePZ, PZBEtykieta logistyczna z numerem SSCCZgodność z awizowanym zamówieniem i dokumentem dostawy
WydanieWZKod towaru i kod miejsca składowaniaCzy pozycja i lokalizacja zgadzają się z dokumentem
PrzesunięcieZLNumer palety i lokalizacja docelowaCzy miejsce docelowe istnieje i pasuje do palety
InwentaryzacjaArkusz inwentaryzacyjnyKod lokalizacji i kody towarówCzy pracownik stoi w wymaganym miejscu

Każdy skan zostawia w bazie ślad: historię operacji na pozycji i jej aktualną lokalizację. Z tych danych raporty pokazują rotację towaru oraz sezonowe wahania popytu, a wyniki wspierają planowanie zamówień i miejsca w magazynie, co omawia strona o business intelligence dla logistyki. Obsługę terminali opisuje mobilna obsługa magazynu, a dobór sprzętu strona o narzędziach do skanowania kodów.

Konfiguracja

Administrator w sekcji SYSTEMOWE ma dostęp do skorowidza, w którym definiuje się, jakie kody kreskowe i z czego mają powstawać. Każdy wpis skorowidza opisuje osiem parametrów.

Parametry wpisu w skorowidzu kodów kreskowych
ParametrZnaczenieDopuszczalne wartości
KODDowolne oznaczenie koduTekst
TYPRodzaj kodu kreskowegoEAN128, EAN13, QR, CODE39, CODE128, 2of5
TYPMIMEFormat graficzny zapisywanego obrazuimage/jpeg, image/png, image/bmp, image/gif
KOLUMNA(Y)Kolumna lub suma kolumn tekstowych (varchar), z których powstaje kodowana informacja, np. indeks, numer seryjny albo miejsce składowaniaNazwy kolumn tabeli lub widoku
TABELATabela lub widok SQL, z którego czytane są dane do kodowaniaNazwa obiektu SQL
FILTROWANIEKolumna, według której program wyszukuje informację w tabeliNazwa kolumny
ROZMIAR KOD EANWysokość generowanego kodu w pikselachLiczba px; 0 oznacza domyślne 80 px
ROZMIAR KOD QRWysokość i szerokość kodu w pikselachLiczba px; 0 oznacza domyślne 140 px

Pole FILTROWANIE wyznacza, po czym program odnajduje w tabeli rekord do zakodowania. Przykłady wywołań w następnej sekcji używają w tym celu identyfikatora REFNO.

Przykłady konfiguracji

Przykłady wykorzystania w projekcie

KodyKreskowe.KodKreskowy ssKK = new KodyKreskowe.KodKreskowy();

Utworzenie odwołania do przestrzeni kodów kreskowych.

ssKK.KodyKreskowe(„3135143623390”);

Metoda generuje kody dla pozycji oznaczonych identyfikatorem REFNO = 3135143623390.

ssKK.KodyKreskowe(„3136142127801”, „knaso”);

Zapisy trafiają do tabeli dpean, a jej cztery kolumny przechowują:

  • [TYP] - rodzaj kodu kreskowego, np. EAN128;
  • [KOD] - informację zakodowaną w kodzie, np. indeks towaru albo numer palety;
  • [TYPMIME] - sposób kodowania, np. image/gif;
  • [KODEAN] - informację zapisaną binarnie, w postaci obrazka z kodem kreskowym albo kodem QR.

Kody z tabeli dpean można wykorzystać w projektowaniu wydruków dokumentów i raportów Report Builder.

Kody powstają bez polskich znaków diakrytycznych, które zamieniają się na zwykły tekst, a znaki specjalne na symbol -.

Jak WMS.net automatyzuje generowanie kodów przy wydruku dokumentów?

Transakcja rdlc\wydruk_refno.aspx sprawdza przy wydruku dokumentu, czy jego pozycje mają kody, i uzupełnia brakujące.

Zachowaniem steruje parametr ean, którego wartość wskazuje symbol tabeli. Ustawienie ean=DPMAG generuje kody dla tabeli DPMAG.

Systemy informatyczne w magazynie, takie jak WMS.net, znakują w ten sposób miejsca składowania oraz towary w opakowaniach jednostkowych i zbiorczych. Jednolite zasady znakowania upraszczają identyfikację i śledzenie produktów. Automatyczne uzupełnianie kodów skraca też przygotowanie wydruku, bo nikt nie przepisuje indeksów do generatora.

Słownik pojęć

Pojęcia z kodów kreskowych w programie magazynowym

Skróty i nazwy użyte w artykule, wyjaśnione od strony osoby, która drukuje etykiety i skanuje towar.

SymbolikaSymbolika kodu kreskowego
Zbiór reguł zamiany znaków na paski albo moduły, na przykład EAN-13, Code 128 lub QR. Symbolika wyznacza, jakie znaki wolno zakodować i jak czytnik interpretuje odczyt.
GTINGlobalny numer jednostki handlowej
Numer towaru nadawany przez producenta według standardu GS1, zapisywany między innymi w EAN-13. W kartotece asortymentu jest kluczem, po którym skan odnajduje rekord.
SSCCNumer jednostki logistycznej
Osiemnastocyfrowy numer palety lub kartonu zbiorczego, kodowany w EAN-128 pod identyfikatorem (00). Skan SSCC wskazuje paletę i jej lokalizację w systemie.
AIIdentyfikator aplikacji
Liczba w nawiasie na etykiecie EAN-128, która mówi, co oznacza kolejna wartość, na przykład (01) to GTIN, a (17) data ważności. Dzięki identyfikatorom jedna etykieta niesie kilka danych.
Cyfra kontrolnaOstatnia cyfra EAN-13
Cyfra wyliczana z poprzednich dwunastu według stałego wzoru. Czytnik odrzuca odczyt, w którym wynik nie zgadza się z cyfrą zapisaną w kodzie.
QRKod dwuwymiarowy
Kod zapisujący dane w siatce modułów, z korekcją błędów w czterech poziomach od L do H. W StudioSystem jego rozmiar podaje się w pikselach, a wartość 0 oznacza 140 px.
SkorowidzSkorowidz kodów kreskowych
Słownik w sekcji SYSTEMOWE, w którym administrator wiąże typ kodu z tabelą lub widokiem SQL i kolumnami do zakodowania. Każdy wpis ma też rozmiary kodów EAN i QR.
dpeanTabela wygenerowanych kodów
Tabela SQL z kolumnami TYP, KOD, TYPMIME i KODEAN, do której trafiają utworzone kody. Kolumna KODEAN przechowuje obraz kodu w postaci binarnej, z której korzysta wydruk w Report Builder.
FAQ

Kody kreskowe w programie magazynowym WMS.net - najczęstsze pytania i odpowiedzi

01

Jakie typy kodów kreskowych można generować w StudioSystem?

W konfiguracji dostępne są typy EAN128, EAN13, QR, CODE39, CODE128 oraz 2of5. Dla każdego kodu wskazuje się też format graficzny (TYPMIME): image/jpeg, image/png, image/bmp lub image/gif. Ten sam mechanizm obsługuje klasyczne kody kreskowe i kody QR.

02

Który typ kodu wybrać do towaru, palety i miejsca składowania?

Towar jednostkowy oznacza się EAN13, a paletę i karton zbiorczy etykietą logistyczną w EAN128. Lokalizacje i numery seryjne wystarczy zakodować w CODE128, a QR wybiera się przy większej ilości danych albo odczycie smartfonem. Typ musi pasować do danych, bo EAN13 przyjmuje wyłącznie cyfry.

03

Gdzie konfiguruje się generowanie kodów i jakie mają domyślne rozmiary?

Administrator w sekcji SYSTEMOWE otwiera skorowidz kodów i wskazuje w nim typ kodu oraz kolumnę z kodowanymi danymi. Źródłem jest tabela lub widok SQL, a kolumna FILTROWANIE służy do wyszukania rekordu. Rozmiar kodu EAN to wysokość w pikselach (0 oznacza 80 px), a rozmiar QR to wysokość i szerokość naraz (0 oznacza 140 px).

04

Gdzie zapisywane są wygenerowane kody i jak je wykorzystać na wydrukach?

Zapisy trafiają do tabeli dpean, w której kolumna TYP przechowuje rodzaj kodu, KOD zakodowaną informację, TYPMIME sposób kodowania, a KODEAN obraz kodu w postaci binarnej. Takie kody wstawia się potem do wydruków dokumentów i raportów projektowanych w Report Builder.

05

Czy kody generują się automatycznie przy wydruku dokumentów?

Tak, transakcja rdlc\wydruk_refno.aspx sprawdza przy wydruku, czy pozycje dokumentu mają kody, i uzupełnia brakujące. Parametr ean wskazuje symbol tabeli, na przykład ean=DPMAG generuje kody dla tabeli DPMAG. Kody powstają bez polskich znaków diakrytycznych, a znaki specjalne zamieniają się na symbol -.

06

Czy skanowanie sprawdza zgodność dostawy i aktualizuje stany magazynowe?

Tak, przy przyjęciu system porównuje zeskanowaną etykietę z awizowanym zamówieniem i dokumentem dostawy, więc rozbieżność widać, zanim towar trafi na regał. Każda operacja zapisuje się od razu na dokumencie i lokalizacji, dlatego stany magazynowe nadążają za ruchem towaru.

Chcesz dowiedzieć się więcej o programie magazynowym WMS.net?

Uruchom bezpłatne demo programu magazynowego WMS.net lub zapytaj o szczegóły wdrożenia.