Awizacja dostawy jako plan dostaw dnia
Pojedyncza awizacja dostawy informuje magazyn, że konkretny pojazd przywiezie konkretny towar w określonym oknie czasowym. Dopiero zbiór wszystkich awizacji na jeden dzień tworzy plan, z którego korzysta kierownik przyjęć. Widzi w nim, ile pojazdów wjedzie w każdej godzinie i kiedy zbiegną się szczyty obłożenia.
Tradycyjny sposób oparty na telefonie i e-mailu do portierni nie daje takiego obrazu. Informacje rozsypują się po skrzynkach i notatkach, a kolizje wychodzą dopiero wtedy, gdy trzy pojazdy stoją przy jednej bramie. System awizacji dostaw zbiera zgłoszenia w jednej bazie i przydziela każdemu slot z puli okien czasowych.
Ten tekst skupia się na planowaniu: jak z zatwierdzonych zgłoszeń zbudować harmonogram dostaw i jak go pilnować w ciągu zmiany. Sam moment wjazdu i obsługę kierowcy opisuje artykuł o awizacji kierowcy, a przyjęcie towaru po rozładunku - strona o awizacjach dostaw do magazynu.
| Dane z awizacji | Decyzja w planie dnia | Kto z niej korzysta |
|---|---|---|
| okno czasowe i rampa | rezerwacja slotu, kontrola kolizji z innymi dostawami | planista przyjęć |
| liczba jednostek i typ nośnika | długość okna, wybór sprzętu do rozładunku | brygadzista przyjęć |
| numer zamówienia zakupu | kontrola dostawcy i ilości przed przyjazdem | dział zakupów |
| numer rejestracyjny i kierowca | lista oczekiwanych pojazdów przy bramie | portiernia |
Reguła: plan dnia jest poprawny wtedy, gdy w żadnej godzinie suma czasu obsługi zgłoszonych dostaw nie przekracza zdolności przeładunkowej danej rampy.
Zasada wygląda banalnie, ale jej egzekwowanie wymaga danych. Potrzebna jest liczba ramp dostępnych jednocześnie oraz czas rozładunku dla każdego typu dostawy. Kolejne sekcje pokazują, skąd te dane pochodzą i jak system z nich korzysta.
Zgodność awizacji z zamówieniem zakupu
Awizacja bez odniesienia do zamówienia to anonimowa wizyta pojazdu. Magazyn wie, że ktoś przyjedzie, ale nie wie, czego ma oczekiwać ani czy towar jest w ogóle zamówiony. Zgłoszenie powinno wskazywać numer zamówienia zakupu, a system sprawdza je względem danych z ERP.
W VSS.net integracja z ERP przebiega przez REST API albo pliki EDI. System pobiera zamówienia zakupu i tworzy z nich propozycje awizacji, które dostawca potwierdza w portalu przeglądarkowym. Taki układ ogranicza ręczne przepisywanie i od razu wiąże wizytę z konkretną pozycją zamówienia.
Kontrole przed zatwierdzeniem
Zatwierdzenie awizacji może być poprzedzone kilkoma sprawdzeniami. Każde z nich odpowiada na inny typ błędu, który w przeciwnym razie wyszedłby dopiero przy rampie.
| Kontrola | Warunek zgodności | Skutek przy niezgodności |
|---|---|---|
| dostawca | nadawca zgłoszenia jest dostawcą z zamówienia | awizacja zostaje w buforze do decyzji planisty |
| pozycje | zgłoszone indeksy występują w zamówieniu | pozycja obca jest oznaczana do wyjaśnienia |
| ilość | suma awizacji nie przekracza ilości pozostałej do dostawy | nadwyżka wymaga akceptacji zakupów |
| termin | data okna mieści się w terminie dostawy z zamówienia | ostrzeżenie o dostawie przed terminem lub po nim |
Kontrolę ilości najłatwiej zrozumieć na zapytaniu. Poniższy przykład zestawia ilość pozostałą do dostarczenia z sumą zgłoszoną w awizacjach, które są w buforze lub zatwierdzone. Nazwy tabel są umowne i nie odpowiadają schematowi produktu.
SELECT p.NrZamowienia,
p.Indeks,
p.IloscZamowiona - p.IloscPrzyjeta AS Pozostalo,
SUM(pa.Ilosc) AS Awizowano
FROM dbo.PozycjaZamowienia AS p
JOIN dbo.PozycjaAwizacji AS pa ON pa.PozycjaZamowieniaId = p.Id
JOIN dbo.Awizacja AS a ON a.Id = pa.AwizacjaId
AND a.Ach IN ('0', '1') -- bufor lub zatwierdzona
GROUP BY p.NrZamowienia, p.Indeks, p.IloscZamowiona, p.IloscPrzyjeta
HAVING SUM(pa.Ilosc) > p.IloscZamowiona - p.IloscPrzyjeta;
Wynik zawiera wyłącznie pozycje, w których dostawcy zgłosili więcej, niż zamówiono. Kolumna Ach przechowuje status rekordu: 0 oznacza bufor, 1 zatwierdzenie, a anulowanie zapisuje się jako X. Składnię grupowania i filtrowania po agregacie opisuje dokumentacja GROUP BY w Microsoft Learn.
Obłożenie ramp i długość okna czasowego
Liczba zgłoszeń w godzinie nie mówi jeszcze, czy rampa da radę. Dwie dostawy po dwie palety zajmują rampę krócej niż jedna dostawa drobnicy w kartonach. Plan opiera się na czasie obsługi, a nie na liczbie pojazdów.
Prosty model liczy czas okna jako sumę części stałej i części zależnej od ładunku. Część stała obejmuje dokowanie i formalności, a część zmienna wynika z liczby jednostek pomnożonej przez czas obsługi jednej jednostki. Oba parametry wyznacza się z historii wizyt. Przykładowo dla założenia 10 minut stałych i 2 minut na paletę okno dla 24 palet trwa 58 minut, ale te wartości są ilustracją, nie normą.

