FIFO bez daty przyjęcia na poziomie palety zostaje deklaracją. Gdy w jednej partii leżą palety wprowadzone w różnych dniach, system wskaże do wydania dowolną z nich, jeśli nie wie, która weszła pierwsza. Opisujemy mechanizm z wdrożenia u operatora logistycznego z południa Polski, w którym program Studio WMS.net zapisuje datę przyjęcia przy każdej palecie.
Spis treści
Dlaczego sama partia nie wystarcza
Numer partii wskazuje serię, z której pochodzi towar, ale nie mówi, kiedy konkretna paleta weszła do magazynu. W jednej partii mogą się znaleźć przyjęcia z różnymi datami produkcji. Zlecenie wydania opisuje taką partię jednym numerem, więc dla systemu porównującego wyłącznie partie wszystkie jej palety wyglądają tak samo.
Kolejność wydania musi zatem wynikać z cechy, którą różnią się palety tej samej partii. W opisywanym wdrożeniu jest nią data przyjęcia zapisana osobno przy każdej palecie. Ogólne reguły FIFO i FEFO wraz z konfliktem między rotacją a odległością od wydań opisuje strona o kryteriach wyboru lokalizacji. Terminy ważności i blokady partii omawia strona o partiach i datach ważności. Tutaj zajmujemy się wyłącznie datą przyjęcia.
Data przyjęcia zapisana przy palecie
Data przyjęcia trafia do osobnej tabeli w chwili, gdy operator przyjmuje paletę na wózku. Przebieg samego przyjęcia opisuje strona o przyjęciu palet do magazynu.
| Pole wiersza | Co zapisuje |
|---|---|
| Numer palety | Identyfikator palety przyjętej na wózku |
| Data przyjęcia | Data, według której funkcja stanu układa palety w kolejności |
| Login | Login użytkownika zapisany przy przyjęciu |
Funkcja, która ustala stan do wydania, sortuje palety według tej daty, a przy dacie równej według adresu lokalizacji. Sortowanie odpowiada w języku zapytań klauzuli ORDER BY, którą opisuje dokumentacja Microsoft Learn. W bazie działają dwie takie funkcje stanu. Jedna uwzględnia datę produkcji, a druga datę przyjęcia palety, więc wybór funkcji rozstrzyga, czy kolejność wydania biegnie według produkcji, czy według wejścia do magazynu.
Według stanu z sierpnia 2026 tabela dat przyjęcia ma ponad 1,2 mln wierszy. Osobnym zagadnieniem jest paleta, która wraca do magazynu pod tym samym numerem. Odczyt jej daty produkcji ze stanu palety opisuje artykuł o stanie ujemnym po powtórzonym numerze palety.
Dwa warianty: z partią i bez partii
Wdrożenie dla producenta opakowań metalowych rozróżnia dwa rodzaje zleceń wydania. Gdy zlecenie nie podaje numeru partii, system wydaje według FIFO, czyli według daty przyjęcia palety. Gdy numer partii jest podany, wydanie idzie według partii, a w obrębie partii znów obowiązuje FIFO.
| Wariant | Kryterium | Kolejność |
|---|---|---|
| Zlecenie bez numeru partii | Data przyjęcia palety | Najpierw paleta przyjęta najwcześniej |
| Zlecenie z numerem partii | Numer partii, potem data przyjęcia | Wydanie według partii, w obrębie partii FIFO |
Opisane rozwiązanie włączono dla jednego magazynu jednego klienta operatora. Inni klienci tego samego operatora mają inne kanały wymiany danych i inne algorytmy wydania, więc kolejność z tej strony nie obowiązuje w całym programie. Jak jeden system obsługuje kilku właścicieli towaru, opisuje artykuł o WMS dla operatora 3PL. Wskaźniki i usługi operatora w magazynie wysokiego składowania omawia strona o operatorze logistycznym.
Sześć kroków kolejności wydania
Procedura wydania ustala kolejność palet w sześciu krokach. Obowiązują one w obu wariantach zlecenia, a różnica polega na tym, czy numer partii zawęża zbiór palet, z których system wybiera.
| Krok | Co ustala system |
|---|---|
| 1 | Ilość palety pełnej, liczona z pierwszego przyjęcia asortymentu albo serii |
| 2 | Palety pełne w liczbie wynikającej z ilości na zleceniu |
| 3 | Ilość pozostała do wydania po paletach pełnych |
| 4 | Paleta niepełna o ilości równej pozostałej |
| 5 | Pozostałe palety niepełne |
| 6 | Rozpoczęcie palety pełnej na resztę |
Przykład z wymyślonymi liczbami: zlecenie na 140 sztuk przy 40 sztukach na palecie daje trzy palety pełne. Pozostaje reszta 20 sztuk. Szukając reszty, system sięga najpierw po paletę niepełną z dokładnie 20 sztukami, potem po inne palety niepełne, a dopiero na końcu otwiera paletę pełną. Dokumenty i algorytmy wydawania w ujęciu ogólnym opisuje strona o wydaniu z magazynu.
Paleta pełna z końcówką produkcyjną
Pierwszy krok wymaga wzorca, czyli ilości, która czyni paletę pełną. W opisywanym wariancie wzorzec pochodzi z pierwszego przyjęcia serii. Gdy na tym dokumencie przyjęcia są palety niepełne, program bierze paletę z największą ilością.
Z założenia ilości na paletach pełnych jednej serii są takie same. System dopuszcza jednak paletę z końcówką produkcyjną, której ilość odbiega od pozostałych, a która mimo to bywa paletą pełną. Dane opakowania zapisane w kartotece asortymentu opisuje strona o kartotekach magazynowych.
Reguła: paleta z końcówką produkcyjną też może być paletą pełną. Ilość wzorcowa wynika z pierwszego przyjęcia serii, nie z kartoteki.
FIFO a data produkcji
Przy przyjęciach o różnych datach produkcji w tej samej partii FIFO liczone od przyjęcia i wydanie według daty produkcji dają różną kolejność. Pokazuje to przykład ilustracyjny z pięcioma przyjęciami oznaczonymi literami A-E (dane wymyślone). Daty produkcji rosną zgodnie z alfabetem, ale dostawy docierały w kolejności z pierwszej kolumny tabeli.
| Kolejność dostawy | Przyjęcie | Kolejność według daty produkcji |
|---|---|---|
| 1 | A | 1 |
| 2 | B | 2 |
| 3 | D | 4 |
| 4 | E | 5 |
| 5 | C | 3 |
FIFO wyda przyjęcie D przed C, bo D dotarło wcześniej. Wydanie według daty produkcji odwróci tę parę, bo C wyprodukowano przed D. Przyjęcia A i B wychodzą w obu trybach w tej samej kolejności. Gdzie paleta stanie po przyjęciu, rozstrzyga osobny mechanizm, który opisuje artykuł o autolokacji i pojemności lokalizacji.
Pytania i odpowiedzi o FIFO według daty przyjęcia palety
FIFO wydaje najpierw towar przyjęty najwcześniej, a FEFO towar, któremu najwcześniej kończy się termin ważności. W opisywanym wariancie kolejność wynika z daty przyjęcia palety, a nie z terminu ważności.
Data trafia do osobnej tabeli w chwili przyjęcia palety na wózku. Wiersz tabeli wiąże numer palety z datą i loginem użytkownika, a funkcja ustalająca stan do wydania sortuje palety według tej daty.
Z założenia ilości na paletach pełnych jednej serii są takie same, więc pierwsze przyjęcie serii wyznacza wzorzec. Gdy na tym dokumencie są palety niepełne, wzorcem jest paleta z największą ilością.
FIFO liczone od daty przyjęcia i wydanie według daty produkcji dają wtedy różną kolejność tych samych palet. W bazie działają dwie funkcje stanu, jedna z datą produkcji i jedna z datą przyjęcia palety.
Nie. Opisane rozwiązanie włączono dla jednego magazynu jednego klienta operatora. Pozostali klienci tego samego systemu mają inne algorytmy wydania.
Glosariusz pojęć związanych z FIFO
- FIFO
- Kolejność wydania, w której najpierw wychodzi towar przyjęty najwcześniej. W opisywanym wdrożeniu liczy się ją od daty przyjęcia palety.
- FEFO
- Kolejność wydania według terminu ważności. Najpierw wychodzi towar, któremu termin kończy się najwcześniej.
- Data przyjęcia palety
- Data zapisana w osobnej tabeli przy przyjęciu palety na wózku i powiązana z numerem palety.
- Data produkcji
- Data wytworzenia towaru. Jedna z dwóch funkcji liczących stan do wydania uwzględnia właśnie ją.
- Partia
- Numer serii produkcyjnej widoczny na zleceniu wydania. W jednej partii mogą leżeć palety o różnych datach przyjęcia.
- Paleta pełna
- Paleta o ilości zgodnej ze wzorcem, który wyznacza pierwsze przyjęcie serii albo asortymentu.
- Końcówka produkcyjna
- Paleta o ilości odbiegającej od pozostałych w serii, która mimo to bywa paletą pełną.