- Kolumna
ACHwystępuje w większości tabel StudioSystem i mieści jeden znak opisujący stan rekordu — najczęściej 0 (bufor), 1 (zatwierdzony) lub X (usunięty). - Tabela
_achjest słownikiem tych kodów: mówi, co dany znak oznacza i jakim kolorem ma być pokazany w interfejsie. - Kolumna
PRXpozwala zdefiniować odrębne zestawy statusów dla różnych modułów — dokumenty magazynowe mogą mieć inne kody niż lokalizacje. - Znacznik
SYSTEMOWEwskazuje wiersze przenoszone z bazy wzorcowej przy ponownej instalacji, których nie należy modyfikować ręcznie.
Do czego służy tabela [dbo].[_ach]
Pojedynczy znak w kolumnie ACH decyduje o tym, czy dokument jest jeszcze roboczy, czy wszedł już do obiegu. Ten sam mechanizm powtarza się w dokumentach magazynowych, kartotekach, lokalizacjach i zleceniach — dzięki czemu jedna reguła filtrowania działa w całym systemie. Tabela [dbo].[_ach] nadaje tym znakom znaczenie: przechowuje opis kodu oraz wskazanie pliku z kolorem, którym ma być prezentowany.
Rozdzielenie kodu i jego opisu ma praktyczny skutek: zmiana nazwy statusu albo jego koloru nie wymaga ruszania danych operacyjnych ani przebudowy raportów. Wystarczy poprawić jeden wiersz słownika, a wszystkie widoki odwołujące się do niego zmienią się natychmiast.
Typowy zestaw kodów obejmuje 0 — bufor (dokument czeka na zatwierdzenie, kolor szary), 1 — zatwierdzony (dokument wszedł do obiegu, kolor zielony), 2 — w trakcie (operacja rozpoczęta, kolor pomarańczowy) oraz X — usunięty (rekord wycofany, kolor czerwony). Lokalizacje magazynowe używają własnego zestawu, w którym pojawia się m.in. status I oznaczający trwającą inwentaryzację.
Rekordy nie są usuwane fizycznie — zmiana statusu na X zachowuje historię i pozwala odtworzyć stan sprzed operacji.
Budowa tabeli — wykaz kolumn
Tabela jest niewielka, ale każda kolumna pełni w niej wyraźnie określoną rolę. Poniższe zestawienie opisuje pełną strukturę wraz z typami danych i informacją o tym, czy wartość jest wymagana.
| Kolumna | Typ | Wymagana | Znaczenie |
|---|---|---|---|
ACH | varchar(1) tekst do 1 znaków | tak | Unikalny kod do oznaczania stanu wierszy tabel, 0 - bufor, 1- zatwierdzony |
ID_ACH | int liczba całkowita | tak | Unikalny identyfikator wiersza tabeli |
KOLOR | varchar(50) tekst do 50 znaków | nie | Wskazanie pliku do prezentacji danego kodu w tabeli |
LOGIN | varchar(50) tekst do 50 znaków | nie | Nazwa użytkownika dopisującego wiersz w tabeli |
OPIS | varchar(50) tekst do 50 znaków | nie | Opis kodu, co oznacza i do czego służy |
PRX | varchar(5) tekst do 5 znaków | nie | Symbol PRX pozwala definiować różne rodzaje kodów |
STAMP | timestamp znacznik wersji wiersza | tak | Unikalny identyfikator wiersza tabeli |
SYSTEMOWE | bit wartość logiczna 0/1 | tak | Informacja czy dany wiersz w bazie root jest systemowy i będzie kopiowany podczas reinstalacji bazy |
Kolumna KOLOR nie przechowuje wartości szesnastkowej, lecz wskazanie pliku lub klasy stylu użytej do prezentacji kodu w tabelach interfejsu.
Standardowe kody statusów w instalacji podstawowej
Zestaw kodów dostarczany razem z systemem obejmuje statusy wspólne dla dokumentów oraz odrębny zestaw przeznaczony dla lokalizacji magazynowych. Ten drugi jest bardziej szczegółowy, bo lokalizacja bywa czasowo niedostępna z powodów, które nie występują przy dokumentach — na przykład na czas liczenia towaru.
| Kod | Zakres | Znaczenie | Kolor |
|---|---|---|---|
0 | dokumenty | Bufor — zapis roboczy, oczekuje na zatwierdzenie | szary |
1 | dokumenty | Zatwierdzony — dokument wszedł do obiegu | zielony |
2 | dokumenty | W trakcie — operacja rozpoczęta, jeszcze niezakończona | pomarańczowy |
X | wszystkie | Usunięty — rekord wycofany, pozostaje w bazie | czerwony |
0 | lokalizacje | Lokalizacja buforowa — oczekuje na dyspozycję | srebrny |
1 | lokalizacje | Lokalizacja magazynowa w stanie normalnym | zielony |
I | lokalizacje | Lokalizacja w trakcie inwentaryzacji — niedostępna dla innych operacji | jasnoniebieski |
Ten sam znak oznacza co innego w zależności od symbolu PRX, dlatego złączenie ze słownikiem zawsze wymaga obu kolumn.
Kolory pełnią funkcję informacyjną, nie decyzyjną — pozwalają objąć wzrokiem stan całej listy, zanim operator zacznie czytać poszczególne wiersze. W instalacjach, w których lista dokumentów liczy setki pozycji dziennie, to jedyny praktyczny sposób szybkiego wyłapania zapisów, które utknęły w buforze.
Jak korzystać z tabeli w praktyce
Słownik statusów jest odczytywany przy niemal każdym wyświetleniu listy, dlatego w praktyce pracuje się z nim tak:
- Filtruj listy warunkiem
ACH = '1', aby widzieć wyłącznie dokumenty zatwierdzone i pominąć zapisy robocze. - Nie usuwaj wierszy poleceniem
DELETE— nadanie statusuXzachowuje ślad operacji i nie psuje powiązań z innymi tabelami. - Definiując nowy moduł, nadaj mu własny symbol
PRXi dopisz komplet statusów, zamiast rozbudowywać zestaw wspólny. - Przed edycją sprawdź znacznik
SYSTEMOWE— wiersze oznaczone jako systemowe zostaną nadpisane przy ponownej instalacji bazy wzorcowej. - Kolumna
LOGINrejestruje, kto dopisał wiersz słownika, co bywa pomocne przy ustalaniu, skąd wziął się nietypowy kod. - Do raportów podłączaj słownik złączeniem, zamiast zapisywać opisy statusów na sztywno w zapytaniu.
Poniższe zapytanie pokazuje typowe złączenie tabeli operacyjnej ze słownikiem statusów, dzięki któremu raport prezentuje opis zamiast surowego kodu:
SELECT d.NUMERDOK,
d.DDOWOD,
a.OPIS AS STATUS,
a.KOLOR
FROM dbo.dokumenty AS d
LEFT JOIN dbo._ach AS a
ON a.ACH = d.ACH
AND a.PRX = d.PRX
WHERE d.DDOWOD >= DATEADD(DAY, -30, GETDATE())
ORDER BY d.DDOWOD DESC;
Złączenie po dwóch kolumnach — ACH i PRX — jest tu istotne. Bez warunku na PRX dokument magazynowy mógłby otrzymać opis statusu przeznaczonego dla lokalizacji.
Choć tabela zawiera zwykle kilkanaście wierszy, jej poprawna zawartość przekłada się na czytelność całego systemu. Braki w słowniku objawiają się pustymi lub surowymi kodami w kolumnie statusu na listach i w raportach.
Powiązane tabele i dokumentacja
Statusy z tej tabeli pojawiają się w większości struktur StudioSystem. Poniżej dokumentacja tabel, które najczęściej się do nich odwołują: