Rejestr awiz w Studio WMS.net
W Studio WMS.net awizacja dostaw jest osobną sekcją programu z własnym rejestrem. Rejestr dzieli się na dwie części: awiza w buforze oraz awiza zatwierdzone. Bufor przechowuje zgłoszenia, które ktoś wpisał, ale magazyn jeszcze ich nie potwierdził. Po zatwierdzeniu awizo przechodzi do drugiej części i staje się terminem, na który rampa jest zarezerwowana.
Ten sam mechanizm obsługuje dostawy i wysyłki. O kierunku decyduje numer dokumentu: zlecenie przyjęcia ZPZ oznacza dostawę do magazynu, a zlecenie wydania ZWZ wysyłkę do odbiorcy. Dzięki temu dyspozytor widzi na jednej liście wszystko, co w danym dniu dotknie ramp, i nie musi przełączać się między osobnymi rejestrami przyjęć i wydań.
| Etap awizacji | Kto go wykonuje | Co dzieje się w systemie |
|---|---|---|
| Dopisanie awiza | dostawca lub dyspozytor | rezerwacja rampy z godziną i zapis pojazdu w buforze |
| Zatwierdzenie awiza | dyspozytor magazynu | zmiana statusu z bufora na awizo zatwierdzone |
| Wjazd pojazdu | ochrona lub kiosk samoobsługowy | porównanie numeru rejestracyjnego z rezerwacją |
| Rozładunek lub załadunek | zespół rampy | wpis liczby palet potwierdzonych |
Rozdzielenie bufora od awiz zatwierdzonych ma praktyczny sens przy zgłoszeniach od zewnętrznych dostawców. Zgłoszenie z błędną godziną albo nieistniejącą rampą zatrzymuje się w buforze i nie blokuje terminu, dopóki dyspozytor go nie poprawi. Szczegółowy opis samego dokumentu wraz z polami i statusami znajduje się w artykule o polach i statusach awizo dostawy, a tutaj skupiamy się na pracy z rejestrem i siatką ramp.
Formularz dopisania awiza
Nowe awizo dopisuje się z menu opcją „Dopisz nowe awizo”. Program otwiera wtedy okno dopisania, w którym trzeba uzupełnić komplet danych o dostawie lub wysyłce. Formularz jest krótki, bo każde pole ma konkretne zadanie w dalszej obsłudze: jedne wybierają zasób, inne opisują pojazd, jeszcze inne przygotowują późniejsze rozliczenie.
| Pole formularza | Wartość | Do czego służy później |
|---|---|---|
| Magazyn | wybór ze skorowidza | ogranicza listę ramp do obiektu, w którym jest dostawa |
| Kontrahent | nazwa z listy rozwijanej | grupuje awiza w widoku według kontrahentów |
| Awizo | numer ZPZ dla dostawy albo ZWZ dla wysyłki | łączy termin z dokumentem przyjęcia lub wydania |
| Rampa i godzina | rampa oraz godzina dostawy lub wysyłki | zajmuje pole w siatce godzin i ramp |
| Rodzaj operacji | dostawa albo wysyłka | rozdziela ruch przychodzący od wychodzącego |
| Numer rejestracyjny i kierowca | dane pojazdu oraz osoby | weryfikacja na bramie wjazdowej |
| Uwagi | dowolny tekst | informacje dla zespołu rampy |
Pola, które wybiera się ze słowników
Magazyn i kontrahent pochodzą ze słowników, podobnie jak rodzaj operacji, więc operator nie wpisuje ich ręcznie. Ma to znaczenie dla jakości danych: literówka w nazwie dostawcy tworzy w rejestrze drugiego kontrahenta i rozbija historię jego dostaw na dwie części. Wybór z listy eliminuje ten problem u źródła.
Pola opisujące pojazd
Numer rejestracyjny i dane kierowcy są potrzebne dopiero na bramie, ale dobrze podać je od razu przy awizowaniu. Ochrona porównuje wtedy tablicę pojazdu z rezerwacją bez dzwonienia do dyspozytora. Jeśli przewoźnik nie zna jeszcze kierowcy, pole można uzupełnić później; awizo zajmuje swoją rampę od razu.
Reguła: awizo bez rampy i godziny nie rezerwuje niczego. Termin istnieje w siatce dopiero wtedy, gdy oba pola są wypełnione.
Palety deklarowane i potwierdzone
Formularz zawiera dwie liczby palet i to one czynią z awiza narzędzie kontrolne. Ilość palet deklarowanych podaje dostawca lub odbiorca w chwili awizowania. Ilość palet potwierdzonych wpisuje zespół rampy po rozładunku albo załadunku, kiedy wiadomo, ile jednostek faktycznie przeszło przez bramę.
Różnica między tymi dwiema liczbami jest pierwszym sygnałem, że coś poszło inaczej niż w planie. Brakująca paleta w dostawie oznacza reklamację u dostawcy. Nadwyżka oznacza zwykle pomyłkę w dokumencie przewozowym albo dołożony towar, którego nikt nie zgłosił. W obu przypadkach magazyn ma na czym oprzeć rozmowę, bo obie liczby są zapisane przy tym samym awizie.

Poniższy fragment pokazuje, jak taką różnicę wyciąga się z bazy SQL Server. Nazwy tabeli i kolumn są przykładowe i nie odpowiadają schematowi produktu.
-- przykład: awiza zamknięte, w których rozładowano inną liczbę palet niż zgłoszono
SELECT AwizoId,
PaletyDekl,
PaletyPotw,
PaletyPotw - PaletyDekl AS Roznica
FROM dbo.AwizoPrzyklad
WHERE Status = 2 -- 2 = rozładunek zakończony
AND PaletyPotw <> PaletyDekl
ORDER BY ABS(PaletyPotw - PaletyDekl) DESC;
Zestawienie tego typu warto uruchamiać raz dziennie i traktować jak listę zadań do wyjaśnienia. Jeśli rozbieżności powtarzają się u jednego dostawcy, problemem jest zwykle sposób liczenia palet po jego stronie, a nie pojedyncza pomyłka na rampie.
Awiza według kontrahentów
Drugi widok rejestru grupuje awiza według klientów. Lista kontrahentów nie jest stała, tylko buduje się dynamicznie. Zależy od liczby aktywnych dostawców oraz od tego, czy mają dopisane awizo transportu w systemie. Kontrahent bez żadnego dokumentu awizacji na liście się nie pojawia.
Kliknięcie nazwy kontrahenta pokazuje na pulpicie zestawienie jego awiz. Z tego poziomu można dopisać nowy dokument albo przejrzeć dane już wprowadzone. Widok sprawdza się przy rozmowie z dostawcą: dyspozytor ma przed sobą historię zgłoszeń i może wskazać konkretne awizo, które przyjechało po terminie. Podobny układ opisujemy szerzej na stronie o awizach według klientów.
Dynamiczna lista kontrahentów
Dynamiczna lista oznacza, że nikt jej nie utrzymuje ręcznie. Zapytanie do bazy zwraca kontrahentów, którzy mają choć jedno awizo, więc lista rośnie razem z liczbą dostawców korzystających z awizacji. Uproszczony odpowiednik takiego zapytania wygląda następująco.
-- przykład: kontrahenci z co najmniej jednym awizem oraz liczba ich awiz
SELECT k.KontrahentId, k.Nazwa, COUNT(*) AS LiczbaAwiz
FROM dbo.KontrahentPrzyklad AS k
JOIN dbo.AwizoPrzyklad AS a ON a.KontrahentId = k.KontrahentId
GROUP BY k.KontrahentId, k.Nazwa
ORDER BY k.Nazwa;
Ten sam wzorzec działa przy raportach punktualności. Wystarczy dołożyć do zapytania różnicę między godziną awizowaną a godziną wjazdu, a zestawienie według kontrahentów zamienia się w ranking terminowości dostawców.
Siatka godzin i ramp
Sekcja „Transport do magazynu” pozwala dopisać transport bezpośrednio do wybranego magazynu, a w nim do konkretnej rampy i godziny. Operator zaczyna od wyboru magazynu. Po tym wyborze na pulpicie pojawia się tabela czasu pracy: wiersze odpowiadają godzinom, a kolumny rampom dostępnym w tym magazynie. W komórkach widać awiza dostaw i wysyłek, które już zajęły swoje pola.

