# Strefy według zasięgu wózka: klasa strefy podpowiadana w zapytaniach terminala

> W opisywanym wdrożeniu strefy opisuje to, kto obsługuje poziom, a zapytania terminala wyliczają klasę strefy z zapasu minimalnego. Miejsce wskazuje operator.

Adres strony: https://magazyn.softwarestudio.com.pl/strefy-wg-zasiegu-wozka-podpowiedz-z-zapasu-minimalnego/

---

Pytanie o strefy magazynu a rodzaj wózka ma w opisywanym wdrożeniu konkretną odpowiedź: strefy opisuje to, kto obsługuje dany poziom regałów, od poziomów dostępnych z ziemi po poziomy dla dużych wózków widłowych. To tylko etykieta, a miejsce odłożenia wskazuje operator.
Zapytania terminala zawierają regułę, która z zapasu minimalnego w kartotece wylicza klasę strefy pokazywaną przy zmianie lokalizacji palety, o ile nazwy lokalizacji niosą oznaczenie klasy.

W opisywanym wdrożeniu strefa wynika z tego, kto obsługuje poziom regałów, a słownik opisuje trzy klasy poziomów, od obsługiwanych z ziemi po obsługiwane przez duże wózki widłowe. Po skanie palety terminal pokazuje klasę strefy wyliczoną z zapasu minimalnego. To etykieta, a nie zakaz: zapis nie sprawdza strefy, a adres docelowy skanuje operator.

Artykuł jest przeznaczony dla kierownika magazynu z kilkoma rodzajami wózków, który ustala, które poziomy regałów należą do której strefy i na jakiej podstawie terminal podpowiada klasę przy zmianie lokalizacji palety. Opis dotyczy ekranu zmiany lokalizacji palety; jaką klasę pokaże konkretny adres, zależy od wartości w nazwie lokalizacji, której ten opis nie zawiera.

## Strefy opisuje to, kto obsługuje poziom regałów

Słownik stref ma w opisywanym wdrożeniu trzy wpisy, opisane przez to, kto obsługuje poziomy: poziomy obsługiwane z ziemi, poziomy obsługiwane przez zwykłe wózki widłowe oraz poziomy obsługiwane przez duże wózki widłowe. Te trzy wpisy nazywają się niska, średnia i wysoka, więc w tym opisie mówimy o trzech klasach strefy. Według dokumentacji wdrożenia strefy opisuje się przez rodzaj wózka, bo zwykły wózek nie sięga na wyższe poziomy.

Schemat pokazuje regał z trzema pasami poziomów, od obsługi z ziemi po duże wózki widłowe, a obok pasów etykiety klas. Po prawej stronie stoi drzewo reguły, do którego prowadzi strzałka z polem zapasu minimalnego z kartoteki.

Strefy kompletacji i wydania, które po zbiórce wybierają drogę zlecenia, występują w artykułach o [dwóch rodzajach nośników](https://system.wms.net.pl/dwa-rodzaje-nosnikow-magazynowy-i-wysylkowy/) i o [jednej zbiórce i dwóch drogach](/jedna-zbiorka-dwie-drogi-palety-albo-sztuka-po-sztuce/). Podział stref według przeznaczenia opisuje artykuł o [innym podziale stref](https://magazyn.wysokiego.skladowania.pl/strefy-celna-skladowania-kompletacji-i-uszkodzone-w-wms/).

## Klasa strefy pochodzi z nazwy lokalizacji, a nie z kolumny strefy

W widokach stanu stref klasa nie pochodzi z kolumny strefy, tylko z nazwy lokalizacji, czyli z aliasu poziomu. Widok klasy średniej obejmuje także poziomy klasy najniższej, a reguła na terminalu porównuje stan dwóch dolnych klas z pełnym zapasem minimalnym. Reguła czyta więc wartość z nazwy lokalizacji, a jej wynik zależy od tego, co ta nazwa zawiera.

Ten opis nie zawiera wartości z nazw lokalizacji, więc nie rozstrzyga, jaką klasę terminal pokaże dla konkretnego adresu. Rozstrzyga natomiast, w którym miejscu reguła jest zapisana.

- W zapytaniach terminala i w widokach stanu stref. Tu reguła jest zapisana.
- W kolumnie strefy przy lokalizacji. Tu reguły nie ma.

## Terminal pokazuje klasę strefy po skanie palety, zanim operator wskaże cel

W opisywanym wdrożeniu terminal ma pozycję menu „Zmiana lokalizacji paleta”, która uruchamia ekran klienta. Ekran ma trzy pola skanowane po kolei: „Lokalizacja źródłowa”, „Kod palety” i „Lokalizacja docelowa”, a także pole „Strefa” tylko do odczytu, które pojawia się po skanie palety. Zapis wywołuje pole adresu docelowego, bez osobnego przycisku zatwierdzenia.

Zanim ekran pokaże strefę, kontrola w skrypcie terminala sprawdza adres źródłowy; komunikaty mówią o lokalizacji wyłączonej („Podana lokalizacja jest wyłączona!”), a w analogicznym brzmieniu o lokalizacji nieaktywnej albo zablokowanej, a także o adresie, który nie istnieje. Potem skrypt sprawdza, czy na sztukach palety nie ma aktywnej blokady, oraz czy paleta stoi pod tym adresem; w przeciwnym razie ekran pokazuje „Nie znaleziono wybranej palety!”. Adres podany jako długa liczba jest zamieniany na adres lokalizacji.

Dopiero po tych kontrolach ekran pokazuje strefę jako tekst złożony z grupy z kartoteki asortymentu i klasy przepuszczonej przez tłumaczenie; etykieta ma postać „grupa - klasa”. Operator widzi więc klasę po skanie palety, a dopiero potem skanuje adres docelowy.

## Reguła porównuje stan strefy z częścią zapasu minimalnego, a potem z całym zapasem

Reguła klasy zaczyna od liczby asortymentów na palecie: paleta z więcej niż jednym asortymentem dostaje klasę najniższą. Przy jednym asortymencie stan klasy najniższej jest porównywany z częścią zapasu minimalnego; stan poniżej tej części albo brak stanu daje klasę najniższą. Potem stan dwóch dolnych klas jest porównywany z pełnym zapasem minimalnym, a stan poniżej niego daje klasę średnią. W pozostałych przypadkach klasa jest wysoka.

Zapas minimalny jest polem liczbowym w kartotece asortymentu, obok pola zapasu optymalnego. Próg klasy najniższej jest ułamkiem zapasu minimalnego wpisanym w treść zapytania, a ten sam ułamek jest zapisany osobno w widoku braków klasy najniższej.

| Sytuacja na palecie | Podpowiedź |
| --- | --- |
| Na palecie więcej niż jeden asortyment | najniższa |
| Jeden asortyment i brak stanu w klasie najniższej | najniższa |
| Jeden asortyment i stan klasy najniższej poniżej części zapasu minimalnego | najniższa |
| Stan dwóch dolnych klas poniżej zapasu minimalnego | średnia |
| Pozostałe przypadki | wysoka |

Tabela pokazuje regułę zapisaną w zapytaniach terminala.

## Podpowiedź jest etykietą, a zapis nie sprawdza strefy

Operator sam skanuje adres docelowy. Zapis dostaje pięć wartości: adres źródłowy, kod palety, adres docelowy oraz login i numer sesji, a żadna z nich nie jest klasą strefy. Procedura zapisu nie odwołuje się do stref. Podpowiedź jest więc etykietą na ekranie, a zapis jej nie sprawdza.

> Strefa na ekranie terminala jest podpowiedzią, a nie zakazem.

Zapis przenosi wszystkie sztuki leżące na palecie pod adresem źródłowym: dla każdej powstaje para zatwierdzonych wierszy z tą samą paletą (rozchód i przychód), w jednej transakcji procedury. Po zapisie ekran pokazuje komunikat o zmianie lokalizacji palety wraz z adresem. Przy zbiórce pustych palet adres docelowy także skanuje operator; opisuje ją artykuł o [pustej palecie z adresem](https://system.wms.net.pl/pusta-paleta-ma-adres-ruchy-do-zera-i-zbiorka-po-dwie/).

Przykład (dane wymyślone): operator skanuje paletę z jednym asortymentem, a lista numerowana pokazuje, co robi terminal i co zostaje po stronie operatora.

1. Operator skanuje adres źródłowy i kod palety z jednym asortymentem, którego zapas minimalny w kartotece wynosi 100.
2. Stan tego asortymentu w klasie najniższej wynosi 90 i jest powyżej progu tej klasy, a w dwóch dolnych klasach razem wynosi 95, czyli poniżej zapasu 100.
3. Terminal pokazuje etykietę z grupą kartoteki i klasą średnią.
4. Operator skanuje wybrany adres docelowy i zapis przenosi wszystkie sztuki z palety.
5. Klasa strefy nie jest przy zapisie sprawdzana, więc o zgodności miejsca z etykietą decyduje operator.

## Reguła leży w zapytaniu terminala i w widokach braków, a typ wózka w kartotece magazyniera

Kierownik ma w kartotekach pozycję „Strefy” z opisem każdej strefy i liczbą palet w niej. Ma też dwa zestawienia braków strefy, dla klasy najniższej i dla dwóch dolnych klas; opierają się one na tych samych widokach stanu stref co reguła na terminalu, przez widoki braków.

Pole „Typ wózka” w kartotece magazyniera ma wybór duży albo mały, a także wartość brak, i leży w kolumnie standardowej o innym przeznaczeniu. W opisywanym wdrożeniu żadne zapytanie ani obiekt nie czyta tego pola, aby wybrać zadanie albo strefę. Reguła klasy używa stanu i zapasu minimalnego, a nie typu wózka. O polach, które w kolumnie standardowej niosą inne znaczenie, piszemy w artykule o [kolumnie z innym znaczeniem](https://sql.server.net.pl/sql-server/kolumna-standardowa-z-nowym-znaczeniem-w-dostosowaniu/).

- Zasięg wózka. Wyznacza trzy klasy stref w słowniku.
- Typ wózka. Pole w kartotece magazyniera, które w opisywanym wdrożeniu nie wybiera zadania ani strefy.

## Pytania do analizy

Przed wdrożeniem podobnego rozwiązania zadajemy cztery pytania. To pytania do czytelnika, a nie fakty o opisywanym wdrożeniu.

1. Które poziomy regałów w Twoim magazynie obsługują inne wózki i gdzie opisuje je konfiguracja?
2. Jaka część zapasu minimalnego ma zostawać w strefie najniższej i w którym miejscu ta reguła jest zapisana?
3. Czy podpowiedź ma pozostać etykietą, czy ma blokować odłożenie palety w niewłaściwej strefie?
4. Do czego ma służyć typ wózka zapisany przy magazynierze?

## Pytania i odpowiedzi o strefach według zasięgu wózka

## Słownik pojęć o strefach według zasięgu wózka

Terminy używane przy opisie stref oraz klasy strefy podpowiadanej na terminalu.
