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 <noreply@anthropic.com>
This commit is contained in:
@@ -205,10 +205,8 @@ export default function ProductForm() {
|
|||||||
<h1>{isNew ? "Neues Produkt" : form.name || "Produkt"}</h1>
|
<h1>{isNew ? "Neues Produkt" : form.name || "Produkt"}</h1>
|
||||||
{!isNew && product && (
|
{!isNew && product && (
|
||||||
<div className="sub">
|
<div className="sub">
|
||||||
Bestand:{" "}
|
Bestand: {fmt(product.stock / (product.unit_factor || 1))} {product.unit_name}
|
||||||
{product.package_size
|
{product.package_size ? ` · ${fmt(product.stock / product.package_size)} Pkg` : ""}
|
||||||
? `${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}`}
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
@@ -317,14 +315,16 @@ function LotsCard({ product, lots, baseShort, warnDays, isAdmin, imageUrl, onCha
|
|||||||
const unitName = product?.unit_name || baseShort;
|
const unitName = product?.unit_name || baseShort;
|
||||||
const pkgSize = product?.package_size || 0;
|
const pkgSize = product?.package_size || 0;
|
||||||
|
|
||||||
// Maßgebliche Einheit: Packung, sobald eine Packungsgröße hinterlegt ist –
|
// Maßgeblich ist die im Produkt festgelegte Einheit.
|
||||||
// sonst die Produkteinheit. Die Basiseinheit ist nur die Untermenge.
|
const primaryFactor = unitFactor;
|
||||||
const primaryFactor = pkgSize > 0 ? pkgSize : unitFactor;
|
const primaryLabel = unitName;
|
||||||
const primaryLabel = pkgSize > 0 ? "Pkg" : unitName;
|
|
||||||
|
|
||||||
// Untermenge: Menge in der Basiseinheit (nur wenn sie sich unterscheidet).
|
// Untermengen: Basiseinheit (falls abweichend) und Packungen (falls hinterlegt).
|
||||||
function secondary(qty) {
|
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) {
|
function startEdit(l) {
|
||||||
@@ -432,7 +432,7 @@ function LotsCard({ product, lots, baseShort, warnDays, isAdmin, imageUrl, onCha
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<p className="muted small">
|
<p className="muted small">
|
||||||
Mengen in {pkgSize > 0 ? "Packungen" : unitName}
|
Mengen in {unitName}
|
||||||
{pkgSize > 0 ? ` (1 Packung = ${fmt(pkgSize)} ${baseShort})` : ""}.
|
{pkgSize > 0 ? ` (1 Packung = ${fmt(pkgSize)} ${baseShort})` : ""}.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
Reference in New Issue
Block a user