Rezerwacje
Opis
- Wprowadzony nowy typ zamówienia ZR - zamówienie rezerwacyjne.
- Niezrealizowane zamówienia sprzedażowe o określonych typach, np. ZS, ZSC, ZR, wprowadzają rezerwacje na indeksie.
- Wprowadzony nowy wskaźnik wyliczający rezerwację ogólną
Il.rezerwacja, dostępny na indeksie i na listach indeksów. Wskaźnik jest liczony globalnie. - Wprowadzony nowy proces wyliczający rezerwację bieżącą, uwzględniający:
- kwalifikujące się zamówienia rezerwacyjne ZS, ZSC, ZR
- termin (datę zamówienia)
- magazyn
- stan bieżący
- W dokumencie magazynowym o statusie szkic jest informacja o tym, że wydajesz zarezerwowany towar.
- Wprowadzona blokada (parametr) zarezerwowanych towarów.
Wskaźnik rezerwacji bieżącej
Przykładowe dane:
| Operacja | Data | MAG | Ilość |
|---|---|---|---|
| Stan magazynowy | bieżąca | 100 | 2 |
| Stan magazynowy | bieżąca | 200 | 10 |
| Zamówienie ZS1 | 2026-08-01 | 200 | 5 |
| Zamówienie ZR2 | 2026-08-02 | 200 | 5 |
| Zamówienie ZS3 | 2026-08-03 | - | 2 |
| Zamówienie ZS4 | 2026-08-04 | 200 | 2 |
Scenariusze:
Zasady wyliczania:
- Zamówienia sortowane są rosnąco wg daty zamówienia.
- Zamówienie z przypisanym magazynem (
MAG) rezerwuje ilość na tym magazynie. - Zamówienie bez przypisanego magazynu (
MAG = -) rezerwuje na każdym magazynie.
Scenariusze:
- Próba realizacji zamówienia ZS4: MAG (10 + 2) - ZAM (5 + 5 + 2 + 2) = 12 - 14 => wynik: niepowodzenie
- Próba realizacji zamówienia ZS3 z MAG 200: MAG (10) - ZAM (5 + 5 + 2) = 10 - 12 => wynik: niepowodzenie
- Próba realizacji zamówienia ZS3 z MAG 100: MAG (2) - ZAM (2) = 2 - 2 => wynik: POWODZENIE
- Próba realizacji zamówienia ZR2 z MAG 200: MAG (10) - ZAM (5 + 5) = 10 - 10 => wynik: POWODZENIE
Technical
DB
- ilość zamówiona - itemOrderQuantity
- ilość zarezerwowana - itemReservationQuantity
- obliczanie itemOrderQuantity:
EXEC [wms].[item_updateItemOrderQuantity] @itemID = @itemID - obliczanie itemReservationQuantity:
EXEC [wms].[item_updateItemReservationQuantity] @itemID = @itemID
Implementacja [wms].[item].[itemReservationQuantity]
- kolumna
[wms].[item].[itemReservationQuantity]decimal(18,3), default 0 - procedura
[wms].[item_updateItemReservationQuantity](@itemID, @orderID, @orderLineID, @allItems, @checkOnly) - liczona jako SUM(orderLine.itemQuantityLeft) dla ZS (F6D5306B-1213-4552-AE57-C63F7CB12ED5) i ZSC (180D94A3-4EEA-4B88-8AA9-0789C4FD9356), pozycje zatwierdzone i niezrealizowane (orderLineStatus >= 1 and < 3, itemQuantityLeft > 0) - szkice nie rezerwują
- wywołania (analogicznie do itemOrderQuantity):
document.documentline_updateOrderRealizedQuantity,document.order_UpdateOrderStatus,erp.order_UpdateOrderStatus,erp.orderLine_InsertUpdate - kontrola spójności:
EXEC [tools].[test_system] @code = '098' - migracja istniejących baz:
EXEC [common].[maintence] @option=20(dodaje kolumnę i przelicza jednorazowo)