# Jedna lokalizacja produkcyjna w kartotece: znacznik i jego ograniczenie

> Jak kartoteka lokalizacji wskazuje jedno miejsce przyjęć produkcyjnych: pole wyboru z kontrolą w formularzu oraz komunikat terminala, gdy znacznika brak.

Adres strony: https://magazyn.softwarestudio.com.pl/jedna-lokalizacja-produkcyjna/

---

Lokalizacja produkcyjna w opisywanym wdrożeniu to jedno miejsce składowania, które w kartotece lokalizacji oznacza się polem wyboru „Towar na produkcję”. Formularz kartoteki pilnuje, żeby tylko jedna lokalizacja miała taki znacznik: gdy zapytanie do bazy zwróci już oznaczone miejsce, formularz cofa zaznaczenie i pokazuje jego adres. Ten sam znacznik odczytuje terminal przyjęcia produkcyjnego.
W opisywanym wdrożeniu jedną lokalizację produkcyjną wskazuje pole wyboru w kartotece lokalizacji. Formularz nie pozwala zaznaczyć drugiej: cofa zaznaczenie i podaje adres miejsca, które ma już znacznik. Odznaczenie jest zawsze dozwolone, a terminal przy starcie odczytuje oznaczoną lokalizację i używa pierwszego zwróconego wiersza. Terminal kieruje na tę lokalizację pozycje przyjęcia produkcyjnego.

Administrator wykonuje więc jedną czynność w jednym miejscu kartoteki, a skutek tej czynności widać na kolektorze. Odróżnia to opisywane wdrożenie od kartoteki, w której każda lokalizacja może mieć dowolny zestaw atrybutów: tutaj jedno pole wyznacza miejsce docelowe przyjęć produkcyjnych, a ograniczenie liczby takich miejsc sprawdza formularz przy zaznaczaniu. Ogólne zasady podziału magazynu na lokalizacje opisuje strona o [organizacji lokalizacji w magazynie](/organizacja-lokalizacji-w-magazynie/).

## Lokalizacja produkcyjna to jedno pole wyboru w kartotece lokalizacji

Pole wyboru „Towar na produkcję” znajduje się w sekcji „Dane uzupełniające” formularza kartoteki lokalizacji. W opisywanym wdrożeniu pełni ono rolę znacznika lokalizacji przyjęć produkcyjnych: kontrola w formularzu i odczyt na terminalu opierają się na tym polu.

Kartoteka lokalizacji jest rejestrem miejsc składowania, w którym ustawia się ich atrybuty. Znacznik lokalizacji produkcyjnej jest jednym z takich atrybutów, ale w odróżnieniu od innych podlega ograniczeniu: formularz dopuszcza go tylko na jednej lokalizacji. Administrator nie wskazuje więc lokalizacji produkcyjnej na liście wyboru ani w osobnym ekranie, tylko zaznacza pole na karcie wybranego miejsca.

- Pole. „Towar na produkcję” w sekcji „Dane uzupełniające”.
- Rola pola. Znacznik lokalizacji przyjęć produkcyjnych.

## Formularz pyta bazę o oznaczone lokalizacje i cofa zaznaczenie

Przy zaznaczeniu pola skrypt formularza wywołuje w bazie zapytanie i przekazuje mu identyfikator edytowanego wiersza. Jeśli zapytanie zwróci jakąkolwiek lokalizację, zaznaczenie jest cofane, a formularz pokazuje komunikat z adresem pierwszej zwróconej lokalizacji. Administrator widzi zatem albo zapisany stan pola, albo cofnięte zaznaczenie z komunikatem.

Treści zapytania nie podajemy, więc nie opisujemy jego warunków. Tabela zestawia sytuacje przy zaznaczaniu pola i reakcję systemu w każdej z nich.

| Sytuacja | Reakcja |
| --- | --- |
| Zaznaczenie, gdy zapytanie zwraca lokalizację | cofnięcie zaznaczenia i komunikat z adresem |
| Zaznaczenie, gdy zapytanie nic nie zwraca | zaznaczenie zostaje |
| Odznaczenie pola | zawsze dozwolone, bez kontroli |
| Brak oznaczonej lokalizacji | komunikat na terminalu przyjęcia produkcyjnego |

## Terminal przyjęcia produkcyjnego czyta tę lokalizację przy starcie

Terminal przyjęcia produkcyjnego odczytuje lokalizację tym samym zapytaniem, które wywołuje skrypt formularza. Robi to przy starcie transakcji i używa pierwszego zwróconego wiersza, a liczby wierszy nie sprawdza. Gdyby zapytanie zwróciło więcej niż jedną lokalizację, terminal wziąłby pierwszą z nich, więc o wyborze rozstrzygałaby kolejność wyników zapytania. Kontrola w formularzu ma więc praktyczne znaczenie: pilnuje, żeby w kartotece nie było dwóch kandydatów do pierwszego wiersza.

- Odczyt. Jednym zapytaniem, przy starcie transakcji.
- Wybór. Pierwszy zwrócony wiersz.

