WMS

Sprawę uszkodzeń zakładają dwie ścieżki - ekran terminala i procedura przy zamknięciu zlecenia przyjęcia

W opisywanym wdrożeniu automatyczne zakładanie sprawy uszkodzeń ma dwie ścieżki: ekran terminala zakłada sprawę po zapisie pozycji, gdy lista pozycji nieprzyjętych jest pusta, a procedura w bazie robi to przy zamknięciu zlecenia przyjęcia. Operator przyjmuje na terminalu pozycje zlecenia, a po zapisie pozycji ekran sprawdza, czy zostały jeszcze pozycje nieprzyjęte. Zlecenie zamknięte z różnicami tego warunku nie spełnia, więc dla niego sprawy zakłada procedura. Procedura wybiera tylko pozycje faktycznie przyjęte i nie dubluje spraw, które już istnieją.

W skrócie

Zamknięcie zlecenia przyjęcia wywołuje procedurę w bazie, która zakłada sprawy uszkodzeń tylko dla pozycji faktycznie przyjętych i bez duplikatów. Ekran terminala zakłada sprawy nadal, gdy po zapisie pozycji lista pozycji nieprzyjętych jest pusta. Przycisk „Status” zmienia status zlecenia dopiero po powodzeniu procedury.

Ekran terminala zakłada sprawę, gdy lista pozycji nieprzyjętych jest pusta

W opisywanym wdrożeniu jedna reguła zakładania sprawy stoi w ekranie terminala do przyjmowania pozycji zlecenia. Po zapisie każdej pozycji ekran pobiera listę pozycji jeszcze nieprzyjętych. Sprawy zakłada tylko wtedy, gdy ta lista jest pusta. Potem pokazuje okno z tekstem „Dokument został zrealizowany” i pytaniem „Czy chcesz zrealizować nowy dokument?”.

Ekran buduje sprawę w przeglądarce: pobiera zapytaniem listę kandydatów, a dla pozycji z tej listy sam pobiera identyfikator i numer z licznika, po czym wysyła zapis.

  • Warunek założenia sprawy - po zapisie pozycji lista pozycji nieprzyjętych jest pusta.
  • Okno po zapisie - tekst „Dokument został zrealizowany” i pytanie „Czy chcesz zrealizować nowy dokument?”.

Adresata powiadomienia o założonej sprawie opisuje osobny tekst o adresacie powiadomienia według kodu pocztowego.

Zlecenie zamknięte z różnicami nie spełnia warunku ekranu

Zlecenie, na którym została choć jedna pozycja nieprzyjęta, nie doprowadza listy do zera, dopóki ta pozycja nie zostanie anulowana w edycji zlecenia. Anulowana pozycja znika z listy. Dlatego ekran nie zakłada sprawy dla zlecenia, na którym została pozycja nieprzyjęta.

Zlecenie zamyka się na osobnym ekranie przyjęcia. Przy niekompletnym zleceniu ekran pyta, czy na pewno zakończyć zlecenie niekompletne, a przy kompletnym pokazuje przycisk „Potwierdź przyjęcie”.

Makieta pokazuje okno z pytaniem o zakończenie niekompletnego zlecenia.

Makieta ekranu terminala: wybór zlecenia i okno z pytaniem o zakończenie niekompletnego zlecenia.
Makieta poglądowa, dane przykładowe. Okno z pytaniem o zakończenie niekompletnego zlecenia.

Według konfiguracji opisywanego wdrożenia procedura zamykająca nadaje zleceniu status zamknięcia kompletnego albo zamknięcia z różnicami, zależnie od znacznika aktywności pierwszej pozycji bez przyjęcia. Po powodzeniu zwraca komunikat „Zlecenie zostało zamknięte.”. Sprawy dla takiego zlecenia zakłada procedura, którą woła zamknięcie zlecenia.

Dla procedury w bazie liczy się zamknięcie zlecenia, a nie to, czy lista pozycji zeszła do zera.

Procedura w bazie wybiera tylko pozycje faktycznie przyjęte

W opisywanym wdrożeniu procedura przyjmuje identyfikator zlecenia i login, a wynik powodzenia albo odmowy oddaje osobnym parametrem wyjściowym. Kandydatem do sprawy jest tylko pozycja faktycznie przyjęta, czyli taka, której ilość przyjęcia jest większa od zera. Procedura sama ustala identyfikator zlecenia z numeru dokumentu i robi to tylko dla zlecenia zamkniętego.

Według konfiguracji opisywanego wdrożenia zamknięcie przerwane komunikatem „Protokół przyjęcia nie został zatwierdzony!” nie zakłada sprawy. Jeśli na zleceniu jest przyjęta jednostka główna, sprawa powstaje tylko dla niej. W przeciwnym razie sprawy powstają dla przyjętych elementów składowych. Klasyfikacja idzie po kodzie rodzaju pozycji, a nie po tekście opisu, bo opisy mają kilka wariantów nazw.

Schemat pokazuje kolejność pytań procedury: czy zlecenie jest zamknięte i czy jest przyjęta jednostka. Dalej procedura sprawdza, czy sprawa już istnieje, a przy braku sprawy zakłada nową z numerem z licznika i wpisem w historii. Przy niepowodzeniu transakcja jest cofana i procedura zwraca odmowę, a przycisk zostawia status bez zmiany.

Schemat: procedura tworzy sprawy dla przyjętych pozycji zamkniętego zlecenia, a przycisk Status zmienia status po powodzeniu.
Schemat poglądowy. Procedura wybiera przyjęte pozycje zamkniętego zlecenia i pomija pozycje z istniejącą sprawą.

Tabela pokazuje cztery przykładowe zlecenia i wynik wyboru (dane przykładowe).

ZlecenieCo przyjętoCo pomija proceduraWynik
Zlecenie 26-1001jednostka i jeden element składowyelement składowy, bo jednostka jest przyjętajedna sprawa dla jednostki
Zlecenie 26-1002dwa elementy składowe, jednostki brak w dostawiebrak jednostki do pominięciadwie sprawy dla elementów składowych
Zlecenie 26-1003jednostka, sprawa już istniejepozycja z istniejącą sprawąbrak nowej sprawy, komunikat, że pozycje już istnieją
Zlecenie 26-1004nicpozycje bez przyjęciabrak spraw, komunikat, że nic nie zostało przyjęte

Ponowne wywołanie procedury niczego nie dubluje

Pozycja, która ma już aktywną sprawę dla tego samego zlecenia i tej samej jednostki, jest pomijana. Ponowne wywołanie jest więc pustym przebiegiem.

  • Pozycja z istniejącą sprawą - procedura ją pomija.
  • Brak kandydatów - procedura zwraca powodzenie i komunikat, że pozycje już istnieją albo nic nie zostało przyjęte.

Nowa sprawa dostaje numer z licznika dokumentów i wpis w historii. Procedura ma własną transakcję. Gdy zapis się nie powiedzie, transakcja jest cofana, a procedura zapisuje wpis w dzienniku niepowodzeń i zwraca odmowę.

Sprawa założona przez procedurę startuje w statusie, w którym czeka na weryfikację, i ma pusty zakres uszkodzeń. Pozycje uszkodzeń dopisuje człowiek, a dopisana pozycja kopiuje dane nagłówka z wiersza założonego przez procedurę. Sprawa trafia od razu na listę oczekujących.

Wpis zapytania pod przyciskiem „Status” jest współdzielony z przyciskiem zamykającym zlecenia wydania. Filtr typu dokumentu w procedurze sprawia, że wywołanie z zamknięcia zlecenia wydania niczego nie zakłada. Załączniki sprawy, w tym oferta wśród załączników sprawy, opisuje osobny tekst.

Zmiana statusu z listy zleceń z różnicami następuje po powodzeniu procedury

Przycisk „Status” jest na liście zleceń z różnicami i wywołuje procedurę. Status zlecenia zmienia się tylko wtedy, gdy wynik jest inny niż odmowa. Dotyczy to wyłącznie tego przycisku.

  • Powodzenie - status zlecenia zmienia się po założeniu sprawy albo po pustym przebiegu.
  • Odmowa - status zlecenia zostaje bez zmiany.

Zamknięcie zlecenia przyjęcia jako takie i protokół różnic opisuje strona o protokole różnic przy zamknięciu, a samo przyjęcie do magazynu ma osobną stronę.

Zamknięcie na terminalu wywołuje tę samą procedurę po cichu

Przy zamknięciu zlecenia na terminalu zapytanie zapisu przyjęcia wywołuje po zamknięciu tę samą procedurę w trybie cichym, czyli bez własnego zbioru wyników. Kolejność jest istotna, bo ekran odczytuje zbiór wyników pierwszej procedury i pokazuje swój komunikat. Wynik generowania sprawy nie jest wtedy sprawdzany, a niepowodzenie zapisu trafia tylko do dziennika niepowodzeń procedury.

Dla zlecenia kompletnego, dla którego sprawę założył już ekran, wywołanie procedury po zamknięciu pomija pozycje z istniejącą sprawą. Ścieżka przyjęcia bez zlecenia ma własny zaczep w przeglądarce: po zapisie pozycji pobiera zapytaniem kandydata, usuwając duplikaty po pozycji dokumentu przyjęcia, i zapisuje sprawę. Reguła nie stoi więc w jednym miejscu.

ŚcieżkaKiedy zakłada sprawyCo dzieje się z wynikiem
Ekran przyjmowania pozycji zleceniapo zapisie pozycji, gdy lista pozycji nieprzyjętych jest pustaekran pokazuje okno z pytaniem o nowy dokument
Zamknięcie zlecenia na terminalupo zamknięciu, procedura w trybie cichymekran pokazuje swój komunikat, a wynik generowania nie jest sprawdzany
Przycisk „Status” na liście zleceń z różnicamiprzy wywołaniu procedurystatus zmienia się tylko po powodzeniu
Przyjęcie bez zleceniapo zapisie pozycji, własny zaczep w przeglądarcezapytanie pobiera kandydata bez duplikatów po pozycji dokumentu przyjęcia

Przykład (dane wymyślone) w ośmiu krokach:

  1. Zlecenie 26-1002 obejmuje jednostkę i dwa elementy składowe.
  2. Na terminalu operator przyjmuje oba elementy, a jednostki nie ma w dostawie.
  3. Operator zamyka zlecenie mimo pytania o niekompletność.
  4. Zlecenie dostaje status zamknięcia z różnicami, a procedura wybiera przyjęte elementy, bo żadna jednostka nie została przyjęta.
  5. Powstają dwie sprawy w statusie początkowym oczekiwania na weryfikację, obie z numerem z licznika i bez pozycji uszkodzeń.
  6. Pozycje uszkodzeń dopisuje później człowiek.
  7. Gdy ktoś użyje przycisku „Status” na liście zleceń z różnicami, procedura niczego nie doda, bo obie sprawy już istnieją.
  8. Status zlecenia zmienia się wtedy, bo wynik nie jest odmową.

Stan jednostki przy zwrocie opisuje tekst o protokole stanu przy zwrocie.

Pytania do analizy

  1. Gdzie w procesie powstaje dokument pochodny i czy powstaje także wtedy, gdy zlecenie zamknięto z różnicami?
  2. Czy reguła zakładania dokumentu stoi w jednym miejscu, czy w kilku ekranach i kto ją zmienia?
  3. Co ma się stać ze statusem zlecenia, gdy założenie dokumentu pochodnego się nie powiodło?
  4. Jak sprawdzić, że ponowne wywołanie reguły nie dubluje dokumentów?
FAQ

Pytania i odpowiedzi o sprawę uszkodzeń

01

Kiedy powstaje sprawa uszkodzeń?

Ekran terminala zakłada sprawę po zapisie pozycji, gdy lista pozycji nieprzyjętych jest pusta. Przy zamknięciu zlecenia na terminalu zapytanie zapisu przyjęcia wywołuje po zamknięciu procedurę w trybie cichym. Procedura ustala zlecenie z numeru dokumentu i tylko dla zlecenia zamkniętego, a przerwane zamknięcie nie zakłada sprawy.

02

Dlaczego ścieżka z ekranu nie zakłada sprawy dla zlecenia zamkniętego z różnicami?

Ekran zakłada sprawę tylko wtedy, gdy lista pozycji nieprzyjętych jest pusta. Zlecenie z pozycją nieprzyjętą nie doprowadza listy do zera, dopóki ta pozycja nie zostanie anulowana w edycji zlecenia.

03

Dla których pozycji powstaje sprawa?

Procedura bierze tylko pozycje faktycznie przyjęte, czyli z ilością przyjęcia większą od zera. Gdy przyjęto jednostkę główną, sprawa powstaje tylko dla niej, a w przeciwnym razie dla przyjętych elementów składowych.

04

Co się stanie przy ponownym wywołaniu procedury, na przykład przyciskiem „Status”?

Pozycja z aktywną sprawą dla tego samego zlecenia i tej samej jednostki jest pomijana, a gdy nie zostaje żaden kandydat, procedura zwraca powodzenie i komunikat. Ponowne wywołanie jest pustym przebiegiem, a status zmienia się, bo wynik nie jest odmową.

05

Co dzieje się, gdy założenie sprawy się nie powiedzie?

Przy przycisku „Status” status zlecenia zostaje bez zmiany. Przy zamknięciu na terminalu zlecenie zostaje zamknięte, a niepowodzenie trafia tylko do dziennika niepowodzeń procedury. Procedura cofa wtedy własną transakcję i zwraca odmowę.

Słownik

Słownik pojęć

ZZlecenie przyjęcia
Zlecenie, którego pozycje operator przyjmuje na terminalu; zamyka się je na osobnym ekranie przyjęcia.
ZZamknięcie z różnicami
Jeden z dwóch statusów zamknięcia nadawanych przez procedurę zamykającą; o wyborze decyduje znacznik aktywności pierwszej pozycji bez przyjęcia.
SSprawa uszkodzeń
Dokument zakładany dla przyjętej jednostki albo przyjętych elementów składowych, który startuje w statusie oczekiwania na weryfikację i z pustym zakresem uszkodzeń.
PPozycja faktycznie przyjęta
Pozycja, której ilość przyjęcia jest większa od zera.
PProcedura zakładająca sprawę
Procedura w bazie, która przyjmuje identyfikator zlecenia i login, ma własną transakcję i oddaje wynik powodzenia albo odmowy.
TTryb cichy
Wywołanie tej samej procedury bez własnego zbioru wyników, używane po zamknięciu zlecenia na terminalu.