diff --git a/attached_assets/image_1757348796301.png b/attached_assets/image_1757348796301.png new file mode 100644 index 0000000..703a2f4 Binary files /dev/null and b/attached_assets/image_1757348796301.png differ diff --git a/client/src/pages/Avoirs.tsx b/client/src/pages/Avoirs.tsx index 6442371..ff49c35 100644 --- a/client/src/pages/Avoirs.tsx +++ b/client/src/pages/Avoirs.tsx @@ -71,19 +71,21 @@ const avoirSchema = z.object({ supplierId: z.coerce.number().min(1, "Veuillez sélectionner un fournisseur"), groupId: z.coerce.number().min(1, "Veuillez sélectionner un magasin"), invoiceReference: z.string().optional(), - amount: z.string().transform((val) => { - if (val === "" || val === null || val === undefined) { - return undefined; - } - const num = parseFloat(val); - if (isNaN(num)) { - throw new Error("Montant invalide"); - } - if (num <= 0) { - throw new Error("Le montant doit être supérieur à 0"); - } - return num; - }).optional(), + amount: z.union([ + z.null().transform(() => undefined), + z.undefined().transform(() => undefined), + z.literal("").transform(() => undefined), + z.string().transform((val) => { + const num = parseFloat(val); + if (isNaN(num)) { + throw new Error("Montant invalide"); + } + if (num <= 0) { + throw new Error("Le montant doit être supérieur à 0"); + } + return num; + }) + ]).optional(), comment: z.string().optional(), commercialProcessed: z.boolean().optional(), status: z.enum(["En attente de demande", "Demandé", "Reçu"]).optional(),