Gdzie dostawa traci czas między bramą a półką

Dostawa przechodzi przez kilka etapów i na każdym z nich może stać w miejscu. Pojazd czeka przed bramą, potem przechodzi kontrolę wjazdu, następnie stoi w kolejce do rampy, a po rozładunku dokument przyjęcia czeka na zatwierdzenie i dopiero wtedy towar trafia na adres. System klasy YMS obejmuje początek tej ścieżki: plac oraz bramę wraz z rampą. System klasy WMS przejmuje dostawę w chwili rozładunku i prowadzi ją aż do adresu składowania.

Podział ma znaczenie praktyczne, bo każdy etap ma innego właściciela danych i innego człowieka, który może go przyspieszyć. Zestawienie poniżej porządkuje etapy według systemu i znacznika czasu oraz typowej przyczyny straty.

Etap dostawySystem i znacznik czasuTypowa przyczyna straty
Oczekiwanie przed bramąYMS: plan okna a rzeczywisty przyjazdprzyjazd poza oknem czasowym
Kontrola na bramieYMS: przyjazd i wjazdbrak awizacji albo ręczne przepisywanie danych
Kolejka do rampyYMS: wjazd i start obsługizajęta rampa, brak wolnego wózka
RozładunekYMS i WMS: start i koniec obsługiliczba palet, rozbieżność z awizacją
Zatwierdzenie przyjęciaWMS: dokument w buforze i po zatwierdzeniukontrola jakości, brak kartoteki towaru
Odłożenie na adresWMS: ruchy magazynowebrak wolnych adresów w strefie

Reguła: każdy etap dostawy ma jeden system będący źródłem danych i jeden znacznik czasu, bo inaczej nie da się wskazać, gdzie powstaje strata.

Wiele magazynów mierzy tylko czas rozładunku, ponieważ ten znacznik zapisuje dokument przyjęcia. Tymczasem czekanie przed bramą i w kolejce do rampy potrafi zająć więcej minut niż sam rozładunek, a nie zostawia śladu w żadnym dokumencie magazynowym. Dopiero system awizacji zapisuje te odcinki.

Czas etapów z jednego dziennika zdarzeń

Najprostszy sposób pomiaru polega na zapisie każdego przejścia w dzienniku zdarzeń: jeden wiersz na wizytę i zdarzenie, z godziną. Czas etapu to wtedy różnica między zdarzeniem a następnym zdarzeniem tej samej wizyty. Funkcja okna LEAD pobiera kolejną godzinę bez samozłączenia tabeli, więc zapytanie pozostaje krótkie nawet przy dużej liczbie wizyt. Tabela VisitEvent jest przykładowa i nie odwzorowuje schematu produktu.

WITH e AS (
    SELECT VisitId, EventType, EventAt,
           LEAD(EventAt) OVER (PARTITION BY VisitId ORDER BY EventAt) AS NextAt
    FROM   dbo.VisitEvent
    WHERE  EventAt >= DATEADD(DAY, -30, SYSDATETIME())
)
SELECT EventType,
       COUNT(*)                               AS Visits,
       AVG(DATEDIFF(MINUTE, EventAt, NextAt)) AS AvgMinutes
FROM   e
WHERE  NextAt IS NOT NULL
GROUP BY EventType
ORDER BY AvgMinutes DESC;

Wynik wskazuje etap o najdłuższym średnim czasie, a więc miejsce pierwszej interwencji. Brakujące zdarzenia zaburzają rachunek: jeśli wizyta nie ma wpisu o starcie obsługi, dwa odcinki zlewają się w jeden. Dlatego kompletność dziennika sprawdza się osobnym zapytaniem, które liczy wizyty bez któregokolwiek z wymaganych zdarzeń.

Zakres YMS w drodze pojazdu do rampy

Yard Management System planuje i monitoruje ruch pojazdów na terenie zakładu. Zarządza bramami oraz rampami, a także miejscami postojowymi. Wspiera też pracę portierni. Szczegółowe rozgraniczenie zakresu YMS i WMS opisuje artykuł o systemie YMS, a w tym tekście liczy się jego rola w skracaniu czasu dostawy.

Moduł awizacji dostaw składa się z kilku elementów, które wpływają na kolejne etapy z tabeli powyżej.

  • Rezerwacja okien czasowych - dostawca wybiera termin, a system przydziela sloty czasowe z uwzględnieniem dostępności zasobów. Zmiana harmonogramu po opóźnieniu nie wymaga kontaktu telefonicznego.
  • Komunikacja z dostawcami i przewoźnikami - dostawcy samodzielnie rezerwują okna czasowe i dostają powiadomienia o statusie. Dokumentacja dostawy jest przechowywana przy awizacji.
  • Monitoring statusów - lista transportów pokazuje etap każdej wizyty i pozwala szybko wychwycić wizyty wymagające reakcji dyspozytora.
  • Kontrola bramy i doków - status pojazdu oraz przypisanie rampy widzi zarówno ochrona, jak i magazyn.
Zestawienie transportów wjazd i wyjazd w roli Brama i ochrona z oknem Dyspozycja: status, planowane miejsce parkingowe i planowana rampa magazynowa
Rola Brama i ochrona: okno Dyspozycja ustawia status wizyty oraz planowane miejsce parkingowe i rampę magazynową.

Zrzut pokazuje ekran roli Brama i ochrona. Okno Dyspozycja pozwala ustawić status wizyty, planowane miejsce parkingowe i planowaną rampę magazynową, dzięki czemu decyzja o kolejności obsługi zapada w jednym miejscu. Zarządzanie samymi stanowiskami opisuje artykuł o zarządzaniu dokami w magazynie, a widok zajętości placu omawia tekst o wizualizacji miejsc parkingowych.

Brama jako źródło danych dla magazynu

Najlepsze dane o czasie dostawy powstają na bramie, bo tam pojazd po raz pierwszy staje się widoczny dla systemu. W VSS.net moduł Gate Assistant obsługuje doki magazynowe oraz obciążenie ramp, a rozpoznawanie tablic rejestracyjnych (LPR) automatyzuje weryfikację pojazdu przy wjeździe i wyjeździe. Numer rejestracyjny z kartoteki pojazdu pozwala połączyć zdjęcie tablicy z właściwą awizacją, więc operator nie szuka wizyty ręcznie.

Przy bramie zapisują się trzy wartości, które później zasilają raporty: godzina przyjazdu oraz godzina wjazdu, a także moment startu obsługi w magazynie. Ta ostatnia wartość zamyka odcinek YMS i otwiera odcinek WMS. Ekran Gate Assistant przedstawia też wizytę razem z kontrahentem i przewoźnikiem oraz numerem telefonu kierowcy, dzięki czemu ochrona nie musi dzwonić do dyspozytora po dane. Opis wdrożenia tego modułu w firmie zawiera artykuł o systemie Gate Assistant, a stronę produktową zajętości doków publikuje producent.

Reguła: kierowca bez awizacji nie omija bramy. Wizyta nieawizowana ma w systemie osobną pozycję menu Transport nieawizowany, dzięki czemu trafia do raportu jako wyjątek, a nie znika w rejestrze ręcznym.

Rozpoznanie pojazdu a jakość danych

Automatyczne rozpoznanie tablic działa tylko tak dobrze, jak dane w kartotece. Wpis z literówką w numerze rejestracyjnym daje wizytę, której kamera nie połączy z awizacją, więc ochrona wraca do rejestracji ręcznej. Przed uruchomieniem bramy warto zweryfikować kartotekę pojazdów przewoźników pod kątem spacji oraz znaków diakrytycznych, a także zamiany liter podobnych do cyfr, takich jak O oraz 0.

Kartoteki pojazdów opisuje artykuł o transporcie wewnętrznym w module VSS.net.

Wymiana zdarzeń między YMS a WMS

VSS.net przekazuje zatwierdzone awizacje do systemu WMS jako zlecenia przyjęcia lub wydania. Magazynier już w chwili wjazdu pojazdu widzi, co ma zostać rozładowane i na który adres odłożone. Producent opisuje synchronizację zleceń między Studio VSS.net a Studio WMS.net jako automatyczną, co eliminuje ręczne wprowadzanie danych po stronie magazynu. Rozszerzony opis przepływu przyjęć znajduje się w artykule o integracji VSS z WMS i ERP przy przyjęciach.

