Status zapisuje się na pozycjach zlecenia transportowego, więc zmiana statusu działa na pozycje, a nie na zlecenie jako całość. Dla dostawy powstaje jedno zlecenie przyjęcia na całe zlecenie, a dla wydania po jednym zleceniu na oddział. Dostawa wprost do klienta przyjęcia nie ma i ma własną akcję realizacji.
W opisywanym wdrożeniu zmiana statusu zlecenia transportowego zakłada w magazynie jedno zlecenie przyjęcia albo zlecenia wydania, po jednym na każdy oddział, z którego wychodzą pozycje. Pozycja wysyłana wprost do klienta nie trafia do zlecenia przyjęcia, a ekran cofnięcia zlecenia przesunięcia odmawia, gdy dokument magazynowy już istnieje. Ten mechanizm odróżnia to, że jedno zlecenie transportowe rodzi zlecenia magazynowe w wielu oddziałach, a dostawa wprost jest osobną ścieżką.
Zlecenie transportowe ma numer i rodzaj, a status zapisuje się na pozycjach
Zlecenie transportowe to wiersze pozycji o wspólnym numerze referencyjnym zlecenia. Są cztery rodzaje zleceń: dostawa krajowa, dostawa międzynarodowa, wydanie krajowe i przesunięcie między miejscami. Przy zapisie zlecenia dostawca albo firma transportowa i uwagi trafiają do wszystkich aktywnych pozycji, a termin dostawy jest atrybutem pozycji, nie zlecenia.
Numer zlecenia powstaje dopiero przy pierwszym zapisie, z licznika właściwego dla rodzaju zlecenia, a do tego czasu jest równy numerowi referencyjnemu. Status zapisuje się na wierszach pozycji, więc jedno zlecenie dostawy może mieć naraz pozycje w dwóch różnych statusach. Zmiana statusu ustawia status „zlecono do magazynu” pozycjom przeznaczonym do magazynu i „bez zlecenia przyjęcia” pozycjom wysyłanym wprost.
- Zlecenie nowe - stan początkowy zlecenia.
- Wiadomość zapisana do wysyłki - wiadomość do firm transportowych, a przy dostawie krajowej do dostawcy, trafiła do kolejki wysyłki.
- Zlecono do magazynu - powstało zlecenie przyjęcia albo wydania.
- Bez zlecenia przyjęcia - dostawa wprost do klienta albo do podwykonawcy.
Program dopisuje wiadomość do dostawcy albo do firm transportowych do kolejki wysyłki i ustawia status po zapisaniu wiadomości. Ekran zmiany statusu przy statusie początkowym ostrzega komunikatem „Nie został wysłany e-mail do dostawcy.” (przy dostawie międzynarodowej: „...do firmy transportowej.”), ale nie wstrzymuje zmiany. Zlecenie transportowe w innym ujęciu opisuje tekst o numerze rejsu na liniach zlecenia.
Status zlecono do magazynu oznacza, że magazyn dostał zlecenie przyjęcia albo wydania
Zmiana statusu dostawy zakłada jedno zlecenie przyjęcia na całe zlecenie transportowe. Wszystkie pozycje przeznaczone do magazynu trafiają pod jeden nowy numer z licznika zleceń przyjęcia, razem z dostawcą, firmą transportową, datą dostawy i oddziałem. Pozycje wysyłane wprost do klienta lub do podwykonawcy do tego zlecenia nie wchodzą.
Zmiana statusu nie kończy się na rejestrze zleceń transportowych. Od tej chwili magazyn ma zlecenie do wykonania.
Zanim status dostawy się zmieni, ekran sprawdza wskazanie dostawcy albo firmy transportowej i pokazuje komunikat „Brak dostawcy. Blokada zmiany statusu.” albo „Brak firmy transportowej. Blokada zmiany statusu.”. W przeciwnym razie pyta „Czy zmienić status i zapisać zlecenie przyjęcia do magazynu?”. Zmiana statusu zakłada w magazynie zlecenie przyjęcia, ale nie tworzy dokumentu przyjęcia: dokumenty magazynowe zapisuje dopiero terminal.
Dostawa wprost do klienta nie wchodzi do zlecenia przyjęcia
Pozycja wysyłana wprost do klienta lub do podwykonawcy nie wchodzi do zlecenia przyjęcia i dostaje status „bez zlecenia przyjęcia”. Dostawę wprost do klienta oznacza znacznik „Bezpośrednio do klienta” na pozycji, a wariant z podwykonawcą znacznik „Do podwykonawcy”.
- „Bezpośrednio do klienta” - zaznaczenie przełącza odbiorcę na klienta zamawiającego i ładuje listę miejsc dostawy tego klienta, a odznaczenie przywraca odbiorcę przekazanego do ekranu jako kontrahenta docelowego dostawy.
- „Do podwykonawcy” - stan pozycji zapisuje się w osobnym zapisie stanu u podwykonawcy, a pozycja nie trafia do zlecenia przyjęcia magazynu; w jednym z formularzy pozycji oba znaczniki się wykluczają.
Pozycję wysyłaną wprost zamyka osobna akcja „realizacja”, która pyta „Czy zapisać realizację pozycji?”, ustawia pozycję jako zrealizowaną i dopisuje wpis do historii. Ekran akcji odmawia dla pozycji bez znacznika („Blokada operacji. Pozycja nie jest wysyłana bezpośrednio do klienta.”) i dla pozycji już zrealizowanej („Blokada operacji. Pozycja została zrealizowana.”).
Przykład (dane wymyślone) w siedmiu krokach:
- Zlecenie transportowe 26-3001 dotyczy dostawy dwóch pozycji od Dostawcy Testowego: jedna jedzie do magazynu w Oddziale 1, druga ma znacznik „Bezpośrednio do klienta”.
- Dział transportu wybiera wysłanie wiadomości do dostawcy, a program zapisuje ją w kolejce i ustawia status po zapisaniu wiadomości.
- Po wyborze dostawcy dział transportu potwierdza pytanie „Czy zmienić status i zapisać zlecenie przyjęcia do magazynu?”.
- System zakłada jedno zlecenie przyjęcia dla pierwszej pozycji i ustawia jej status „zlecono do magazynu”.
- Druga pozycja dostaje status „bez zlecenia przyjęcia” i nie trafia do przyjęcia.
- Gdy Klient Testowy odbierze towar, dział transportu uruchamia akcję „realizacja” dla drugiej pozycji.
- Zlecenie wydania z trzech oddziałów rozbiłoby się na trzy zlecenia, po jednym na oddział.
Zlecenie wydania powstaje po jednym na oddział
Zmiana statusu zlecenia wydania zakłada jedno zlecenie wydania na każdy oddział, z którego wychodzą aktywne pozycje. Procedura numeruje oddziały, tworzy dla każdego jedno zlecenie z numerem z licznika zleceń wydania i zapisuje w nim rodzaj zlecenia transportowego, a na koniec ustawia status „zlecono do magazynu” na pozycjach zlecenia. Procedury zakładające zlecenia wykonują zapisy w jednej transakcji, którą wycofuje się przy niepowodzeniu procedury.
Poniższa tabela zestawia skutki zmiany statusu dla czterech rodzajów zleceń.
| Rodzaj zlecenia | Co zakłada zmiana statusu | Status pozycji po zmianie |
|---|---|---|
| Dostawa do magazynu | Jedno zlecenie przyjęcia na całe zlecenie | Zlecono do magazynu |
| Dostawa wprost do klienta lub do podwykonawcy | Brak zlecenia przyjęcia | Bez zlecenia przyjęcia |
| Wydanie krajowe | Jedno zlecenie wydania na oddział, z którego wychodzą pozycje | Zlecono do magazynu |
| Przesunięcie | Zlecenia wydania lub przyjęcia zależnie od kierunku, a przy dwóch firmach zewnętrznych tylko zapis stanu | Zlecono do magazynu |
Oddział pozycji wydania jest oddziałem, na którego stanie leży egzemplarz. Dopisanie pozycji odmawia, gdy egzemplarza nie ma na stanie („Blokada dopisania pozycji. Brak stanów magazynowych.”), gdy egzemplarz leży na stanie więcej niż jednego oddziału albo gdy stan nie ma oddziału („Blokada dopisania pozycji. Brak oddziału.”).
Ekran statusu wydania wymaga wskazanej firmy transportowej („Blokada zmiany statusu. Brak firmy transportowej.”) i oddziału wydania, a przed zapisem pyta „Czy zmienić status i zapisać zlecenie wydania?”. Przy zmianie statusu zlecenia wydania i przesunięcia ekran oczekuje od procedury wiersza wyniku, a wynik odmowny pokazuje treść procedury z przedrostkiem „Nie zapisano:” i zostawia okno otwarte. Kompletację po zleceniu wydania opisuje artykuł o zamówieniu ogólnym i kompletacji zestawu, a protokół stanu przy wydaniu artykuł o protokole stanu przy wydaniu.
Przesunięcie rozdziela cztery kierunki między oddziałami i firmami zewnętrznymi
Przesunięcie rozdziela cztery kierunki, zależnie od tego, czy miejscem wydania i miejscem przyjęcia jest oddział, czy firma zewnętrzna.
- Oddział do oddziału - jedno zlecenie wydania na oddział przyjmujący.
- Oddział do firmy zewnętrznej - jedno zlecenie wydania na firmę przyjmującą.
- Firma zewnętrzna do oddziału - wydanie zapisane w osobnym zapisie stanu firm zewnętrznych i zlecenie przyjęcia dla oddziału przyjmującego, od razu ze statusem zrealizowanego i oczekujące na przyjęcie.
- Firma zewnętrzna do firmy zewnętrznej - tylko zapisy stanu firm zewnętrznych, bez zleceń magazynowych.
Ekran przesunięcia sprawdza przed zapisem miejsce wydania i miejsce przyjęcia. Sprawdza też oznaczenie obu miejsc. Brak miejsca wydania zgłasza komunikat o niepoprawnych danych. Edycję pozycji w osobnych oknach, w innym obszarze programu, opisuje artykuł o oknach edycji pozycji.
Cofnięcie jest możliwe, dopóki nie powstał dokument magazynowy
Cofnięcie zlecenia przesunięcia sprawdza zlecenie magazynowe utworzone ze zlecenia transportowego i jego ruchy magazynowe.
- Dokument magazynowy istnieje - ekran pokazuje „Dokument magazynowy w trakcie realizacji, brak możliwości anulowania”.
- Dokumentu nie ma - ekran pyta „Czy na pewno chcesz cofnąć zlecenie?”, przywraca status zlecenia na początkowy i oznacza zlecenia magazynowe jako usunięte.
Odmowa pochodzi z ekranu cofnięcia, który czyta zlecenie magazynowe i jego ruchy. Cofnięcie zależy więc od tego, czy w magazynie powstał dokument, a nie od samego statusu zlecenia transportowego.
Pytania do analizy
- Które pozycje zlecenia jadą do magazynu, a które wprost do klienta, i kto o tym decyduje?
- W którym momencie magazyn ma zobaczyć zlecenie: po wysłaniu wiadomości do dostawcy czy dopiero po zmianie statusu?
- Czy zlecenie wydania ma powstawać osobno dla każdego oddziału, z którego wychodzą pozycje?
- Do kiedy zlecenie transportowe wolno cofnąć i kto sprawdza, czy magazyn już zaczął pracę?