Warenwirtschaft: Einkäufe auch nach Buchung korrigierbar, mit Änderungsprotokoll

Bisher ließen sich nur offene Bestellungen bearbeiten; ein Tippfehler in
einem gebuchten Wareneingang war nicht korrigierbar (Anforderung 14.09.2026).

- Bearbeiten/Korrigieren für gebuchte Eingänge (Admin): Bestell- und
  Eingangsdaten (Menge, Datum, Charge, MHD, Qualität, Preise, Lieferant,
  Lagerort). Menge wirkt sofort auf den Bestand; ml-Eingänge werden in ml
  korrigiert und über die gespeicherte Dichte in Gramm gebucht.
- Schutz: Menge nicht unter den bereits verbrauchten Anteil (Rohstoff je
  Eingang, Verpackung je Artikel); bei Verbrauch sind Art und Rohstoff/
  Artikel gesperrt (Formular + Server).
- Änderungsprotokoll (stock_entry_changes): wer/wann/Grund + geänderte
  Felder alt → neu; Anzeige auf der Detailseite. Grund bei gebuchten
  Eingängen Pflicht, bei offenen optional. Speichern ohne Änderung
  erzeugt keine Zeile.
- Tests (6 neue), In-App-Doku (Hinweise + Leitfaden 3.2) nachgezogen.

Migration: 2026_09_14_110000_create_stock_entry_changes_table.
Suite: 396 grün.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-09-14 14:51:27 +00:00
parent be1d8fdc39
commit 736cb087ae
14 changed files with 783 additions and 37 deletions

View file

@ -310,10 +310,26 @@ dadurch für die Bedienung ändert:
- **iPad:** Das Notizfeld der Produktion wächst beim Tippen automatisch mit und lässt
sich vergrößern; die Zwischenspeichern-Buttons sind über die Seite verteilt.
### Neu 14.09.2026 (Einkauf: Einheit, Dichte, Korrekturen)
- **Einheit als Pflichtfeld:** Beim Rohstoff-Einkauf steht die Einheit (g/ml) als
eigenes Feld **über** der Menge und muss bewusst gewählt werden („Bitte wählen“).
Bei ml zeigt das Mengenfeld live „ml × Dichte = g“.
- **Dichte selbsterklärend:** Hilfetexte am Rohstoff trennen Schwundfaktor (Rezeptur)
und Dichte (nur ml-Einkauf); Live-Vorschau „1 ml = x g“.
- **Korrigieren mit Änderungsprotokoll:** Einkäufe lassen sich jetzt **auch nach der
Buchung** korrigieren (Liste → Stift, Detailseite → **„Korrigieren“**): Menge,
Eingangsdatum, Charge, MHD, Qualität, Preise, Lieferant, Lagerort. Der **Grund ist
Pflicht**; jede Änderung landet mit Datum, Bearbeiter und „alt → neu“ im
**Änderungsprotokoll** unten auf der Detailseite. Schutz: Die Menge darf nicht unter
den bereits verbrauchten Anteil fallen, und bei Verbrauch sind Art und
Rohstoff/Artikel gesperrt. Auch Änderungen an offenen Bestellungen werden
protokolliert (Grund dort optional).
### In Vorbereitung / geplant
- **Versand im System** (DHL-Etiketten per API, AP-32 — bis dahin gilt die
Brückenlösung „DHL-Label aus dem Shop", s. o.), **Audit-Trail**,
Brückenlösung „DHL-Label aus dem Shop", s. o.), **Audit-Trail** (für Einkäufe seit 14.09. als Änderungsprotokoll vorhanden),
**blockbasierte Rechte**, **2FA für Admins**,
**WaWi-Einstellungsseite** (Schwellwerte/Defaults zentral).
- **Produktentwicklung:** Menüpunkt ist als Platzhalter angelegt – das genaue