W opisywanym wdrożeniu kontrola stanu przy wydaniu stoi w procedurze, która tworzy dokument wydania zlecenia. Magazynier skanuje egzemplarze i kompletuje zlecenie, ale stan egzemplarza spada dopiero wtedy, gdy powstaje dokument wydania z rozchodem 1.
Skan nie rozstrzyga więc o tym, czy egzemplarz może wyjechać. Rozstrzyga o tym stan w chwili wydania.
Stan egzemplarza ma wynosić 0 albo 1. Pomiar dat dokumentów przyjęcia i wydania pokazał, że w zdecydowanej większości przyjęcie było późniejsze niż wydanie albo nie było go wcale, a wydanie przed wprowadzeniem przyjęcia było rzadkim wyjątkiem. Dlatego zestaw sygnalizujący stany niemożliwe zastąpiła kontrola w procedurze wydania zlecenia: jeśli którykolwiek egzemplarz zlecenia nie jest na stanie, dokument wydania nie powstaje wcale.
W opisywanym wdrożeniu procedura wydania liczy sumę zatwierdzonych ruchów egzemplarzy zlecenia i odrzuca całe wydanie, gdy któregoś z nich brakuje na stanie. Dokument wydania nie powstaje wtedy wcale, nawet dla pozycji, które są na stanie. Skan w kompletacji tej kontroli nie wykonuje.
Dla Twojej firmy ważne jest, w którym momencie stan ma być sprawdzany i czy częściowe wydanie zlecenia jest dopuszczalne. Pytania na końcu strony pomagają to ustalić.
Stan egzemplarza to suma zatwierdzonych ruchów i powinien wynosić 0 albo 1
W opisywanym wdrożeniu stan egzemplarza to suma ilości jego zatwierdzonych ruchów magazynowych. To samo wyrażenie stoi w widoku kartoteki i w zestawieniu kontrolnym. Egzemplarz jednostkowy może więc mieć stan 0 albo 1: przyjęcie dodaje 1, a wydanie odejmuje 1. Wartość ujemną albo większą niż 1 nazywamy na tej stronie stanem niemożliwym.
Kompletacja nie zmienia tego stanu. Zapisuje parę zatwierdzonych ruchów: rozchód 1 z miejsca pobrania i przychód 1 w miejscu odkładczym. Egzemplarz zmienia miejsce, ale jego suma zostaje taka sama, dopóki nie powstanie dokument wydania, który wpisuje rozchód 1.
Na osi z grafiki przyjęcie daje stan 1, kompletacja go nie zmienia, a pierwsze wydanie sprowadza go do 0. Drugie wydanie tego samego egzemplarza sprowadziłoby licznik do -1, dlatego stoi przed nim czerwona bramka z napisem „odmowa: brak na stanie”.
Kontrola przy skanie nie wyłapałaby kolejnego wydania
Przy skanie w kompletacji stan egzemplarza jest taki sam jak przed kompletacją, bo kompletacja go nie zmienia. Gdy ten sam egzemplarz zostaje użyty dwa razy, przy obu skanach jego stan wynosi jeszcze 1. Kontrola sumy ruchów w chwili skanu nie zobaczyłaby zatem niczego niezwykłego.
Skan nie rozstrzyga, czy egzemplarz może wyjechać. Rozstrzyga o tym stan w chwili wydania.
Skan w kompletacji sprawdza coś innego: czy egzemplarz jest w miejscu składowania. Magazynier zobaczy więc odmowę skanu, gdy egzemplarza nie ma w tym miejscu, a nie wtedy, gdy jego suma ruchów wynosi 0. Skan nie sprawdza też, czy egzemplarz nie jest już skompletowany na innym otwartym zleceniu.
Tabela zestawia momenty, w których opisywane wdrożenie sprawdza egzemplarz, i skutki tych kontroli.
| Moment | Reguła | Skutek |
|---|---|---|
| Przyjęcie na terminalu | stan egzemplarza większy niż 0 | odmowa przyjęcia |
| Skan w kompletacji | egzemplarz jest w miejscu składowania | odmowa skanu; zlecenia równoległe nie są sprawdzane |
| Wydanie zlecenia | suma ruchów któregokolwiek egzemplarza poniżej 1 | odmowa całego wydania z listą numerów |
| Zestawienie stanów niemożliwych | stan ujemny albo większy niż 1 | tylko widok, wyłączony po wprowadzeniu kontroli |
Dopiero trzeci wiersz tabeli opisuje moment, w którym suma ruchów decyduje o odmowie.
Pomiar pokazał, że wydania poniżej zera rzadko są wyjątkiem
Pierwszy pomiar porównywał daty dokumentów przyjęcia i wydania dla wydań, które schodziły poniżej zera. W zdecydowanej większości przyjęcie było realnie późniejsze niż wydanie albo nie było go wcale. Oznaczało to, że wydano coś, czego nie było. Wydanie przed wprowadzeniem przyjęcia okazało się rzadkim wyjątkiem.
- Pomiar pierwszy: daty przyjęcia i wydania; zdecydowana większość to przyjęcie późniejsze albo żadne, rzadki wyjątek to wydanie przed wprowadzeniem przyjęcia.
- Pomiar drugi: sposób powstawania przypadków; zdecydowana większość to kolejne wydanie osobnym dokumentem, czyli egzemplarz wydany i niewrócony, a potem wydany ponownie.
Drugi pomiar dotyczył tego, jak powstawały te przypadki. Wybór wierszy na dokument i ochrona zatwierdzonych dokumentów przed skasowaniem przy anulowaniu zlecenia obejmowały tylko niewielką część takich przypadków. Bez kontroli stanu procedura wydania wpisałaby rozchód 1 bezwarunkowo, więc ten sam egzemplarz dałoby się wydać kolejnym dokumentem, mimo że nie wrócił.
Skąd w ogóle bierze się stan ujemny, omawia osobna strona o przyczynach stanu ujemnego. Tutaj zostajemy przy kolejności decyzji: najpierw pomiar, potem kontrola.
Pierwsza decyzja to sygnalizacja, bo twarda kontrola mogła zatrzymać pracę
Pierwszą decyzją była sygnalizacja zamiast odrzucania wydań. W konfiguracji opisywanego wdrożenia powstało zestawienie egzemplarzy o stanie niemożliwym, czyli ujemnym albo większym niż 1. Zestawienie miało kolumny z informacjami o egzemplarzu.
- Problem i numer seryjny: opis problemu oraz numer seryjny egzemplarza.
- Stan i ostatni ruch: suma ruchów oraz ostatni ruch egzemplarza.
- Status i kartoteka: status egzemplarza oraz informacja, czy kartoteka jest aktywna.
- Oddział: informacja o oddziale.
Uzasadnienie było takie, że twarde odrzucanie wydań mogło zatrzymać realną pracę, bo część przypadków to egzemplarz fizycznie obecny, którego przyjęcia jeszcze nie wprowadzono. Kryterium porównujące status egzemplarza z jego stanem odrzucono jako szum. Zestawienie było więc samym widokiem, a nie odmową przy wydaniu.
Zestawienie liczyło stan ze wszystkich zatwierdzonych ruchów, niezależnie od ścieżki. Stany ujemne powstawały więcej niż jedną ścieżką, a procedur wstawiających wydania jest więcej niż jedna. Czujnik umieszczony w jednej procedurze dałby fałszywe poczucie pokrycia. Po wprowadzeniu kontroli zestawienie wyłączono, a jego definicja zostaje w bazie, więc można je włączyć ponownie. W procedurach pozostają natomiast wybór wierszy na dokument i ochrona zatwierdzonych dokumentów przed skasowaniem przy anulowaniu zlecenia.
Po pomiarze kontrola trafiła do procedury wydania na zasadzie wszystko albo nic
Po pomiarze decyzja się zmieniła: kontrola stanu trafiła do procedury wydania zlecenia. Procedura liczy dla każdego egzemplarza zlecenia sumę zatwierdzonych ruchów. Jeśli którakolwiek z tych sum wynosi mniej niż 1, wydanie jest odrzucone. Procedura składa przy tym listę numerów seryjnych bez powtórzeń i zwraca wynik z komunikatem zamiast przerywać wyjątkiem.
- Zasada: przy choć jednym niedostępnym egzemplarzu nie powstaje żaden wiersz dokumentu.
- Powód: wydanie częściowe zostawiłoby zlecenie w połowie zrealizowane, bez śladu dlaczego.
Pozycje dokumentu są dopisywane tylko wtedy, gdy braków nie ma. Magazynier nie dostaje więc dokumentu z części pozycji, tylko odmowę z listą numerów seryjnych.
Kontrola pilnuje dołu przedziału. Górę pilnują, według konfiguracji opisywanego wdrożenia, dwie procedury przyjęcia na terminalu, które odmawiają, gdy stan egzemplarza jest większy niż 0. Jedna z nich pokazuje komunikat „Element był już w magazynie, zablokowano przyjęcie”, a druga, w przyjęciu ze zlecenia, komunikat „Element jest już w magazynie”. Nie jest to kontrola na każdej ścieżce.
Liczone są zatwierdzone ruchy egzemplarza w całej bazie, bez podziału na oddziały. Kontrola nie sprawdza dostępności przy tworzeniu zlecenia ani względem innych otwartych zleceń. Obejmuje jedną procedurę wydania zlecenia, a wydania wstawia więcej niż jedna procedura.
Sposób, w jaki dokument wydania wybiera wiersze kompletacji, opisujemy w artykule o wyborze wierszy na dokument. Wydanie zlecenia opisujemy też od strony zestawów i protokołu stanu, w artykułach o zamówieniu ogólnym i kompletacji zestawu oraz o protokole stanu przy wydaniu i zwrocie.
Komunikat wskazuje braki, a stany z przeszłości korygowane są osobno i ostrożnie
Gdy kontrola odmawia, komunikat ma postać: „Nie mozna wydac - brak na stanie magazynowym: [lista numerów seryjnych]. Sprzet nie wrocil albo jego przyjecie nie zostalo wprowadzone.” W kodzie komunikat jest zapisany bez polskich znaków, a jego długość jest ograniczona do 500 znaków. Według kodu ekranu terminala w opisywanym wdrożeniu treść pojawia się w oknie „Błąd”, a przy powodzeniu terminal pokazuje krótką informację i czyści pole zlecenia.
Makieta pokazuje, jak komunikat o braku na stanie wygląda w oknie na ekranie wydania. Lista numerów seryjnych jest zmienną częścią komunikatu, a reszta tekstu ma stałą postać.
Stany ujemne, które już istnieją, korygowane są osobną, ostrożną procedurą, a nie kontrolą wydania. Procedura opiera się na jawnej liście rekordów z oczekiwaną wartością sprzed korekty. Kontrola zakresu sprawdza, czy stan żadnej innej kartoteki się nie zmienił, a gdy się zmienił, korekta jest wycofywana. Procedura ma też tryb próbny, który kończy się wycofaniem. Sama procedura zostawia ślad w historii zdarzeń i ma gotowe polecenie wycofania.
Przykład (dane wymyślone). Zlecenie 26-1001 ma trzy pozycje, a jedną z nich jest Egzemplarz B, który został wydany innym dokumentem i jeszcze nie wrócił. Magazynier kompletuje pozycje zlecenia, bo skan sprawdza tylko, czy egzemplarz jest w miejscu składowania. Kompletacja zapisuje pary ruchów, więc sumy stanów się nie zmieniają. Przy wydaniu zlecenia procedura liczy sumę zatwierdzonych ruchów trzech egzemplarzy.
Dla Egzemplarza B suma wynosi 0, czyli mniej niż 1. Terminal pokazuje okno „Błąd” z komunikatem, w którym stoi numer Egzemplarza B. Dokument wydania nie powstaje, także dla dwóch pozostałych pozycji. Po wprowadzeniu przyjęcia zwrotu stan Egzemplarza B wynosi znów 1, więc wydanie nie jest już z tego powodu odrzucane.
Cztery pytania do analizy w Twojej firmie
Odpowiedzi na te pytania nie są faktami z opisywanego wdrożenia, tylko tematami do ustalenia w Twojej firmie.
- Jaka część ujemnych stanów w Twojej firmie wynika z wydań sprzed wprowadzenia przyjęcia, a jaka z wydań czegoś, czego na stanie nie było? Czy ktoś to zmierzył?
- W którym momencie stan ma być sprawdzany: już przy skanie czy dopiero przy wydaniu?
- Czy częściowe wydanie zlecenia jest w Twojej firmie dopuszczalne, czy ma obowiązywać zasada wszystko albo nic?
- Kto ma korygować stany, które już są ujemne, i jak sprawdzić, że korekta nie zmieniła nic poza zakresem?