W systemie WMS miejsce składowania jest rekordem opisanym kodem i wymiarami oraz statusem, a nie tylko napisem na tabliczce przy regale. Od jakości tego rekordu zależy, czy system potrafi podpowiedzieć odkład, zaplanować trasę pobrań i policzyć wolną pojemność. Ten artykuł rozkłada miejsce składowania na części. Najpierw omawia format kodu z przykładami i strefowanie, a potem rodzaje regałów oraz metody składowania.
Osobne opracowania dotyczą wyboru między stałymi a wolnymi lokalizacjami (metoda stałych miejsc składowania) oraz reguł odkładania i klasyfikacji ABC (program do magazynowania towarów). Tutaj tematem jest to, jak lokalizację nazwać i opisać w bazie oraz jak sprawdzić poprawność jej adresu.
Miejsca składowania jako rekord w systemie
Każda lokalizacja ma stały identyfikator i zestaw atrybutów, na podstawie których system decyduje, czy dany towar może tam trafić. Objętość i ładowność ograniczają wielkość oraz masę składowanej jednostki, a status mówi, czy miejsce jest wolne, zarezerwowane czy zajęte. Pozostałe atrybuty wynikają z rodzaju regału i strefy.
| Atrybut | Znaczenie | Przykład wartości |
|---|---|---|
| Kod | Unikalny adres lokalizacji, drukowany na etykiecie regału | A-02-05-3 |
| Strefa | Obszar magazynu o wspólnych zasadach składowania | A - strefa paletowa |
| Objętość | Maksymalna kubatura jednostki, która się zmieści | 1,60 m3 |
| Ładowność | Nośność gniazda lub poziomu regału | 1000 kg |
| Status | Stan zajętości, od którego zależy podpowiedź odkładu | wolne, zarezerwowane, zajęte |
Atrybuty pojemnościowe rzadko wypełnia się dla każdego miejsca osobno. Zwykle definiuje się typ miejsca, na przykład paletę EUR na poziomie o nośności 1000 kg, i przypisuje go do setek lokalizacji naraz. Wyjątki, jak poziom obniżony pod niską halą albo gniazdo z ograniczeniem wysokości, zapisuje się jako osobne typy. Dzięki temu zmiana nośności regału po przeglądzie technicznym wymaga poprawy jednego typu, a nie edycji każdego adresu.
Reguła: kod lokalizacji jest niezmiennym identyfikatorem, a opis miejsca (strefa, typ, nośność) może się zmieniać. Kodu, który występuje w historii ruchów, nie zmienia się w miejscu - zamyka się go i zakłada nowy.
Format kodu lokalizacji i przykłady
Kod regał-gniazdo-wysokość-paleta
W systemie Studio WMS.net adres miejsca paletowego ma format AA-BB-C-D. Pierwsze dwie części to regał i gniazdo, a dwie ostatnie to wysokość i miejsce paletowe. Operator dopisujący nową lokalizację wskazuje te cztery wartości, a system nie zapisze miejsca, jeśli któregoś brakuje. Wartości pochodzą ze skorowidzów zdefiniowanych w systemie, więc regał 12 nie pojawi się raz jako 12, a raz jako 012. Przykładowy kod 12-04-3-1 oznacza regał 12, gniazdo 4, trzeci poziom od podłogi i pierwszą paletę w gnieździe.
Kod ze strefą i rzędem
W magazynach o kilku strefach adres często zaczyna się od litery strefy: STREFA-RZĄD-KOLUMNA-POZIOM, na przykład A-02-05-3. Litera pozwala odczytać strefę bez sięgania do systemu, a stała długość kodu ułatwia sortowanie po adresie i budowanie trasy pobrań. Oba formaty są poprawne. Znaczenie ma wyłącznie to, żeby w jednym magazynie obowiązywał jeden format i żeby kod był na etykiecie czytelny z odległości, z której pracuje wózek.
| Kod | Rozbiór | Typ miejsca |
|---|---|---|
| 12-04-3-1 | regał 12, gniazdo 4, poziom 3, paleta 1 | gniazdo paletowe w regale przejazdowym |
| A-02-05-3 | strefa A, rząd 2, kolumna 5, poziom 3 | miejsce paletowe w strefie składowania |
| K-07-12-2 | strefa K, rząd 7, kolumna 12, poziom 2 | półka w strefie kompletacji drobnicy |
| R-01-00-0 | strefa R, rząd 1, kolumna 0, poziom 0 | miejsce przyrampowe (bufor wydań) |
Walidacja kodu w bazie
Format kodu warto egzekwować w bazie, a nie tylko w formularzu. Ograniczenie CHECK odrzuca adres o złym układzie znaków, a ograniczenie UNIQUE gwarantuje, że dwie lokalizacje nie dostaną tego samego kodu. Poniższa tabela jest przykładowa. Składnię ograniczeń opisuje dokumentacja ograniczeń CHECK w SQL Server.
-- przykładowa tabela miejsc składowania (nie jest schematem żadnego produktu)
CREATE TABLE dbo.MiejsceSkladowania (
IdMiejsca int IDENTITY(1,1) PRIMARY KEY,
Kod varchar(12) NOT NULL, -- np. A-02-05-3
Strefa char(1) NOT NULL,
Rzad tinyint NOT NULL,
Kolumna tinyint NOT NULL,
Poziom tinyint NOT NULL,
ObjetoscM3 decimal(6,2) NULL,
LadownoscKg int NULL,
Status tinyint NOT NULL DEFAULT 0, -- 0 wolne, 1 zarezerwowane, 2 zajęte
CONSTRAINT UQ_MiejsceSkladowania_Kod UNIQUE (Kod),
CONSTRAINT CK_MiejsceSkladowania_Kod
CHECK (Kod LIKE '[A-Z]-[0-9][0-9]-[0-9][0-9]-[0-9]')
);
Etykieta lokalizacji
Kod trzeba przenieść na regał w postaci, którą odczyta terminal i człowiek. Etykieta zawiera kod kreskowy oraz ten sam adres drukiem, umieszczona jest na belce regału na wysokości oczu operatora, a w wysokich regałach powtarza się ją na każdym poziomie. Standard GS1 przewiduje numer GLN do identyfikacji miejsc, jednak w magazynie wewnętrznym wystarcza zwykle własny, krótki format, opisany w artykule o etykiecie GS1 jako uzupełnienie etykiet jednostek logistycznych. Skanowanie etykiety lokalizacji przy odkładzie i przy pobraniu jest jedynym sposobem, by system zapisał ruch pod adresem faktycznym.
Strefowanie magazynu i jego skutki dla lokalizacji
Strefa jest atrybutem, który wiąże grupę lokalizacji z zasadami. Strefa przyjęć i strefa wydań to bufory, w których towar leży krótko. Strefa składowania trzyma zapas na regałach, a strefa kompletacji utrzymuje mniejsze ilości bliżej stanowisk pakowania. Dodatkowo wydziela się strefy warunkowe, na przykład chłodnię albo miejsca dla towarów niebezpiecznych, o których piszemy w tekście o magazynowaniu w chłodni i towarach ADR.
Strefa działa jak filtr przy podpowiedzi odkładu: system nie zaproponuje miejsca w strefie, której nie dopuszczono dla klasy towaru. Podział według rotacji, czyli strefa szybkich pobrań blisko wydań i strefa wolno rotujących zapasów dalej, opisuje artykuł o rozmieszczeniu towaru w magazynie wysokiego składowania.
Strefy buforowe i miejsca tymczasowe
Towar w ruchu też musi mieć adres. Palety czekające na odkład, zwroty do oceny czy zestawy skompletowane i niewysłane leżą w miejscach buforowych, które opisuje się tak samo jak regały, choć nie mają poziomów. Bez takich lokalizacji towar w trakcie przesunięcia znika ze stanów i pojawia się dopiero po zatwierdzeniu dokumentu, co przy inwentaryzacji wygląda jak brak. Obsługę takich miejsc w ciągu zmiany opisuje artykuł o obsłudze magazynu.

