From 44e7c2ef90edbdf5c131c7b64d57a1d15652522c Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Wed, 22 Jul 2026 12:52:01 +0200 Subject: [PATCH] Chargen: festgelegte Produkteinheit ist massgeblich (nicht die Packung) Korrektur zum vorigen Commit: Anzeige und Bearbeitung der Chargen richten sich nach der im Produkt eingestellten Einheit. Als Untermenge stehen darunter die Basiseinheit (falls abweichend) und die Packungen (falls Packungsgroesse gesetzt). Co-Authored-By: Claude Opus 4.8 --- web/src/pages/ProductForm.jsx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/web/src/pages/ProductForm.jsx b/web/src/pages/ProductForm.jsx index f7d5379..84b91db 100644 --- a/web/src/pages/ProductForm.jsx +++ b/web/src/pages/ProductForm.jsx @@ -205,10 +205,8 @@ export default function ProductForm() {

{isNew ? "Neues Produkt" : form.name || "Produkt"}

{!isNew && product && (
- Bestand:{" "} - {product.package_size - ? `${fmt(product.stock / product.package_size)} Pkg · ${fmt(product.stock / (product.unit_factor || 1))} ${product.unit_name}` - : `${fmt(product.stock / (product.unit_factor || 1))} ${product.unit_name}`} + Bestand: {fmt(product.stock / (product.unit_factor || 1))} {product.unit_name} + {product.package_size ? ` · ${fmt(product.stock / product.package_size)} Pkg` : ""}
)} @@ -317,14 +315,16 @@ function LotsCard({ product, lots, baseShort, warnDays, isAdmin, imageUrl, onCha const unitName = product?.unit_name || baseShort; const pkgSize = product?.package_size || 0; - // Maßgebliche Einheit: Packung, sobald eine Packungsgröße hinterlegt ist – - // sonst die Produkteinheit. Die Basiseinheit ist nur die Untermenge. - const primaryFactor = pkgSize > 0 ? pkgSize : unitFactor; - const primaryLabel = pkgSize > 0 ? "Pkg" : unitName; + // Maßgeblich ist die im Produkt festgelegte Einheit. + const primaryFactor = unitFactor; + const primaryLabel = unitName; - // Untermenge: Menge in der Basiseinheit (nur wenn sie sich unterscheidet). + // Untermengen: Basiseinheit (falls abweichend) und Packungen (falls hinterlegt). function secondary(qty) { - return primaryFactor !== 1 ? `${fmt(qty)} ${baseShort}` : ""; + const parts = []; + if (unitFactor !== 1) parts.push(`${fmt(qty)} ${baseShort}`); + if (pkgSize > 0) parts.push(`${fmt(qty / pkgSize)} Pkg`); + return parts.join(" · "); } function startEdit(l) { @@ -432,7 +432,7 @@ function LotsCard({ product, lots, baseShort, warnDays, isAdmin, imageUrl, onCha

- Mengen in {pkgSize > 0 ? "Packungen" : unitName} + Mengen in {unitName} {pkgSize > 0 ? ` (1 Packung = ${fmt(pkgSize)} ${baseShort})` : ""}.