# Terminal przyjęcia z wieloma pozycjami zlecenia: poprzednia i następna

> Jak terminal przyjęcia pokazuje linie zlecenia: przyciski poprzednia i następna zmieniają tylko widok, a o zapisie rozstrzyga skan kodu EAN w całym zleceniu.

Adres strony: https://magazyn.softwarestudio.com.pl/terminal-przyjecia-poprzednia-nastepna-pozycja/

---

Terminal przyjęcia ze zlecenia na kilka linii pokazuje w opisywanym wdrożeniu wszystkie pozostałe linie zlecenia i pozwala przełączać wyświetlaną linię przyciskami „Poprzednia pozycja” i „Następna pozycja”. Skan kodu EAN nadal szuka linii w całym zleceniu, a po zapisie ekran zostaje na linii, na której coś jeszcze zostało.
W opisywanym wdrożeniu przyciski przełączają wyłącznie wyświetlaną linię: nie zapisują niczego, tylko podmieniają nazwę i indeks artykułu na ekranie. Skan kodu EAN nie jest związany z wyświetloną linią, bo zapytanie przeszukuje pozycje całego zlecenia. Zapis powstaje dopiero po potwierdzeniu ilości.

Wyróżnia to opisywane wdrożenie od ekranu, na którym wyświetlona linia jest jedyną, którą operator może przyjąć. Tutaj ekran służy do orientacji w zleceniu, a o tym, którą linię przyjmie zapis, rozstrzyga skan. Ogólny opis przyjęć w programie zawiera strona o [przyjęciach towaru do magazynu](/przyjecia-towaru-do-magazynu/).

## Zlecenie na kilka linii wymaga przełączania linii na ekranie kolektora

Terminal „Przyjęcie do magazynu” realizuje zlecenie przyjęcia (ZPZ), z którego powstaje przyjęcie PZ, domyślnie z rejestrem PZ i typem PZ. W trybie listy zlecenie wybiera się z listy z wyszukiwarką, która odświeża się 500 ms po ostatnim znaku. W pozostałych trybach terminal bierze pierwsze zlecenie z kolejki, a gdy go nie ma, pokazuje „Brak zleceń do realizacji!” i po 3 s przeładowuje stronę.

Po wyborze zlecenia ekran pokazuje dwa pola tylko do odczytu, „Nazwa asortymentu” i „Indeks asortymentu” bieżącej linii, obok pól „Kod EAN” i „Numer zlecenia”. U dołu stoi stały pasek z trzema przyciskami. Przyciski mają etykiety „Poprzednia pozycja” (czerwony), „Następna pozycja” (zielony) i „Zakończ”. „Zakończ” jest jasny i stoi w osobnym wierszu pod dwoma pozostałymi.

| Element ekranu | Zachowanie |
| --- | --- |
| „Poprzednia pozycja” | przełącza wyświetlaną linię wstecz, z zawijaniem listy |
| „Następna pozycja” | przełącza wyświetlaną linię do przodu, z zawijaniem listy |
| Skan kodu EAN | szuka linii w całym zleceniu i przełącza ekran na zeskanowaną |
| ENTER w polu ilości | zapisuje pozycję |
| „Zakończ” | „tak” zatwierdza dokument, „nie” przeładowuje stronę nadrzędną i zostawia dokument w buforze |

## Lista pozostałych linii pochodzi z jednego zapytania o zlecenie

Lista linii pochodzi z jednego zapytania. Obejmuje linie zatwierdzonego zlecenia z ilością pozostałą większą od zera, z oddziału i magazynu użytkownika, a parametrem zapytania jest numer referencyjny zlecenia. Linia, która została w pełni przyjęta, znika więc z listy, po której przełączają przyciski.

Operator nie widzi na liście linii wyczerpanych i nie może ich przełączyć przyciskami. Ilość pozostała nie pojawia się przy przełączaniu: ekran pokazuje tylko nazwę i indeks, a wartość „pozostało” trafia do pola ilości dopiero po skanie kodu EAN.

- Zakres listy. Linie zatwierdzonego zlecenia z ilością pozostałą większą od zera.
- Parametr zapytania. Numer referencyjny zlecenia.

## Dwa przyciski przełączają wyświetlaną linię i zawijają listę

Przełączanie zawija listę. Po ostatniej linii „Następna pozycja” wraca do pierwszej, a przed pierwszą „Poprzednia pozycja” przechodzi do ostatniej. Przełączenie nie zapisuje niczego. Podmienia nazwę i indeks wyświetlanej linii oraz chowa kroki ilości i lokalizacji. Czyści też kod EAN i identyfikator asortymentu, a fokus ustawia w polu kodu EAN.

Po każdym przełączeniu operator zaczyna więc od nowa od skanu. Pole kodu EAN jest puste i aktywne, a kroki ilości i lokalizacji są ukryte, dopóki skan nie wskaże linii. Przyjęcie ze zlecenia, w którym jedna linia kończy się zapisem i zatwierdzeniem dokumentu, opisujemy w artykule o [przyjęciu produkcyjnym na kolektorze](https://system.wms.net.pl/przyjecie-produkcyjne-na-kolektorze/).

## Skan kodu EAN szuka w całym zleceniu, a nie na wyświetlonej linii

Skan kodu EAN nie jest związany z wyświetloną linią: zapytanie przeszukuje pozycje całego zlecenia. Parametrami są numer referencyjny zlecenia i kod EAN, a terminal bierze pierwszy wiersz. Zapytanie nie ma warunku na ilość pozostałą. Po trafieniu pola „Indeks” i „Nazwa” pokazują zeskanowaną linię. Zapis dotyczy linii zeskanowanej, a nie linii wyświetlonej przyciskami.

Po trafieniu pole ilości dostaje wartość „pozostało” z linii, a maksimum jest równe tej wartości. ENTER zatwierdza podpowiedź, operator może wpisać mniej, a więcej blokuje komunikat „Ilość musi być mniejsza bądź równa [ilość pozostała]!”. Kod spoza zlecenia daje komunikat „Kod EAN produktu nie znajduje się na dokumencie!”, a puste pole komunikat „Uzupełnij kod EAN produktu!”.

- Skan. Przeszukuje pozycje całego zlecenia.
- Zapis. Dotyczy linii zeskanowanej, a nie wyświetlonej.

Dla operatora wynika z tego prosta zasada: o tym, którą linię przyjmie zapis, decyduje zeskanowany kod, a nie linia widoczna na ekranie. Przyciski pomagają odnaleźć artykuł w zleceniu, ale nie ograniczają skanu. Wydanie na kolektorze, które ma własną kolejność kroków, opisujemy w artykule o [wydaniu z kolektora](/wydanie-z-kolektora-numer-zamowienia-i-kartonow/).

## Po zapisie ekran wraca na tę samą linię albo na pierwszą z listy

Po zapisie pozycji terminal odświeża listę i zostaje na tej samej linii, jeśli ma jeszcze pozostałą ilość. Jeśli nie ma, pokazuje pierwszą linię z listy. Zapis pozycji jest jednym wywołaniem, w którym numer nośnika i numer partii mają wartość „BRAK”. Wartości stałe w zapisie pozycji opisujemy w artykule o [magazynie bez numerów palet i partii](https://www.softwarestudio.com.pl/magazyn-wms-net/konfiguracja-bez-palet-partii-dat/).

Zlecenie na kilka wyrobów pokazuje więc po zapisie bieżącą linię, dopóki ma ona czego przyjąć, a potem przechodzi do pierwszej z pozostałych. Operator nie musi sam wracać do listy, żeby zobaczyć kolejną linię.

- Linia z resztą. Ekran zostaje na tej samej linii.
- Linia bez reszty. Ekran pokazuje pierwszą linię z listy.

Przykład (dane wymyślone): Zlecenie 26-1001 ma trzy linie: Artykuł A (pozostało 40), Artykuł B (pozostało 25) i Artykuł C (pozostało 10). Operator A wybiera zlecenie z listy i widzi linię Artykułu A. Dalszy ciąg przykładu pokazuje lista numerowana.

1. Operator A naciska „Następna pozycja” i widzi Artykuł B.
2. Skanuje kod EAN Artykułu C, a ekran przełącza się na tę linię, bo skan przeszukuje całe zlecenie.
3. Terminal podstawia ilość 10, a Operator A zatwierdza ją klawiszem ENTER i zapisuje pozycję.
4. Linia Artykułu C ma teraz pozostało 0, więc znika z listy, a ekran pokazuje pierwszą z dwóch pozostałych linii.

## Zatwierdzenie dokumentu następuje, gdy lista linii się opróżni

Gdy po zapisie nie zostaje żadna linia, terminal sam zatwierdza dokument PZ, nadając mu numer z licznika miesięcznego, i pyta: „Dokument został zatwierdzony” oraz „Czy chcesz zrealizować nowy dokument?”. „Tak” czyści ekran pod nowy dokument, a każda z trzech dróg wyjścia („Nie”, „Anuluj”, zamknięcie okna) przeładowuje stronę nadrzędną terminala. Gdy zatwierdzenie się nie powiedzie, zamiast pytania pojawia się okno „Komunikat” z treścią zwróconą przez procedurę.

> „Dokument został zatwierdzony. Czy chcesz zrealizować nowy dokument?” - komunikat po ostatniej linii; w kodzie składa się z dwóch wierszy.

Przycisk „Zakończ” po przyjęciu przynajmniej jednej pozycji pyta „Czy chcesz zatwierdzić dokument?”. „Tak” zatwierdza dokument, a każda z trzech dróg wyjścia („Nie”, „Anuluj”, zamknięcie okna) woła przeładowanie strony nadrzędnej. Pozycje zapisane z terminala zostają w buforze, więc dokument nie traci ich po odpowiedzi „Nie”. Bez żadnej przyjętej pozycji „Zakończ” od razu przeładowuje stronę nadrzędną. Blokadę zlecenia, które ma już dokumenty magazynowe, opisujemy w artykule o [blokadzie bufora zlecenia](https://system.wms.net.pl/zlecenie-zablokowane-dokumentem-magazynowym/).

## Pytania do analizy

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

1. Czym różni się linia wyświetlona przyciskami od linii zeskanowanej i która z nich trafia do zapisu?
2. Co operator widzi na ekranie po przełączeniu linii, a czego nie widzi, na przykład ilości pozostałej?
3. Co dzieje się z dokumentem, gdy operator odpowie „Nie” na pytanie przy „Zakończ”?
4. Którą linię pokazuje ekran po zapisie, gdy na zapisanej linii nie zostało nic do przyjęcia?

## Pytania i odpowiedzi o terminalu przyjęcia

## Słownik pojęć o terminalu przyjęcia

Terminy używane przez operatora i wdrożeniowca, gdy terminal przyjęcia prowadzi zlecenie z wieloma liniami.