Nowe awizo dopisuje się przez kliknięcie pola, które wyznacza godzinę i rampę, a następnie przycisk DOPISZ albo podwójne kliknięcie tego samego pola. Otwiera się formularz z częściowo wypełnionymi danymi. Dzień i magazyn są już ustawione, podobnie jak rampa z godziną. Operator uzupełnia dane kontrahenta i numer awiza, potem wpisuje liczby palet, a na końcu podaje pojazd z kierowcą i ewentualne uwagi.
Godzina w siatce jest jednostką rezerwacji. Awizo zajmuje jedno pole, więc dłuższa obsługa, na przykład rozładunek kilkudziesięciu palet luzem, wymaga świadomej decyzji: dyspozytor rezerwuje kolejne pole na tej samej rampie albo umawia pojazd na godzinę o mniejszym ruchu. Program nie zgaduje czasu obsługi, tylko pokazuje, które pola są wolne.
Zaletą takiego układu jest to, że konflikt widać, zanim powstanie. Zajęte pole jest oznaczone w siatce, więc dyspozytor nie musi sprawdzać w rejestrze, czy ktoś inny nie zarezerwował tej samej rampy na tę samą godzinę. Ta kontrola powinna mieć jednak swoje odbicie w bazie, bo dwóch operatorów może kliknąć to samo wolne pole w tej samej sekundzie.
Ochrona przed podwójną rezerwacją
Najprostszym zabezpieczeniem jest unikalny indeks obejmujący rampę w danym magazynie oraz termin, czyli dzień z godziną. Baza odrzuci drugi zapis, niezależnie od tego, co pokazywał ekran w chwili kliknięcia. Indeks filtrowany pozwala pominąć awiza anulowane, żeby anulowany termin można było zająć ponownie. Składnię opisuje dokumentacja Microsoft o tworzeniu indeksów unikalnych.
-- przykładowy schemat, nie schemat produktu
CREATE TABLE dbo.AwizoPrzyklad (
AwizoId int IDENTITY(1,1) PRIMARY KEY,
MagazynId int NOT NULL,
RampaId int NOT NULL,
Dzien date NOT NULL,
Godzina time(0) NOT NULL,
KontrahentId int NOT NULL,
RodzajOperacji char(1) NOT NULL CHECK (RodzajOperacji IN ('D', 'W')),
Status tinyint NOT NULL DEFAULT 0, -- 9 = anulowane
PaletyDekl int NOT NULL,
PaletyPotw int NULL
);
CREATE UNIQUE INDEX UX_AwizoPrzyklad_Slot
ON dbo.AwizoPrzyklad (MagazynId, RampaId, Dzien, Godzina)
WHERE Status < 9;
Aplikacja powinna łapać błąd naruszenia indeksu (w SQL Server numery 2601 i 2627) i pokazać operatorowi komunikat o zajętym terminie. Wtedy drugi użytkownik widzi jasną informację zamiast cichej podwójnej rezerwacji.
Od awiza do bramy i rozładunku
Dane wpisane w formularzu nie są jednorazowe. Numer rejestracyjny pojazdu i deklarowana liczba palet trafiają do rejestru transportów i pracują dalej: przy odprawie na bramie wjazdowej oraz przy rozliczeniu rozładunku. Ochrona i obsługa rampy widzą te same dane, więc nikt nie pyta kierowcy drugi raz o szczegóły dostawy.
Weryfikacja na bramie jest prosta, bo sprowadza się do porównania dwóch rzeczy: tablicy pojazdu i awiza zatwierdzonego na dany dzień. Pojazd bez awiza nie ma rezerwacji, więc ochrona kieruje go do dyspozytora, który decyduje, czy dopisać awizo od ręki, czy odesłać kierowcę na późniejszy termin. Taki transport traktuje się osobno, bo zaburza plan pozostałych rezerwacji, a artykuł o transporcie nieawizowanym opisuje tę sytuację szerzej.
Kierowca, który zna przydzielone okno czasowe, nie stoi w kolejce przed bramą. Skraca to postój taboru i ogranicza zatory na placu manewrowym. Skutek widać najlepiej w godzinach szczytu, gdy do tej samej rampy zbliżają się dwa pojazdy: siatka pokazuje wcześniej, że drugi z nich powinien dostać inną bramę albo inną godzinę.
Powiązanie z dokumentami przyjęcia
Numer ZPZ zapisany w awizie wiąże termin z dokumentem, na którego podstawie magazyn przyjmie towar. Po rozładunku operator wpisuje palety potwierdzone i przechodzi do właściwego przyjęcia. Jak wygląda ta część procesu po stronie magazynu, opisuje artykuł o awizacjach dostaw do magazynu.
Wysyłki w tej samej siatce
Awizo wysyłki korzysta z identycznego formularza i z tej samej siatki. Różni się rodzajem operacji oraz numerem ZWZ, a znaczenie liczb palet się odwraca: deklarowaną podaje odbiorca albo przewoźnik, potwierdzoną wpisuje zespół, który faktycznie załadował pojazd. Dzięki wspólnej siatce magazyn nie planuje przyjęć i wydań osobno, tylko widzi, że dwa pojazdy o tej samej godzinie konkurują o jedną rampę, niezależnie od kierunku ruchu.
Rampa jako zasób magazynu
Rampa w siatce jest zasobem o ograniczonej przepustowości, więc awizacja pokazuje obciążenie placu na cały dzień z góry. Kiedy zaczyna brakować wolnych godzin, magazyn widzi to przy planowaniu, a nie o dziewiątej rano na bramie. Zasady rezerwowania doków i ich pojemności omawia tekst o rezerwowaniu doków magazynowych, a przydział bram do pojazdów - artykuł o zarządzaniu dokami w magazynie.
Kiedy wystarczy moduł w WMS, a kiedy VSS.net
Awizacja wbudowana w WMS obsługuje rejestr z formularzem oraz siatkę ramp. Pokrywa potrzeby magazynu, który sam wpisuje awiza albo przyjmuje je od niewielkiej liczby dostawców. Ograniczenia zaczynają się tam, gdzie dostawcy mają rezerwować terminy samodzielnie przez przeglądarkę, a magazyn potrzebuje powiadomień i kalendarza, a do tego kontroli pojemności bram.
Takie wymagania spełnia osobny moduł awizacji. W ofercie SoftwareStudio jest to Studio VSS.net, który współpracuje z Studio WMS.net na wspólnej bazie SQL. Jego działanie od strony produktu opisuje artykuł o module awizacji VSS.net, a mechanikę statusów i zbiorczych zmian - tekst o statusach awizacji dostaw.
| Potrzeba | Awizacja w Studio WMS.net | Osobny moduł VSS.net |
|---|---|---|
| Wpisywanie awiz przez dyspozytora | tak, przez formularz z siatką ramp | tak - z kalendarzem i widokami dla wielu magazynów |
| Rezerwacja terminu przez dostawcę | brak w opisanym zakresie | tak, przez przeglądarkę |
| Przejście do przyjęcia towaru | bezpośrednie, na tej samej bazie | przez wymianę danych z WMS |
Wybór zależy od liczby dostawców i od tego, kto ma wpisywać terminy. Przy małym i stałym gronie dostawców wystarcza moduł w WMS. Gdy terminy rezerwują dziesiątki zewnętrznych firm, lepiej przenieść ten ruch do portalu z kalendarzem. Platforma awizacyjna dla takiego scenariusza jest dostępna także jako awizowanie w powiązaniu z WMS. Kwestie okien czasowych, w które dostawcy się wpisują, opisuje strona o oknie czasowym, a dane ładunku dla samego awiza - artykuł o awizacji ładunków.
Jeśli dostawa obejmuje palety zwrotne, warto od razu powiązać awizo z ewidencją opakowań. Odpowiedni przebieg pokazuje strona o awizie dostawy palet, a dokumenty magazynowe, które powstają po rozładunku, zestawia artykuł o dokumentach magazynowych.


