W opisywanym wdrożeniu odejście pracownika ma własny zakres arkusza stanu: po zamknięciu cała policzona ilość większa od zera przechodzi do koordynatora jako przesunięcie czekające na potwierdzenie z linku. Likwidację, czyli wycofanie narzędzi ze stanu pracownika, rozlicza osobna ścieżka z pliku, którą zatwierdza dyrektor oddziału.
Odejście pracownika zaczyna się od osobnego zakresu arkusza
Ekran dopisania arkusza zaczyna się od wyboru zakresu. Zakres „Koniec współpracy” stoi na liście obok zakresu dla oddziału i zakresu dla pojedynczego pracownika. Na makiecie poniżej lista pracowników i przyciski „Dopisz” i „Anuluj” pojawiają się po wyborze oddziału, a pole komunikatu wyświetla się pod przyciskami dopiero po kontroli.
Pracownika wybiera się z listy aktywnych kartotek pracowników i koordynatorów w wybranym oddziale. Sam stan narzędzi w magazynie opisujemy na stronie o programie dla narzędziowni. Zakresy „Pracownik” i „Koniec współpracy” korzystają z tej samej procedury dopisania. Różni je zapisany rodzaj arkusza, od którego zależy dalej zamknięcie. Rozstrzygnięcie, co powstanie po zamknięciu, zapisuje się więc już przy dopisaniu jako rodzaj arkusza.
Dopisanie i zamknięcie arkusza działają jak w opisanym spisie, różni je zakres pracownika
Wspólny mechanizm spisu opisujemy osobno, w artykule o mechanice spisu. Należą do niego kopia stanu z chwili dopisania i kontrole przed dopisaniem, które wykonuje przeglądarka, a także oznaczenie kartotek i dokumenty różnic. Zakres „Koniec współpracy” korzysta z tego samego mechanizmu, dlatego nie powtarzamy go tutaj i skupiamy się na tym, co odróżnia odejście pracownika od zwykłego arkusza.
Różnica mieści się w dwóch miejscach.
- Dopisanie - oba zakresy korzystają z tej samej procedury, a różni je tylko zapisany rodzaj arkusza.
- Zamknięcie - rodzaj „Koniec współpracy” dokłada przesunięcie do koordynatora oraz dwie wiadomości w kolejce.
O tym, czy zamknięcie założy przesunięcie, decyduje zapisany rodzaj arkusza. Dla zakresu „Pracownik” przesunięcia do koordynatora nie ma, a dla rodzaju „Koniec współpracy” zamknięcie zakłada je dodatkowo.
Pozycje liczy się na osobnym ekranie, a różnice wyjaśnia w osobnym oknie
Pozycję arkusza wypełnia się na osobnym ekranie, a różnice wyjaśnia się w osobnym oknie. Na ekranie pozycji wpisaną wartość zapisuje klawisz ENTER, który od razu przechodzi do następnej pozycji. Cztery pola z tych dwóch miejsc zestawiamy poniżej.
- Ilość faktyczna - pole przyjmuje liczbę całkowitą.
- Niekompletne - pole wyboru oznacza, że sztuka jest niekompletna, i zapisuje się razem z ilością.
- Rodzaj różnicy - wartość ze słownika, wymagana w oknie różnic.
- Komentarz - wymagany tekst do 500 znaków.
Wymagalność pól w oknie różnic sprawdza przeglądarka. Zapis dopisuje w historii wpis z tytułem „Różnice” i uwagą zaczynającą się od słów „Wyjaśnienie różnic.” Do otwartego arkusza można też dopisać pozycję, także dla kartoteki dopisanej na miejscu. Ilość w systemie wynosi wtedy 0, a wpisana ilość trafia do ilości faktycznej. Wpisane zero w innej pozycji liczy się jako policzone.
Policzona reszta przechodzi do koordynatora jako przesunięcie
Tylko dla rodzaju „Koniec współpracy” zamknięcie zakłada dodatkowo przesunięcie do koordynatora. Przesunięciem objęte są wszystkie pozycje z policzoną ilością większą od zera, a przesuwa się całą policzoną ilość, nie same nadwyżki. Każdą taką pozycję zamknięcie zapisuje jako parę wierszy, z których jeden dotyczy wydania, a drugi przyjęcia, z uwagą „Inwentaryzacja”, bez etapu bufora. Koordynatorem jest przełożony zapisany w kartotece odchodzącego pracownika.
Zamknięcie zapisuje w kolejce wiadomości dwa e-maile. Pierwszy jest adresowany do odchodzącego i zawiera listę pozycji wydania, bez linku. Drugi trafia do koordynatora z tekstem „Proszę o potwierdzenie przyjęcia.” oraz z linkiem do potwierdzenia przyjęcia. Oba wpisy czekają w kolejce na wysłanie.
| Co powstaje przy zamknięciu arkusza Koniec współpracy | Skutek w programie |
|---|---|
| Policzona ilość większa od zera | Przesunięcie do koordynatora czekające na potwierdzenie |
| Wiadomość do odchodzącego | Lista pozycji wydania, bez linku |
| Wiadomość do koordynatora | Link do potwierdzenia przyjęcia |
| Kartoteki i pracownik | Oznaczenie inwentaryzacji zdjęte po zamknięciu |
Stronę otwieraną z linku opisujemy w artykule o potwierdzeniu z linku w wiadomości. Inny sposób zakładania dokumentów w oddziałach opisujemy w artykule o zleceniu transportowym w oddziałach.
Likwidacja z pliku idzie osobną drogą do dyrektora oddziału
Likwidacja zaczyna się od importu pliku z listą pozycji, a nie od arkusza. Do rozchodu trafiają tylko wiersze oznaczone do likwidacji. Procedura odrzuca wiersz komunikatem „Brak kartoteki narzędzia” albo „Brak kartoteki pracownika”, a także komunikatem „Brak nr serii” albo „Stan magazynowy 0”. Osobny komunikat dotyczy numeru pracownika: w pliku musi być dokładnie jeden pracownik.
Rozchód wewnętrzny typu likwidacja obejmuje pełny stan danej serii u pracownika, a nie jedną sztukę. Dokument czeka na potwierdzenie, a wiadomość z linkiem do potwierdzenia likwidacji jest adresowana do dyrektora oddziału. Jego adres pochodzi z kartoteki kontaktów przypisanej do oddziału. Po imporcie ekran raportu pokazuje trzy wartości podsumowania, wśród nich „Pozycje zaimportowane” i „Pozycje dokumentu RW”, a trzecia dotyczy pozycji odrzuconych.
Strona dyrektora pokazuje pozycje dokumentu z przyciskami „Potwierdź” i „Anuluj”. Przycisk „Zatwierdź i wyślij” zamyka dokument: potwierdzone pozycje stają się zatwierdzone, a niepotwierdzone są anulowane. Historia dokumentu dostaje wtedy wpis „Potwierdzenie dokumentu przez dyrektora”.
Przed potwierdzeniem pozycji strona sprawdza w przeglądarce sumę zatwierdzonych ruchów kartoteki i numeru serii u wszystkich pracowników. Komunikat „Blokada zatwierdzenia. Stan magazynowy pozycji = 0.” pojawia się, gdy ta suma wynosi zero.
Co sprawdzić przed zamknięciem arkusza
Ekran zamknięcia ukrywa przycisk „Zamknij”, gdy którejś pozycji brakuje ilości faktycznej. Treść komunikatu zapisujemy poniżej, a [liczba] oznacza liczbę takich pozycji.
„Inwentaryzacja zawiera pozycje bez bilansu otwarcia ([liczba]). Wprowadź stan początkowy dla wszystkich pozycji arkusza. Blokada zamknięcia.”
Przycisk „Pokaż szczegóły” otwiera listę tych pozycji. Wpisane zero liczy się jako policzone, więc pozycja z zerem nie ukrywa przycisku „Zamknij”. Kontrola kompletu ilości działa na ekranie: procedura zamknięcia sama jej nie sprawdza i pomija pozycje bez ilości faktycznej.
Gdy w parametrach systemu brak adresu witryny, ekran zatrzymuje się komunikatem „Brak parametrów serwera proxy!” przed zamknięciem arkusza dowolnego rodzaju.
Przykład (dane wymyślone) w ośmiu krokach:
- Pracownik A z Oddziału 1 kończy współpracę z końcem miesiąca.
- Osoba odpowiedzialna za stan w oddziale dopisuje arkusz w zakresie „Koniec współpracy” i wybiera Pracownika A z listy aktywnych kartotek, a arkusz zawiera 12 pozycji.
- Po policzeniu 11 pozycji się zgadza, jednej brakuje, a jedną dodatkową osoba dopisuje do otwartego arkusza.
- Zamknięcie zapisuje dokumenty różnic: rozchód na jedną sztukę i przyjęcie na jedną.
- Łącznie 12 policzonych sztuk trafia w przesunięciu do Koordynatora A, który dostaje wiadomość z linkiem do potwierdzenia przyjęcia.
- Narzędzie wycofywane ze stanu Pracownika A trafia do osobnego importu likwidacji w Pliku A.
- Rozchód obejmuje pełny stan danej serii u Pracownika A, a wiadomość z linkiem do potwierdzenia likwidacji jest adresowana do dyrektora oddziału.
- Dyrektor oddziału potwierdza pozycje i zamyka dokument przyciskiem „Zatwierdź i wyślij”, po czym potwierdzone pozycje są zatwierdzone.
Pytania do analizy
- Kto jest przełożonym zapisanym w kartotece pracownika i co ma się stać, gdy go zabraknie?
- Które narzędzia rozlicza się arkuszem, a które likwidacją z pliku?
- Jak długo arkusz może pozostać otwarty, skoro oznacza kartoteki znacznikiem inwentaryzacji?
- Kto w oddziale potwierdza przyjęcie, gdy koordynator jest nieosiągalny?