Rodzaje regałów i ich wpływ na adresację
Typ regału wyznacza, co w praktyce oznacza pojedyncze miejsce w systemie. W regale paletowym jest to gniazdo na jedną paletę, a w regale przepływowym cały tor, w którym mieści się kilka palet ustawionych jedna za drugą. Poniższa tabela zestawia najczęstsze rodzaje regałów z tym, jak wpływają na rekord lokalizacji.
| Rodzaj regału | Jednostka w lokalizacji | Kolejność wydawania | Uwaga dla rekordu lokalizacji |
|---|---|---|---|
| Regał paletowy przejazdowy | Jedna paleta w gnieździe | Dowolna, bezpośredni dostęp do każdej palety | Nośność poziomu i wysokość gniazda |
| Regał półkowy | Półka lub pojemnik | Dowolna | Wiele indeksów w jednej półce wymaga podziału na pola |
| Regał przepływowy | Tor grawitacyjny z kilkoma paletami | FIFO, paleta z tyłu toru jest wydawana pierwsza | Pojemność toru w paletach i jeden indeks na tor |
| Regał push-back | Tor z wózkami wpychanymi w głąb | LIFO, ostatnia paleta jest pobierana pierwsza | Głębokość toru i zakaz mieszania partii |
| Regał wspornikowy | Poziom z długimi elementami | Dowolna | Długość i masa elementu zamiast objętości |
W popularnym opisie push-back bywa mylony z regałem FIFO, tymczasem paleta wpychana do toru jako ostatnia wyjeżdża pierwsza. Kolejność FIFO daje regał przepływowy, w którym palety zjeżdżają grawitacyjnie od strony załadunku do strony pobrań. Ma to znaczenie przy artykułach z krótkim terminem ważności, bo przy push-back system musi pilnować, żeby w torze stała jedna partia.
Dobór regałów i układ alejek wpływają na koszt zmian, więc błędy najlepiej wychwycić przed montażem. Typowe pomyłki wymienia artykuł o błędach przy planowaniu układu regałów.
Metody składowania i wybór miejsca odkładu
Przy metodzie stałych miejsc każdy indeks ma przypisaną lokalizację, a system podpowiada ją bez wyszukiwania. Przy metodzie miejsc wolnych system wybiera dowolną wolną lokalizację spełniającą warunki, co lepiej wykorzystuje przestrzeń, ale wymaga pełnej dyscypliny skanowania. W praktyce stosuje się mieszankę: stałe miejsca w strefie kompletacji i wolne w strefie składowania. Trzecim wariantem jest składowanie klasowe, w którym indeksy grupuje się według rotacji, a w obrębie strefy danej klasy wybiera się miejsce dowolnie.
Przy wolnych miejscach wybór lokalizacji jest zapytaniem do bazy. Poniższy przykład pokazuje indeks filtrowany, który obejmuje wyłącznie wolne miejsca, oraz zapytanie wybierające najbliższe miejsce spełniające wymagania palety. Dokumentacja opisuje ten mechanizm w artykule o indeksach filtrowanych w SQL Server.
-- indeks filtrowany obejmuje tylko wolne miejsca, więc pozostaje mały
CREATE INDEX IX_Miejsce_Wolne
ON dbo.MiejsceSkladowania (Strefa, Poziom, Rzad, Kolumna)
INCLUDE (Kod, LadownoscKg, ObjetoscM3)
WHERE Status = 0;
DECLARE @MasaKg int = 620, @ObjetoscM3 decimal(6,2) = 1.40;
SELECT TOP (1) Kod
FROM dbo.MiejsceSkladowania
WHERE Status = 0
AND Strefa = 'A'
AND LadownoscKg >= @MasaKg
AND ObjetoscM3 >= @ObjetoscM3
ORDER BY Poziom, Rzad, Kolumna;
Kolejność wydawania nie zależy od regału, tylko od reguły zapisanej w systemie. FIFO wydaje najpierw partię o najwcześniejszej dacie przyjęcia, a FEFO partię o najwcześniejszym terminie ważności. Reguła FEFO wymaga daty ważności zapisanej przy partii już w chwili przyjęcia, więc brak tej daty na etykiecie dostawy trzeba wyłapać przy rampie. Aby reguła działała, lokalizacja musi wiedzieć, jaką partię trzyma, a system powinien blokować mieszanie partii w jednym miejscu, jeśli magazyn nie dopuszcza takiej praktyki.
Reguła: jedna lokalizacja i jedna partia, chyba że magazyn świadomie dopuszcza mieszanie. Dwie partie o różnych terminach w jednym gnieździe uniemożliwiają zarówno FIFO, jak i FEFO.
Zarządzanie lokalizacjami w programie WMS
Nową lokalizację w Studio WMS.net dopisuje się w module lokalizacji magazynowych, wybierając pozycję Nowa lokalizacja albo funkcję Dopisz w kartotece miejsc adresowych. Cztery parametry adresu są obowiązkowe:
- Regał - numer regału pochodzący ze skorowidzu.
- Gniazdo - pozycja w rzędzie regałów.
- Poziom - wysokość, na której leży miejsce.
- Gniazdo paletowe - kolejna paleta w obrębie gniazda.
Z rejestru miejsc składowania dostępna jest historia obrotów wybranej lokalizacji: pozycje dokumentów przyjęcia i wydania, które zmieniały jej stan. Pozycje są pogrupowane miesięcznie i posortowane od najnowszych. Osobne okno pokazuje aktualne stany towaru w lokalizacji: indeks z nazwą oraz jednostkę miary z ilością. W obu widokach obowiązują standardowe filtry i sortowanie oraz eksport danych. Zajętość całego magazynu w formie graficznej opisuje strona o wizualizacji zajętości magazynu, a adresację palet w gospodarce opakowaniami zwrotnymi artykuł o adresacji palet i numerach SSCC.

Zapełnienie stref
Rekord lokalizacji pozwala policzyć zajętość magazynu jednym zapytaniem. Zapytanie zwraca dla każdej strefy liczbę miejsc oraz liczbę wolnych, a także odsetek zajętych. Gdy strefa zbliża się do pełnego zapełnienia, odkład wydłuża się, bo system szuka coraz dalszego wolnego miejsca, a operator jedzie przez pół hali. Warto więc reagować na zapełnienie strefy, zanim zacznie blokować przyjęcia.
-- zajętość stref na podstawie statusu miejsc
SELECT Strefa,
COUNT(*) AS Miejsca,
SUM(CASE WHEN Status = 0 THEN 1 ELSE 0 END) AS Wolne,
CAST(100.0 * SUM(CASE WHEN Status > 0 THEN 1 ELSE 0 END) / COUNT(*) AS decimal(5,1)) AS ZajeteProc
FROM dbo.MiejsceSkladowania
GROUP BY Strefa
ORDER BY ZajeteProc DESC;
Typowe błędy w adresacji lokalizacji
Najczęściej błąd polega na zmianie układu regałów bez zmiany kodów. Regał przesunięty w inne miejsce zachowuje stary adres, więc kod przestaje odpowiadać położeniu, a trasa pobrań sortowana po adresie prowadzi magazyniera dookoła hali. Drugi błąd to kody o różnej długości: A-2-5-3 i A-02-05-3 sortują się inaczej i system może potraktować je jako różne miejsca. Trzeci to brak lokalizacji buforowych, przez co towar w trakcie przesunięcia nie ma adresu i znika ze stanów. Czwarty to składowanie towaru poza systemem, na przykład palety odstawionej w przejściu tuż przed wydaniem. Taka paleta nie ma miejsca, więc nie istnieje w kompletacji, a jej wykrycie zależy od czyjejś pamięci.
Uporządkowanie takich błędów zaczyna się od porównania listy lokalizacji w systemie z rzeczywistym układem regałów. Metody liczenia opisuje artykuł o inwentaryzacji ciągłej w magazynie. Dopiero po uporządkowaniu adresów ma sens pełne wdrożenie reguł odkładania. Sprawdzenie działania lokalizacji w praktyce umożliwia demonstracyjny magazyn online, a opis modułu znajduje się w serwisie produktowym Studio WMS.net.