Przebieg przyjęcia na terminalu, od wyboru zlecenia po zatwierdzenie dokumentu, opisujemy w artykule o [przyjęciu produkcyjnym na kolektorze](https://system.wms.net.pl/przyjecie-produkcyjne-na-kolektorze/). Wartości, które pozycja dostaje w polach palety i partii po stronie przyjęć, opisuje artykuł o [magazynie bez numerów palet i partii](https://www.softwarestudio.com.pl/magazyn-wms-net/konfiguracja-bez-palet-partii-dat/).

## Odznaczenie pola jest zawsze dozwolone

Kontrola dotyczy wyłącznie zaznaczania pola. Odznaczenie jest zawsze dozwolone, więc administrator może zdjąć znacznik z lokalizacji bez żadnego sprzeciwu formularza. Z tej asymetrii wynika sposób zmiany lokalizacji produkcyjnej: najpierw odznacza się pole na lokalizacji, która ma znacznik, a dopiero potem zaznacza je na nowej. Dopóki znacznik stoi na starej lokalizacji, formularz cofa każde nowe zaznaczenie i podaje adres tej starej.

- Odznaczenie. Zawsze dozwolone.
- Zaznaczenie. Podlega kontroli w formularzu.

Formularz nie przenosi znacznika sam, a w tej kolejności wypada krótki czas bez oznaczonej lokalizacji. W tym czasie terminal przyjęcia produkcyjnego nie ma miejsca docelowego. Administrator zmniejsza to okno, wykonując oba zapisy jeden po drugim, a o jego istnieniu warto wiedzieć przy planowaniu zmiany w trakcie przyjęć. Kolejność zmiany pokazuje lista numerowana.

1. Odznacz pole „Towar na produkcję” na lokalizacji, która ma znacznik, i zapisz zmianę.
2. Otwórz kartę nowej lokalizacji.
3. Zaznacz pole „Towar na produkcję” na nowej lokalizacji i zapisz zmianę.

## Przy drugim zaznaczeniu formularz pokazuje komunikat z adresem

Jeśli zapytanie zwróci jakąkolwiek lokalizację, zaznaczenie jest cofane, a komunikat podaje adres pierwszej zwróconej lokalizacji. Komunikat ma stałą część, po której następuje adres miejsca z już ustawionym znacznikiem. Administrator wie więc, od którego miejsca zacząć odznaczanie, ale formularz nie wylicza wszystkich oznaczonych miejsc.

> „Lokalizacja produkcyjna może być tylko jedna. Najpierw odznacz ją na lokalizacji: ” i adres lokalizacji, która ma już znacznik (komunikat formularza kartoteki, zaznaczenie zostaje cofnięte).

Przykład (dane wymyślone): Administrator A otwiera kartotekę Lokalizacji A-02 i zaznacza pole „Towar na produkcję”. Lokalizacja A-01 ma już ten znacznik, więc formularz cofa zaznaczenie i pokazuje komunikat z adresem Lokalizacji A-01. Dalszy ciąg przykładu pokazuje lista numerowana.

1. Administrator A odznacza znacznik na Lokalizacji A-01 i zapisuje zmianę.
2. Wraca do Lokalizacji A-02 i zaznacza pole ponownie.
3. Tym razem zapytanie nie zwraca żadnego miejsca, więc zaznaczenie zostaje.

Gdyby Administrator A spróbował zaznaczyć pole drugi raz bez odznaczania, formularz ponownie cofnąłby zaznaczenie i pokazał ten sam adres. Operator A, który otworzyłby przyjęcie produkcyjne między dwoma zapisami, zobaczyłby komunikat o braku lokalizacji, a po drugim zapisie terminal kierowałby pozycje na Lokalizację A-02.

## Gdy żadna lokalizacja nie jest oznaczona, terminal przerywa transakcję

Gdy zapytanie nic nie zwróci, terminal pokazuje komunikat „Brak lokalizacji przyjęć z produkcji.” i zamyka transakcję po 5 s. Operator nie przyjmie wtedy pozycji przyjęcia produkcyjnego, dopóki administrator nie oznaczy lokalizacji w kartotece. Taka sytuacja zachodzi między odznaczeniem starej lokalizacji a zaznaczeniem nowej oraz w magazynie, w którym znacznika nie ustawiono wcale.

> „Brak lokalizacji przyjęć z produkcji.” (ekran terminala przyjęcia produkcyjnego; okno zamyka się po 5 s)

Granica mechanizmu leży w samym formularzu i w jednym zapytaniu: pole wskazuje lokalizację przyjęć produkcyjnych, kontrola dotyczy zaznaczania, odznaczanie jest swobodne, a terminal korzysta z pierwszego wiersza zapytania. Skrypt formularza przedstawiamy jako element opisywanego wdrożenia i nie twierdzimy, że działa w każdym formularzu kartoteki.

Wydanie na produkcję z oznaczonych miejsc ma osobny opis w artykule o [rozchodzie wewnętrznym z powodem](https://www.programmagazyn.pl/wydanie-na-produkcje-powod-i-lista-lokalizacji/), a składowanie części z wielu stanów w jednej lokalizacji opisujemy w tekście o [palecie MIX](/paleta-mix-z-wielu-stanow/).

## Pytania do analizy

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

1. Czy w procesie klienta potrzebne są dwie lokalizacje produkcyjne w jednym magazynie?
2. Jak administrator sprawdza, która lokalizacja ma dziś znacznik, zanim zaznaczy pole na innej?
3. Co robi operator, gdy komunikat o braku lokalizacji pojawi się w trakcie zmiany?
4. Kto w opisywanym wdrożeniu odznacza znacznik na lokalizacji, która go ma, i w jakim momencie?

## Pytania i odpowiedzi o lokalizacji produkcyjnej

## Słownik pojęć o lokalizacji produkcyjnej

Terminy używane przez administratora i wdrożeniowca, gdy w kartotece wskazuje się jedną lokalizację przyjęć produkcyjnych.