Tabela poniżej pokazuje ogólny model zdarzeń między systemami. To opis wzorca integracji, a nie lista pól konkretnego interfejsu.

ZdarzenieNadawcaOdbiorca i skutek
Awizacja zatwierdzonaYMSWMS tworzy zlecenie przyjęcia lub wydania
Wjazd na teren zakładuYMS (brama)WMS pokazuje magazynierowi zakres rozładunku
Start obsługi na rampieYMS lub WMSraport otrzymuje koniec odcinka bramy i początek odcinka magazynu
Dokument przyjęcia zatwierdzonyWMSYMS zamyka wizytę, a ERP dostaje potwierdzenie dostawy

Gdy komunikaty przekazuje się kolejką, ten sam komunikat może dotrzeć dwa razy, na przykład po ponowieniu wysyłki. Odbiorca musi więc być odporny na duplikaty. Prosty sposób to klucz zdarzenia składający się z identyfikatora awizacji i typu zdarzenia, chroniony indeksem unikalnym. Drugi zapis tego samego klucza kończy się błędem 2627 albo 2601, który obsługa łapie i ignoruje.

CREATE UNIQUE INDEX UX_IntegrationOutbox_EventKey
    ON dbo.IntegrationOutbox (EventKey);

BEGIN TRY
    INSERT INTO dbo.IntegrationOutbox (EventKey, EventType, Payload, Status)
    VALUES (@EventKey, N'AppointmentApproved', @Payload, 0);
END TRY
BEGIN CATCH
    -- 2601 i 2627: naruszenie unikalności, czyli duplikat zdarzenia
    IF ERROR_NUMBER() NOT IN (2601, 2627)
        THROW;
END CATCH;

Nazwy tabeli i kolumn są poglądowe. Konstrukcję opisuje dokumentacja TRY...CATCH w Microsoft Learn. Integracje z ERP realizuje się przez REST API albo pliki EDI, a ogólne zasady łączenia systemów magazynowych z ERP omawia artykuł o integracji WMS z ERP.

Wspólny czas zdarzeń w dwóch systemach

Pomiar odcinków działa tylko wtedy, gdy znaczniki czasu z YMS i WMS pochodzą z jednej skali. Serwery aplikacji i baz danych powinny synchronizować zegar z tym samym źródłem, a godziny zapisywać w czasie UTC, na przykład funkcją SYSUTCDATETIME. Zapis w czasie lokalnym psuje rachunek dwa razy w roku: przy zmianie czasu na zimowy jedna godzina powtarza się w dobie, a przy zmianie na letni jednej brakuje, więc wizyta obejmująca przełączenie dostaje czas etapu zaniżony albo zawyżony o godzinę.

Konwersję na czas lokalny wykonuje się dopiero przy wyświetlaniu raportu. Taka zasada upraszcza też integrację, bo komunikaty między systemami niosą jednoznaczną godzinę, niezależną od ustawień regionalnych serwera odbiorcy.

Zakres WMS po rozładunku

Gdy rampa kończy obsługę, wizyta staje się dokumentem magazynowym. WMS zarządza zapasami i przestrzenią magazynu, a także automatyzuje przydział adresów. W bazie systemu status dokumentu zapisuje kolumna ACH: wartość 0 oznacza bufor, 1 zatwierdzony, a X anulowany lub usunięty. Dokument w buforze można poprawić, dopiero zatwierdzenie zmienia stany magazynowe.

Wózek widłowy z paletą w strefie przyjęć magazynu, ilustracja etapu po rozładunku, w którym dostawę przejmuje WMS
Strefa przyjęć po rozładunku: od tego momentu dostawą zarządza WMS, a dokument przyjęcia zmienia stany magazynowe.

Praktyczny skutek dla logistyki jest prosty: opóźnienie zatwierdzenia dokumentu opóźnia dostępność towaru dla kompletacji, nawet jeśli fizycznie palety stoją już w strefie przyjęć. Czas między końcem rozładunku a zatwierdzeniem dokumentu warto więc mierzyć osobno. Proces przyjęcia opisuje artykuł o przyjęciu towaru do magazynu, a rodzaje dokumentów wraz z ich statusami przedstawia tekst o dokumentach magazynowych.

W logistyce magazynowej odcinek od rozładunku do dostępności towaru w systemie nazywa się dock-to-stock. Wskaźnik łączy pracę rampy i zespołu przyjęć oraz zatwierdzanie dokumentów, więc wskazuje, czy szybkie rozładowanie pojazdu faktycznie przyspiesza sprzedaż lub produkcję. Magazyn, który rozładowuje w 30 minut, ale zatwierdza przyjęcia dopiero po kilku godzinach, ma dobry wynik YMS i słaby wynik dock-to-stock.

Pomiar efektu w raportach czasu obsługi

Efekt wdrożenia YMS i WMS widać dopiero w liczbach z kilku tygodni pracy. VSS.net udostępnia w sekcji Informacje raporty, między innymi średni czas obsługi przyjęcia przez magazyniera oraz liczbę awizacji obsłużonych przez magazyniera. Raport grupuje dane według magazyniera i magazynu, a każdy wiersz podaje liczbę awizacji, średnią liczbę palet oraz średni czas w minutach.

Porównanie magazynierów wymaga normalizacji. Wizyta z 24 paletami zajmuje naturalnie więcej czasu niż wizyta z 12, więc sam średni czas mówi niewiele. Uczciwszą miarą jest liczba minut przypadających na paletę, czyli iloraz średniego czasu i średniej liczby palet z tego samego wiersza raportu.

Raport średni czas obsługi przyjęcia przez magazyniera w VSS.net z liczbą awizacji, średnią liczbą palet i średnim czasem w minutach
Raport czasu obsługi przyjęcia: liczba awizacji, średnia liczba palet i średni czas w minutach dla magazynu.

Średnia jest jednak wrażliwa na skrajne wizyty. Jeden przypadek rozładunku z reklamacją potrafi podnieść średnią całego tygodnia, chociaż typowa wizyta trwała krócej. Do rozmowy z zespołem lepiej nadaje się mediana i 90. percentyl, które opisują typowy przebieg oraz ogon opóźnień. Zapytanie poniżej liczy oba wskaźniki dla każdego magazynu z ostatnich 30 dni na poglądowej tabeli wizyt.

SELECT DISTINCT
       WarehouseCode,
       PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ServiceMinutes)
           OVER (PARTITION BY WarehouseCode) AS MedianMinutes,
       PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY ServiceMinutes)
           OVER (PARTITION BY WarehouseCode) AS P90Minutes
FROM   dbo.ReceiptVisit
WHERE  FinishedAt >= DATEADD(DAY, -30, SYSDATETIME());

Składnię funkcji opisuje dokumentacja PERCENTILE_CONT w Microsoft Learn. Wskaźniki, które opłaca się śledzić w cyklu tygodniowym, to cztery pozycje.

  • Mediana czasu obsługi - typowy czas rozładunku lub załadunku w danym magazynie.
  • 90. percentyl - granica, poniżej której mieści się dziewięć na dziesięć wizyt, czyli miara ogona opóźnień.
  • Czas na bramie - różnica między przyjazdem a wjazdem, wrażliwa na jakość awizacji.
  • Czas w kolejce do rampy - różnica między wjazdem a startem obsługi, wrażliwa na dobór okien.

Wdrożenie YMS osobno albo razem z WMS

VSS.net działa jako samodzielny moduł YMS i nie wymaga wdrożenia pełnego WMS. Może pełnić rolę portalu awizacyjnego dla magazynów, które prowadzą ewidencję w arkuszach lub w starszych systemach. Wtedy dane o czasie na bramie i w kolejce do rampy powstają od pierwszego dnia, a integrację z magazynem dodaje się później.

Zestaw z WMS ma sens, gdy strata czasu występuje po stronie magazynu, czyli w zatwierdzaniu przyjęć i odkładaniu towaru. Wtedy YMS sam nie rozwiąże problemu. Więcej o tym, jak okna czasowe ustawia się pod obciążenie rampy, opisuje artykuł o procesie yard management na placu.

Kolejność wdrożenia ma prostą zasadę: najpierw mierzy się odcinek, na którym jest największa strata, i dopiero potem wybiera system, który go obejmuje. Strona systemu YMS producenta zawiera zakres modułu, a wersję dla dostaw opisuje strona Studio VSS.net.