Fehler #373
Auftragspositionen mit negativer Menge verschwinden im Workflow zur Rechnung
0%
Beschreibung
Durch den Algorithmus zum Ermitteln und Entfernen schon berechneter Positionen werden Positionen mit negativen Mengen nicht in die Rechnung übernommen, auch wenn des zu diesem Auftrag noch gar keine Rechnung gibt.
Negative Mengen werden häufig dazu verwendet, um Gutschriften oder Voraus- oder Teilzahlungen darzustellen.
Eine Lösung wäre, in bin/mozilla/io.pl sub _remove_billed_or_delivered_rows zurückzukehren, wenn die übergebenen qunatities leer sind. In dem Fall kann man sich die Berechnung ohnehin sparen:
return if !%{$params{quantities}}; # empty
Ein anderes Problem ist, wie man mit den negativen Mengen umgeht, z.B.
Auftrag: -3 x Gutschein
Rechnung 1: -1 x Gutschein
dann
Rechnung 2: -2 x Gutschein
remove_billed_or_delivered_rows ändert die Mengen aber nur, wenn die schon berechnete Menge kleiner ist als die Auftragsmenge. Hier müsste dann also das Vorzeichen mit bedacht werden.