Parametry jednostkowe wylicza się z historii przyjęć. Poniższe zapytanie liczy średni czas rozładunku przypadający na jedną paletę, z pominięciem wizyt bez pomiaru. Funkcję różnicy czasu opisuje dokumentacja DATEDIFF.
SELECT AVG(DATEDIFF(MINUTE, a.RozladunekOd, a.RozladunekDo) * 1.0
/ NULLIF(a.LiczbaPalet, 0)) AS MinutNaPalete
FROM dbo.Awizacja AS a
WHERE a.RozladunekDo IS NOT NULL
AND a.TypDostawy = 'paleta';
Poza rampą planista musi uwzględnić zasoby, które ograniczają przepustowość niezależnie od liczby bram. Zestawienie poniżej pokazuje cztery takie ograniczenia.
| Zasób | Ograniczenie | Wpływ na plan dnia |
|---|---|---|
| rampy | liczba bram obsługiwanych równolegle | górna granica liczby okien w tej samej godzinie |
| obsada wózków | liczba operatorów na zmianie | skraca lub wydłuża czas rozładunku |
| strefa przyrampowa | miejsce odkładcze na rozładowane palety | blokuje kolejne okno, gdy brakuje miejsca |
| kontrola przyjęcia | liczba stanowisk weryfikacji jakości | tworzy kolejkę za rampą, nawet gdy rampa jest wolna |
Ostatni wiersz bywa pomijany. Rampa bywa wolna, choć towar nadal stoi, bo kontrola jakości nie nadąża. Wtedy zwiększanie liczby okien pogarsza sytuację zamiast ją poprawiać.
Kontrola obłożenia w bazie danych
Harmonogram ma sens tylko wtedy, gdy system odrzuca rezerwację, która przekroczyłaby limit. Sprawdzenie musi być wykonane w tej samej transakcji, w której powstaje rekord awizacji. W przeciwnym razie dwaj przewoźnicy zajmą ostatni slot w tej samej sekundzie.
Do podglądu obłożenia wystarczy zapytanie agregujące po godzinach. Przykład poniżej sumuje palety w godzinach wybranego dnia i wskazuje te, w których przekroczono przykładowy limit.
DECLARE @dzien DATE = '2026-10-05';
SELECT DATEPART(HOUR, a.OknoOd) AS Godzina,
COUNT(*) AS Awizacje,
SUM(a.LiczbaPalet) AS Palety
FROM dbo.Awizacja AS a
WHERE a.OknoOd >= @dzien
AND a.OknoOd < DATEADD(DAY, 1, @dzien)
AND a.Ach IN ('0', '1')
GROUP BY DATEPART(HOUR, a.OknoOd)
HAVING SUM(a.LiczbaPalet) > 60 -- limit palet na godzinę, wartość przykładowa
ORDER BY Godzina;
Podgląd nie chroni jednak przed wyścigiem. Przy zapisie nowej awizacji trzeba zablokować wiersz okna, odczytać wolną pojemność i dopiero wtedy wstawić rekord. Służy do tego blokada aktualizacji z wymuszonym poziomem serializacji. Sposób działania poziomów izolacji opisuje dokumentacja SET TRANSACTION ISOLATION LEVEL.
BEGIN TRAN;
DECLARE @wolne INT;
SELECT @wolne = o.Pojemnosc - o.Zajete
FROM dbo.OknoCzasowe AS o WITH (UPDLOCK, HOLDLOCK)
WHERE o.Id = @oknoId;
IF @wolne >= @liczbaPalet
BEGIN
UPDATE dbo.OknoCzasowe SET Zajete = Zajete + @liczbaPalet WHERE Id = @oknoId;
INSERT dbo.Awizacja (OknoId, LiczbaPalet, Ach) VALUES (@oknoId, @liczbaPalet, '0');
COMMIT;
END
ELSE
ROLLBACK;
Reguła: sprawdzenie wolnej pojemności i zapis rezerwacji należą do jednej transakcji, a wiersz okna jest zablokowany do jej zakończenia.
Klient, któremu zabrakło miejsca w wybranym oknie, otrzymuje propozycję najbliższego wolnego terminu zamiast odmowy. Dzięki temu liczba pojazdów oczekujących jednocześnie przy bramie zostaje ograniczona z góry, a nie dopiero po wjeździe na plac.
Rozkład dostaw w ciągu zmiany
Bez awizacji przewoźnicy przyjeżdżają według własnych grafików. Rampa stoi wtedy pusta o siódmej rano, a o dziesiątej zbiera się kolejka pojazdów. Limit pojemności okien wymusza równomierne rozłożenie ruchu, bo nadmiar zgłoszeń w szczycie dostaje propozycję najbliższego wolnego terminu poza nim.
Planista nie musi jednak czekać na skargi kierowców. Wystarczy przejrzeć wykres obłożenia z poprzednich tygodni i rozpoznać powtarzalne wzorce. Poniższa tabela zestawia cztery najczęstsze z nich razem z reakcją, która zwykle przynosi efekt.
| Wzorzec obciążenia | Objaw na placu | Reakcja planisty |
|---|---|---|
| szczyt poranny | kolejka pojazdów przed bramą od otwarcia magazynu | obniżenie pojemności okien w pierwszych godzinach zmiany |
| pusta rampa po południu | niewykorzystany zespół przyjęć | zachęcanie dostawców do rezerwacji późniejszych okien |
| skupienie jednego dostawcy | kilka pojazdów tej samej firmy w jednej godzinie | limit okien na dostawcę w godzinie |
| dostawy tuż przed końcem zmiany | towar czeka w strefie przyjęć do następnego dnia | wcześniejsze zamykanie ostatnich okien |
Ostatni wzorzec ma poważne skutki księgowe. Towar, który stoi w strefie przyjęć bez przyjęcia dokumentem, nie istnieje w stanach magazynowych, więc sprzedaż nie może go zarezerwować. Z tego powodu okna kończące się tuż przed zamknięciem zmiany powinny mieć zapas czasu na pełne przyjęcie, a nie tylko na rozładunek. Zasady przyjęcia i dokumenty opisuje tekst o przyjęciu towaru do magazynu.
Dostawy stałe i cykliczne
Część dostaw powtarza się co tydzień o tej samej porze: linie produkcyjne dostają komponenty według grafiku, a sklepy uzupełnienia według stałych tras. Dla takich przewoźników nie ma sensu rezerwowanie okna od zera. Kalendarz awizacji pozwala ustawić rezerwację cykliczną w wybranym interwale, co opisuje artykuł o aplikacji kalendarz do awizacji dostaw.
Zapis cykliczny zmniejsza ryzyko pomyłki, ale wymaga dyscypliny w utrzymaniu. Dostawca, który zmienił trasę, musi zmienić serię, a nie pojedyncze wystąpienie. Ogólną logikę rezerwacji slotów porządkuje strona o slotach czasowych w logistyce.
Rezerwa pojemności i dostawy nieawizowane
Nawet najlepiej zaprojektowany harmonogram spotyka się z kierowcami, którzy przyjeżdżają bez zgłoszenia. Jeśli okna są zapełnione w stu procentach, taki pojazd wywraca cały plan. Rozsądne rozwiązanie zostawia w dobowej pojemności niewielką rezerwę na dostawy nieawizowane i pilne.
Sposób postępowania z takimi transportami zależy od polityki magazynu: można je przyjmować w wolnych oknach albo obsługiwać po zakończeniu awizowanych. Część magazynów odsyła takie pojazdy. Pełniejszy opis tego przypadku znajduje się w artykule o transporcie nieawizowanym.
- Rezerwa dobowa - część pojemności ramp, której nie da się zarezerwować z portalu, dostępna dla dyspozytora.
- Priorytet - oznaczenie dostaw, które wyprzedzają inne przy konflikcie, na przykład komponentów dla linii produkcyjnej.
- Tolerancja spóźnienia - liczba minut, po których awizacja traci rezerwację i wraca do puli.
- Limit przesunięć - maksymalna liczba zmian terminu, jakie przewoźnik może zrobić samodzielnie.
Każdy z tych parametrów jest wartością konfiguracyjną, więc kierownik przyjęć może je korygować po analizie tygodni pracy, zamiast zmieniać kod aplikacji.
Zmiany terminu i opóźnienia w ciągu dnia
Plan zbudowany rano zmienia się już przed południem. Kierowca stoi w korku, awaria wstrzymuje rozładunek na rampie albo dostawca odwołuje transport. System powinien traktować takie zdarzenia jako zwykłe operacje na harmonogramie, a nie wyjątki obsługiwane telefonem.
Aplikację awizacyjną można połączyć z monitorowaniem pojazdów. Gdy położenie auta wyklucza dotarcie na czas, wszystkie zainteresowane strony dostają powiadomienie e-mailem lub SMS-em, a planista widzi ryzyko w harmonogramie z wyprzedzeniem. Szczególnie ważne jest to w zakładach pracujących w modelu just in time, gdzie opóźnienie jednej dostawy zatrzymuje linię.
Reguła: odstępy między oknami ustala się według rzeczywistego czasu obsługi z historii, a nie według czasu deklarowanego przez dostawców.
Dostawa drobnicowa z wieloma pozycjami potrafi zająć dwa razy więcej czasu niż transport jednego asortymentu na paletach. Jeśli interwał został ustawiony dla drugiego typu, pierwszy zawsze będzie wypychał kolejne okna. Zwolniony slot, na przykład po odwołanej dostawie, wraca do puli i może zostać zaproponowany innemu przewoźnikowi. Mechanizm rezerwacji i jego ograniczenia omawia artykuł o oknach czasowych w YMS.
Przekazanie planu do WMS i placu YMS
Zatwierdzona awizacja nie kończy pracy planisty, tylko uruchamia kolejne procesy. VSS.net przekazuje ją do WMS jako zlecenie przyjęcia. Dzięki temu magazynier już w chwili wjazdu pojazdu widzi, co ma zostać rozładowane i na który adres odłożone. Techniczny przebieg wymiany danych opisuje artykuł o integracji VSS z WMS i ERP przy przyjęciach.

Po stronie placu system zarządzania placem wskazuje pojazdowi wolną rampę, a gdy trzeba poczekać, miejsce postojowe. Kierownik widzi, które rampy są zajęte, a które dostępne. Mapę zajętości omawia artykuł o wizualizacji miejsc parkingowych, a rezerwację samych doków - opis rezerwowania doków magazynowych.
Moduł awizacji nie wymaga wdrożenia pełnego WMS. VSS.net działa jako samodzielny portal dla magazynów, które prowadzą ewidencję w arkuszach lub starszych systemach. Dane o zatwierdzonych wizytach można wtedy eksportować do dowolnego systemu przyjęć. Ogólne zasady rozplanowania dostaw po stronie magazynu porządkuje tekst o planowaniu dostaw do magazynu, a możliwości modułu prezentuje strona planowanie dostaw do magazynu na portalu awizacji.



