W opisywanym wdrożeniu zlecenie wydania zapisuje numer zamówienia klienta w polu przy każdej pozycji, a nie w nagłówku. Numer zostaje w polu po przycisku „Dodaj”, więc kolejne pozycje z tego samego zamówienia dostają go bez ponownego wpisywania. Zapis nagłówka nie zmienia numerów pozycji, a formularz wydania podpowiada numer ze zlecenia.
Pole „Nr zamówienia klienta” znajduje się w sekcji „Pozycje”, między ilością a uwagami do pozycji. Przyjmuje do 20 znaków i nie jest wymagane. Numer zapisuje się razem z pozycją przy przycisku „Dodaj”, a puste pole oznacza brak numeru na tej pozycji.
Numer idzie dalej na wydanie: formularz wydania z przeglądarki podpowiada go po wyborze linii zlecenia i pozwala go poprawić. Odróżnia to opisywane wdrożenie od modelu z jednym numerem w nagłówku. W takim modelu cały dokument ma jedno zamówienie, a w opisywanym wdrożeniu każda pozycja może należeć do innego.
Numer zamówienia klienta należy do pozycji, a nie do nagłówka zlecenia
Formularz „Zlecenie wydania z magazynu” zakłada zlecenie wydania, w skrócie ZWZ. Pozycje zapisują się do zlecenia, a nie do dokumentu magazynowego. W modelu z numerem w nagłówku numer jest polem nagłówka zlecenia, tekstem do 20 znaków, a zapis nagłówka wpisuje tę samą wartość na wszystkich pozycjach zlecenia. Dodanie pozycji nie zapisuje w tym modelu żadnego numeru.
W opisywanym wdrożeniu numer jest polem sekcji „Pozycje” i nie występuje w nagłówku. Tabela zestawia oba modele.
| Element | Numer w nagłówku | Numer przy pozycji |
|---|---|---|
| Miejsce numeru | pole nagłówka zlecenia | pole przy każdej pozycji |
| Zapis nagłówka | wpisuje tę samą wartość na wszystkich pozycjach | nie zmienia numerów pozycji |
| Dodanie pozycji | nie zapisuje numeru | zapisuje numer razem z pozycją |
| Długość numeru | tekst do 20 znaków | 20 znaków, pole niewymagane |
Z zestawienia wynika jedna praktyczna różnica. Przy numerze w nagłówku zlecenie dotyczy jednego zamówienia, a przy numerze przy pozycji jedno zlecenie może obejmować artykuły z kilku zamówień.
Numer zapisuje się razem z pozycją i zostaje w polu dla następnej
Przy przycisku „Dodaj” numer zapisuje się razem z pozycją, a puste pole oznacza brak numeru. Po dodaniu pozycji numer zostaje w polu, bo kolejne pozycje zwykle pochodzą z tego samego zamówienia. Pozostałe pola pozycji wracają do wartości domyślnych, a ilość do 1. Zmiana numeru w polu obowiązuje od następnej pozycji.
Numer pozycji już dodanej pozostaje więc taki, jaki stał w polu w chwili kliknięcia przycisku, a osoba zakładająca zlecenie nie musi wracać do pozycji już dodanych po zmianie zamówienia.
Według dokumentacji wdrożenia numer zamówienia ma być zapisywany przy pozycji zamówienia i odczytywany na dokumencie wydania, a osoba zakładająca zlecenie wpisuje go przy każdej pozycji. Opisywane wdrożenie realizuje ten opis polem w sekcji pozycji i podpowiedzią numeru na wydaniu.
- Zapis - numer trafia do bazy razem z pozycją przy „Dodaj”.
- Pole po dodaniu - numer zostaje, a ilość wraca do 1.
Tabela pozycji pokazuje numer w osobnej kolumnie
Tabela pozycji ma kolumnę „Nr zamówienia klienta” obok pięciu kolumn: „Lp”, „Indeks”, „Nazwa”, „Ilość” i „Uwagi”. Osoba zakładająca zlecenie widzi więc przy każdej pozycji jej numer zamówienia i nie musi pamiętać, która pozycja należała do którego zamówienia.
Pozostałe pola formularza pozycji mają własne zasady, a tekst z numeru zamówienia i z uwag jest przed zapisem przekształcany.
- Ilość i lista asortymentu - do listy asortymentu formularz przekazuje identyfikator właściciela towaru, wybrany po wyborze kontrahenta; ilość jest liczbą całkowitą od 1 do 99 999, domyślnie 1.
- Numer zamówienia i uwagi - znak pionowej kreski zamienia się na ukośnik, a apostrof zostaje podwojony, zanim tekst trafi do zapisu.
Zapis nagłówka nie zmienia numerów wpisanych przy pozycjach
Zapis nagłówka, czyli przyciski „Zapisz” i „Bufor”, nie zmienia numerów zamówienia na pozycjach. Zapytanie zapisu nagłówka nie zawiera numeru, więc pozycje zachowują wartości wpisane osobno. Nagłówek zlecenia ma pięć pól, które zestawia tabela.
| Pole nagłówka | Zasada |
|---|---|
| Kontrahent | wymagany, wybierany z listy z wyszukiwaniem |
| Przewoźnik | opcjonalny |
| Termin realizacji | wymagany |
| Uwagi | do 200 znaków |
| Wysoki priorytet | przełącznik |
Kontrahenta wybiera się z listy z wyszukiwaniem („wpisz 2 znaki, aby rozpocząć szukanie”). Przycisk „Dalej” bez kontrahenta pokazuje „wybierz kontrahenta”, a po wyborze odsłania sekcje „Pozycje” i „Podsumowanie”. Dane wspólne dla całego zlecenia są więc w nagłówku, a dane, które mogą się różnić między pozycjami, w sekcji pozycji.
Zlecenie wydania obejmuje pozycje z różnych zamówień klienta, a numer zamówienia jest zapisany przy każdej pozycji osobno.
Przykład (dane wymyślone) pokazuje cały przebieg w czterech krokach:
- Osoba zakładająca zlecenie tworzy Zlecenie 26-1001 dla Kontrahenta A z terminem realizacji w przyszłości.
- Pierwszą pozycję, Artykuł A w ilości 40, opisuje numerem Zamówienie A.
- Po „Dodaj” numer zostaje w polu, więc drugą pozycję, Artykuł B w ilości 15, zapisuje z tym samym numerem.
- Trzecią pozycję, Artykuł C w ilości 10, wiąże z numerem Zamówienie B, zmieniając wartość w polu.
Tabela pokazuje przy każdej pozycji jej numer zamówienia. Zapis nagłówka zatwierdza zlecenie i nie zmienia żadnego z numerów.
Numer zamówienia idzie dalej na wydanie
Numer z pozycji zlecenia idzie dalej na wydanie. Formularz WZ z przeglądarki podpowiada go po wyborze linii zlecenia i można go poprawić. Procedura zapisu pozycji z kolektora kopiuje numer z linii, a numer wpisany na kolektorze ma pierwszeństwo, bo puste pole zapisuje numer z linii. Pozycja wydania dziedziczy więc numer zamówienia, ale operator może go zmienić.
- Wydanie z przeglądarki - numer podpowiada się po wyborze linii zlecenia i można go poprawić.
- Wydanie z kolektora - numer wpisany na kolektorze ma pierwszeństwo, a puste pole zapisuje numer z linii.
Wydanie ze zlecenia z przeglądarki, jego przycisk generujący pozycje i limity ilości opisujemy w artykule o wydaniu ze zlecenia, a przebieg na kolektorze, z numerem zamówienia i numerem kartonów, w tekście o wydaniu z kolektora.
Przed zapisem formularz sprawdza pozycje i termin, a numer dokumentu nadaje przy zatwierdzeniu
Przed zapisem formularz sprawdza, czy zlecenie ma pozycje oraz czy jest ustalony termin realizacji. Przy „Zapisz” pyta potem o zatwierdzenie dokumentu, a przy „Bufor” o zapis w buforze. Komunikaty zestawia tabela.
| Kontrola lub przycisk | Komunikat |
|---|---|
| Zlecenie ma pozycje | „Brak pozycji dokumentu” |
| Jest termin realizacji | „Uzupełnij wymagane informacje” |
| Zapisz | „Czy na pewno chcesz zatwierdzić dokument zlecenia wydania ?” |
| Bufor | „Czy chcesz zapisać dokument w buforze ?” |
Kontrola dokumentów magazynowych przed zapisem w buforze ma osobny opis w artykule o blokadzie bufora zlecenia.
Numer dokumentu zlecenia nadawany jest przy pierwszym zatwierdzeniu z licznika miesięcznego i składa się z czterech elementów: roku, miesiąca, kolejnego numeru i typu. Przy ponownym zapisie zostaje ten sam numer. Numer zamówienia klienta opisuje pozycję, a numer dokumentu całe zlecenie.
- Kontrola przed zapisem - zlecenie ma pozycje i termin realizacji.
- Numer dokumentu - nadawany przy pierwszym zatwierdzeniu, potem bez zmian.
Wzorzec aktualizacji, który nie zeruje numerów na pozycjach, pokazujemy na przykładzie T-SQL w artykule o aktualizacji nagłówka bez zerowania pozycji.
Pytania do analizy
- Jak osoba zakładająca zlecenie rozpoznaje w tabeli pozycji, które pozycje pochodzą z tego samego zamówienia klienta?
- Co oznacza pusty numer na pozycji dla późniejszego wydania, które podpowiada numer z linii zlecenia?
- Którą wartość zapisze pozycja, gdy numer w polu zmieni się w trakcie wpisywania kolejnych pozycji?
- Kiedy zlecenie dostaje numer dokumentu i co dzieje się z tym numerem przy ponownym zapisie?