Zum Hauptinhalt springen

Lager — Produkte (Sub-Route)

Zweck

Sub-Route /warehouses/:id/products zeigt den Bestand eines Lagers pro Produkt. Detail-Sicht /warehouses/:id/products/:warehouseProductId rendert ein einzelnes WarehouseProduct mit Mindest-/Maximalbestand, Reservierungen, letzter Bewegung.

Voraussetzungen

- Berechtigung `view:Warehouse` und `view:WarehouseProduct`. - Für Pflege: `create`/`update:WarehouseProduct` und `view:Product`.

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_Warehouse, WarehouseDetail aufrufbar
view/create/updateWarehouseProductBestand pflegenAPP_SPEAMCORE_VIEW/CREATE/UPDATE_WAREHOUSE_PRODUCT
viewProductProdukt-AuswahlAPP_SPEAMCORE_VIEW_PRODUCT

Schritt-für-Schritt-Anleitung

  1. Lager (/warehouses/:id) → Tab Produkte.
  2. + Produkt wählt ein Produkt und legt einen WarehouseProduct-Datensatz an.
  3. Klick auf eine Zeile → Detail mit Bestands-Historie und Soll-Werten.

Listenansicht — warehouses-products

Pattern (Bestand-Sicht)

Read-mostly Liste der Produkte mit WarehouseProduct.warehouseId = :id. Zeigt aktuelle amount-Werte des Lagers.

SpalteInhalt
Produkt-Nr.Produktnummer aus dem Stamm.
TitelProduktname.
amountAktueller Bestand. Inline-Editierbar (Direktkorrektur ohne Inventur).
minStockMindestbestand-Schwelle. Bei Unterschreitung Notification.
reservedAmountIn offenen Aufträgen reservierte Menge.
availableAmountamount - reservedAmount.
**Direktkorrektur vs Inventur:** Inline-Änderung von `amount` erzeugt einen `ProductMovement` mit `type = 'correction'`. Für formale Inventur mit Mehrpersonen-Zaehlung und Unterschrift verwenden Sie [/inventories](/inventories). Direktkorrektur für kleine Anpassungen, Inventur für Stichtags-Bestaende.

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/warehouse-products?filter[warehouseId]Listeview WarehouseProduct
POST/api/warehouse-productsAnlegencreate WarehouseProduct
PATCH/api/warehouse-products/:idÄndernupdate WarehouseProduct

Versionshinweise

  • 2026-04-30: Initiale Veroeffentlichung.