Skip to content

Rezerwacje

Opis

  1. Wprowadzony nowy typ zamówienia ZR - zamówienie rezerwacyjne.
  2. Niezrealizowane zamówienia sprzedażowe o określonych typach, np. ZS, ZSC, ZR, wprowadzają rezerwacje na indeksie.
  3. 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.
  4. 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
  5. W dokumencie magazynowym o statusie szkic jest informacja o tym, że wydajesz zarezerwowany towar.
  6. 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:

  1. Zamówienia sortowane są rosnąco wg daty zamówienia.
  2. Zamówienie z przypisanym magazynem (MAG) rezerwuje ilość na tym magazynie.
  3. Zamówienie bez przypisanego magazynu (MAG = -) rezerwuje na każdym magazynie.

Scenariusze:

  1. Próba realizacji zamówienia ZS4: MAG (10 + 2) - ZAM (5 + 5 + 2 + 2) = 12 - 14 => wynik: niepowodzenie
  2. Próba realizacji zamówienia ZS3 z MAG 200: MAG (10) - ZAM (5 + 5 + 2) = 10 - 12 => wynik: niepowodzenie
  3. Próba realizacji zamówienia ZS3 z MAG 100: MAG (2) - ZAM (2) = 2 - 2 => wynik: POWODZENIE
  4. 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)