- Typ dokumentu decyduje o tym, jak zachowa się system: czy dokument zwiększy stan magazynowy, czy go zmniejszy.
- Kolumna
RODZAJgrupuje typy według kierunku obrotu — P dla przychodów, R dla rozchodów. - Trzyznakowy kod z kolumny
KODwchodzi w skład numeru dokumentu i występuje w rejestrach całego systemu. - Kolumna
TYProzdziela obszary działania — M oznacza dokumenty magazynowe.
Do czego służy tabela [dbo].[_typdok]
Przyjęcie zewnętrzne, wydanie na produkcję, przesunięcie międzymagazynowe i korekta różnią się nie formularzem, lecz skutkiem. Jeden zwiększa stan, drugi go zmniejsza, trzeci przenosi towar bez zmiany ilości ogółem. Tabela [dbo].[_typdok] przechowuje definicje tych typów wraz z klasyfikacją decydującą o zachowaniu systemu.
Klasyfikacja jest trójstopniowa. Kolumna TYP wskazuje obszar — dokumenty magazynowe oznaczone są literą M. Kolumna RODZAJ określa kierunek: przychody, rozchody albo operacje wewnętrzne. Kolumna KOD identyfikuje konkretny typ w obrębie rodzaju. Dopiero komplet tych trzech wartości opisuje dokument jednoznacznie.
Trzyznakowy kod ma znaczenie wykraczające poza słownik. Wchodzi w skład numeru dokumentu tworzonego przez licznik, pojawia się w dzienniku zdarzeń i w historii, a także decyduje o dostępie — uprawnienia nadaje się zwykle nie do modułu, lecz do konkretnych typów. Zmiana kodu po wdrożeniu zrywa wszystkie te powiązania naraz.
Kod typu wchodzi w skład numeru dokumentu, więc jego zmiana po wdrożeniu zrywa powiązania z numeracją, historią i uprawnieniami.
Budowa tabeli — wykaz kolumn
Siedem kolumn opisuje typ dokumentu, jego klasyfikację i sposób traktowania przy synchronizacji.
| Kolumna | Typ | Wymagana | Znaczenie |
|---|---|---|---|
ID_TYPDOK | int liczba całkowita | tak | Unikalny identyfikator wiersza tabeli |
KOD | varchar(3) tekst do 3 znaków | tak | Unikalny kod typu dokumentu |
OPIS | varchar(200) tekst do 200 znaków | nie | Opis przeznaczenia |
RODZAJ | varchar(2) tekst do 2 znaków | tak | Oznaczenie grupy rodzajów dokumentów, np. P - przychody, R - rozchody |
SEKCJA | varchar(50) tekst do 50 znaków | tak | Nazwa - opis typu dokumentu |
SYSTEMOWE | bit wartość logiczna 0/1 | tak | Oznaczenie czy dany wiersz jest synchronizowany z bazy ROOT |
TYP | varchar(1) tekst do 1 znaków | tak | Symbol typu dokumentu, M - dokumenty magazynowe |
Kolumna SEKCJA mieści pełną nazwę typu widoczną w interfejsie, a OPIS — objaśnienie przeznaczenia. Rozdzielenie obu pozwala pokazać zwięzłą etykietę na liście i pełniejsze wyjaśnienie w podpowiedzi.
Indeksy i wydajność zapytań
Tabela zawiera zwykle kilkadziesiąt wierszy odczytywanych przy budowaniu list wyboru, więc indeksowanie ogranicza się do klucza głównego.
| Indeks | Kolumny | Rodzaj |
|---|---|---|
PK__typdok | ID_TYPDOK | klucz główny |
Klucz główny na kolumnie ID_TYPDOK jest wystarczający przy tej wielkości. Warto natomiast rozważyć ograniczenie unikalności na kolumnie KOD — kod występuje w numerach dokumentów i w rejestrach, więc jego powtórzenie miałoby skutki wykraczające daleko poza sam słownik.
Typowa klasyfikacja dokumentów magazynowych
Zestaw typów w konkretnym wdrożeniu zależy od procesów firmy, ale pewien trzon powtarza się niemal wszędzie. Poniżej układ spotykany w magazynach obsługiwanych systemem Studio WMS.net.
| Rodzaj | Przykładowe typy | Wpływ na stan |
|---|---|---|
Przychód (P) | Przyjęcie zewnętrzne, przyjęcie z produkcji, zwrot od klienta | Zwiększa stan w lokalizacji docelowej |
Rozchód (R) | Wydanie na zewnątrz, wydanie na produkcję, złomowanie | Zmniejsza stan w lokalizacji źródłowej |
| Wewnętrzny | Przesunięcie międzymagazynowe, zmiana lokalizacji | Przenosi towar bez zmiany stanu ogółem |
| Korekta | Korekta przyjęcia, korekta wydania, wynik inwentaryzacji | Zmienia stan w obie strony, wymaga uzasadnienia |
Rozróżnienie ma skutki praktyczne: dokumenty korygujące zwykle wymagają odrębnych uprawnień i pozostawiają wpis w rejestrze rewizji.
Przy projektowaniu zestawu typów obowiązuje ta sama zasada co przy rolach: lepiej zacząć od kilku i rozbudowywać w miarę potrzeb, niż odwzorować w słowniku każdą sytuację, jaka przyszła komuś do głowy przy analizie przedwdrożeniowej. Typ, który nie został użyty ani razu przez pół roku, zwykle nie był potrzebny — a jego obecność na liście wyboru zwiększa ryzyko pomyłki magazyniera.
Jak korzystać z tabeli w praktyce
Przy definiowaniu typów dokumentów sprawdzają się poniższe zasady:
- Nadawaj kody czytelne dla człowieka —
PZdla przyjęcia zewnętrznego mówi więcej niżD01. - Nie zmieniaj kodu po pierwszym użyciu; występuje w numerach dokumentów, w dzienniku zdarzeń i w uprawnieniach.
- Ograniczaj liczbę typów do faktycznie używanych — każda dodatkowa pozycja na liście wyboru zwiększa ryzyko pomyłki.
- Wypełniaj kolumnę
OPIS, aby magazynier mógł rozstrzygnąć, którego typu użyć, bez pytania przełożonego. - Ustawiaj
RODZAJzgodnie z rzeczywistym kierunkiem obrotu; to od niego zależy wpływ dokumentu na stan. - Przeglądaj okresowo typy nieużywane od kilku miesięcy i wycofuj je z listy wyboru.
Zestawienie typów dokumentów z liczbą wystąpień w dzienniku zdarzeń — podstawa przeglądu nieużywanych pozycji:
SELECT t.KOD,
t.SEKCJA,
t.RODZAJ,
t.OPIS,
COUNT(d.ID__DZIENNIK) AS UZYC_12M
FROM dbo._typdok AS t
LEFT JOIN dbo._dziennik AS d
ON d.TYPDOK = t.KOD
AND d.KIEDY >= DATEADD(YEAR, -1, GETDATE())
GROUP BY t.KOD, t.SEKCJA, t.RODZAJ, t.OPIS
ORDER BY UZYC_12M, t.KOD;
Typy z zerową liczbą użyć na początku wyniku to kandydaci do wycofania — pod warunkiem sprawdzenia, czy nie są przewidziane do procesu uruchamianego raz w roku, na przykład inwentaryzacji.
Słownik typów dokumentów jest jednym z pierwszych elementów ustalanych przy wdrożeniu i jednym z najtrudniejszych do późniejszej zmiany. Godzina poświęcona na przemyślenie go przed startem oszczędza rozmów o tym, dlaczego magazynierzy wybierają zły typ — a te toczą się później miesiącami.
Powiązane tabele i dokumentacja
Typy dokumentów wiążą się z numeracją, uprawnieniami i rejestrami zdarzeń: