Partia i data ważności zmieniają zasadę wydawania towaru. Zamiast pytać, co przyjęto pierwsze, system pyta, co wygaśnie najwcześniej. Pyta też, co wolno jeszcze wydać danemu odbiorcy. Strona opisuje te reguły, a także blokady jakościowe i wycofanie partii.
Spis treści
- Co system zapisuje o partii
- Strategie wydawania towaru
- Blokady jakościowe i kwarantanna
- Wycofanie partii i identyfikowalność
- Weryfikacja wydań partii
- Odczyt partii i terminu przy przyjęciu
- Integracja z produkcją i ERP
- Alerty i analiza terminów
- Pytania i odpowiedzi o partie produkcyjne i daty ważności
- Glosariusz pojęć związanych z partiami i datami ważności
Co system zapisuje o partii
W formularzu asortymentu pola Wymagana seria i Wymagana data ważności włączają obowiązkową kontrolę przy operacjach magazynowych. Dla takiej pozycji przyjęcie bez numeru partii albo terminu nie przechodzi weryfikacji. Dane pochodzą z etykiety albo z dokumentu dostawcy.
| Pole | Źródło | Rola w magazynie |
|---|---|---|
| Numer partii | etykieta GS1, pole (10), albo dokument dostawcy | grupowanie sztuk i wycofanie całej serii |
| Data ważności | etykieta GS1, pole (17), albo dokument | kolejność wydań i blokada po terminie |
| Data produkcji | etykieta GS1, pole (11), albo produkcja | kontrola wieku towaru |
| Dokument przyjęcia | system magazynowy | powiązanie partii z dostawcą |
| Status | system magazynowy | dostępna, kwarantanna, uszkodzona albo do wyjaśnienia |
Czytanie takich pól z kodu opisuje strona o kodach GS1-128 i GS1 DataMatrix. Gotowy dziennik rejestracji partii łączy odczytane dane z dokumentami.
Zakres dziennika można przełączać od siedmiu do dziewięćdziesięciu dni, a wynik wyeksportować do arkusza. Zestawienie odpowiada na pytanie, które partie danego towaru weszły na stan i jakim dokumentem. Przy wycofaniu partii to pierwsze pytanie, które trzeba rozstrzygnąć.
Strategie wydawania towaru
Studio WMS.net stosuje FEFO tam, gdzie liczy się termin, a FIFO lub LIFO tam, gdzie termin nie gra roli. Każdą z tych reguł można przypisać do wybranej strefy albo grupy asortymentowej. W jednym magazynie towar z terminem przydatności ma więc inną regułę niż towar bez terminu.
| Metoda | Kryterium wyboru | Typowe zastosowanie | Ryzyko |
|---|---|---|---|
| FEFO | najkrótszy termin ważności | żywność, farmacja, kosmetyki | wymaga daty przy każdej jednostce |
| FIFO | najwcześniejsza data przyjęcia | towary bez terminu przydatności | ignoruje datę ważności |
| LIFO | najpóźniejsza data przyjęcia | towary bez rotacji w czasie | stare partie zalegają na regale |
| Wydanie ad hoc | najbliższa paleta | brak uzasadnienia jakościowego | przeterminowanie ukryte w głębi regału |
Bez ewidencji partii magazynierzy wydają towar najbliższy, czyli w praktyce stosują LIFO niezależnie od terminu. Sam adres lokalizacji tego nie rozwiązuje, bo nie niesie informacji o produkcie. Dopiero adres powiązany z numerem partii i datą pozwala zastosować FEFO. Analizę zalegania opisuje strona o rotacji i zaleganiu.
FEFO w zapytaniu T-SQL
Wybór partii do wydania sprowadza się do zapytania z sortowaniem po terminie. Przykład poniżej jest ilustracyjny i nie pokazuje kodu produktu. Parametr @MinimalnyShelfLife oznacza liczbę dni, które klient wymaga do końca ważności w chwili dostawy.
SELECT TOP (1) P.PartiaId, P.NumerPartii, P.DataWaznosci, P.LokalizacjaId
FROM dbo.PartieNaLokalizacjach AS P
WHERE P.PozycjaId = @PozycjaId
AND P.Ilosc >= @Ilosc
AND P.Status = 'Dostepna'
AND P.DataWaznosci >= DATEADD(DAY, @MinimalnyShelfLife, CAST(SYSDATETIME() AS date))
ORDER BY P.DataWaznosci ASC, P.DataPrzyjecia ASC;
CREATE INDEX IX_Partie_FEFO
ON dbo.PartieNaLokalizacjach (PozycjaId, DataWaznosci)
INCLUDE (Ilosc, LokalizacjaId)
WHERE Status = 'Dostepna';
Indeks filtrowany obejmuje wyłącznie partie dostępne, więc zablokowane i przeterminowane nie powiększają go. Zapytanie zwykle wykonuje wtedy Index Seek zamiast przeglądania wszystkich partii pozycji. Składnię opisuje dokumentacja CREATE INDEX.
Reguła: filtr statusu stoi przed sortowaniem. Partia w kwarantannie z najkrótszym terminem nie może wygrać z partią dostępną, a termin krótszy niż wymaga klient wyklucza partię z wydania.
Przykład doboru partii z minimalnym shelf life
Klient wymaga, aby w chwili dostawy do końca ważności zostało co najmniej 90 dni. Na stanie są trzy partie tego samego towaru. FEFO nie wybiera partii o najkrótszym terminie w ogóle, tylko o najkrótszym terminie spośród tych, które spełniają wymaganie.
| Partia | Dni do końca ważności | Spełnia wymóg 90 dni | Decyzja |
|---|---|---|---|
| A | 45 | nie | wykluczona z tego zamówienia, trafia do klienta o niższym wymaganiu |
| B | 120 | tak | wybrana, bo ma najkrótszy termin wśród partii spełniających wymóg |
| C | 200 | tak | zostaje na stanie dla zamówień o wyższych wymaganiach |
Partia A nie zostaje przy tym zapomniana. Stany alarmowe i analiza zalegania wskazują, że należy ją skierować do odbiorcy, który akceptuje krótszy termin, zanim straci ważność.
Blokady jakościowe i kwarantanna
Gdy kontrola jakości wykryje niezgodność, system blokuje konkretną partię i uniemożliwia jej przypadkowe wydanie. Blokadę można nałożyć z panelu administratora albo bezpośrednio przez dział jakości. Przykładowe statusy to kwarantanna oraz towar uszkodzony, a osobny status oznacza sprawę do wyjaśnienia.
| Status partii | Widoczność w kompletacji | Typowy powód |
|---|---|---|
| Dostępna | widoczna | partia przeszła kontrolę przyjęcia |
| Kwarantanna | niewidoczna | oczekiwanie na wynik badania lub decyzję jakości |
| Towar uszkodzony | niewidoczna | uszkodzenie opakowania lub towaru stwierdzone na przyjęciu |
| Do wyjaśnienia | niewidoczna | niezgodność dokumentu z dostawą, którą trzeba rozstrzygnąć |
Po aktywacji blokady towar znika z procesów kompletacji. Zasięg blokady zależy od potrzeby.
- Cała partia. Blokada obejmuje ten numer partii w całym magazynie, we wszystkich lokalizacjach.
- Wybrane jednostki. Blokada dotyczy tylko oznaczonych jednostek logistycznych, gdy wada dotyczy części dostawy.
Zasady te wspierają procedury zarządzania jakością. Wynik widać w stanach, które opisuje strona o stanach magazynowych.
Wycofanie partii i identyfikowalność
System zapisuje ruch partii w dokumentach magazynowych i produkcyjnych. Dla każdej partii wiadomo, od kogo ją przyjęto i komu wydano. Śledzenie wstecz wskazuje dostawcę surowca, a śledzenie w przód listę odbiorców gotowego wyrobu.
W żywności wymóg identyfikowalności wynika z rozporządzenia WE 178/2002. Podobnie rygorystyczna jest ewidencja partii wyrobów chemicznych ADR. Poniższe zapytanie jest ilustracyjne. Wskazuje odbiorców, do których trafiła wadliwa partia, wraz z numerem dokumentu.
SELECT W.KontrahentId, W.DokumentNr, W.DataWydania, SUM(W.Ilosc) AS Ilosc
FROM dbo.WydaniaPozycje AS W
WHERE W.PozycjaId = @PozycjaId AND W.NumerPartii = @NumerPartii
GROUP BY W.KontrahentId, W.DokumentNr, W.DataWydania
ORDER BY W.DataWydania;
Zapytanie zwraca wynik w ułamku sekundy, jeśli kolumny pozycji i numeru partii mają indeks. Lista odbiorców jest podstawą informacji o wycofaniu. Sztuki oznaczone numerami seryjnymi można śledzić dokładniej, a zasady opisuje strona o numerach seryjnych.
Weryfikacja wydań partii

Operator terminala jest kierowany do lokalizacji partii wskazanej przez system. Próba zeskanowania innej partii kończy się komunikatem o błędzie, więc rotacja nie zależy od doświadczenia pracownika. System sprawdza zgodność partii pobranej fizycznie z tą, którą zarezerwowano w dokumencie wydania.
Moduł wydań pozwala śledzić statusy realizacji zleceń i filtrować je według kontrahentów albo numerów dokumentów. Szczegóły obiegu opisuje strona o dokumentach magazynowych. Czynności operatorów omawia artykuł o operacjach magazynowych.
Odczyt partii i terminu przy przyjęciu
Operator przyjmujący dostawę skanuje etykietę zbiorczą, a system rozpoznaje partię i datę ważności i przypisuje towar do lokalizacji. Daty zostają przeliczone do jednego formatu, więc kolejność wydań nie zależy od sposobu zapisu u dostawcy. Opis weryfikacji odczytu zawiera strona o Smart Scan.
Ten przypadek jest groźny, bo nie wywołuje komunikatu. Pozycja nie ma terminu, więc wypada z kolejności FEFO i wychodzi z magazynu zbyt późno. Test polega na porównaniu liczby wyodrębnionych pól z oczekiwaną. Sprzęt do odczytu opisuje strona o skanerze Zebra RS5000.
W magazynach o bardzo dużej rotacji stosuje się też RFID, który odczytuje wiele jednostek bez bezpośredniej widoczności etykiet. Format oznaczenia, które przenosi numer partii i termin, opisuje serwis GS1 Polska w materiale o etykiecie logistycznej GS1.
Integracja z produkcją i ERP
W firmie produkcyjnej partia powstaje w chwili zakończenia cyklu. Dane trafiają do WMS od razu, więc wyrób gotowy ma numer przed pierwszym odłożeniem na regał. Integracja z ERP synchronizuje stany z planami sprzedaży i uwzględnia dostępność towarów o określonym terminie.
Dział handlowy widzi, które partie są dostępne do sprzedaży, i ustala ofertę dla klienta. Numer partii i data ważności są zapisywane w dokumentach PZ i WZ, więc ewidencja zgadza się z dokumentacją. Awizo przyjęcia od kontrahenta może zawierać te dane i przekazywać je do systemu. Zastosowanie w produkcji opisuje strona o programie magazynowym dla firmy produkcyjnej.
Alerty i analiza terminów

Dla towaru można zdefiniować stan alarmowy, który ostrzega kierownika przed brakiem albo przed zaleganiem. Dostęp do tych informacji nie zależy od miejsca, bo system działa w przeglądarce. Raporty eksportuje się do Excela, a ich automatyczna wysyłka i powiadomienia pocztą pozwalają śledzić terminy bez logowania.
Algorytmy analizujące daty ważności mogą sugerować przesunięcia towaru, zanim partia przekroczy termin. Terminy przydatności i ich monitorowanie omawia strona o terminach przydatności do spożycia w magazynie.
Pytania i odpowiedzi o partie produkcyjne i daty ważności
FIFO opiera się na dacie przyjęcia, a FEFO na terminie ważności. Przy towarach z terminem przydatności FEFO jest właściwe, bo partia przyjęta później może wygasnąć wcześniej niż wcześniejsza.
Tak. Blokada może objąć cały numer partii w całym magazynie albo wyłącznie wybrane jednostki logistyczne. Zablokowany towar znika z procesów kompletacji.
Odczytuje je z etykiety w standardzie GS1 albo z dokumentu dostawcy. Operator skanuje etykietę zbiorczą, a system rozdziela dane na pola i przypisuje towar do lokalizacji.
Rezerwacja pod klienta uwzględnia liczbę dni, które muszą zostać do końca ważności. Partie z krótszym terminem są wykluczone z wydania, więc operator nie sprawdza etykiet ręcznie.
Zapytanie po numerze partii zwraca odbiorców, dokumenty i daty wydania. Przy poprawnie założonym indeksie trwa to ułamek sekundy, więc informację o wycofaniu można przygotować od razu.
Glosariusz pojęć związanych z partiami i datami ważności
- Partia produkcyjna
- Grupa towarów wytworzonych w tym samym cyklu, identyfikowana numerem nadanym przez producenta.
- Data ważności
- Termin przydatności do spożycia lub użycia, po którym towaru nie wolno wprowadzać do obrotu.
- FEFO
- First Expired, First Out. Zasada wydawania najpierw towaru o najkrótszym terminie ważności.
- FIFO
- First In, First Out. Zasada wydawania najpierw towaru przyjętego najwcześniej.
- Shelf life
- Minimalny pozostały okres ważności, którego odbiorca wymaga w chwili dostawy.
- Kwarantanna
- Status partii, który wyłącza ją z kompletacji do czasu decyzji kontroli jakości.
- Recall
- Wycofanie wadliwej partii z rynku lub z łańcucha dystrybucji.
- Indeks filtrowany
- Indeks SQL Server obejmujący tylko wiersze spełniające warunek, na przykład partie o statusie dostępna.