Erstellt vor 9 Jahren

Geschlossen vor 6 Jahren

#378 closed Fehler (invalid)

Format- und Warenbestandsproblem bei backorders

Erstellt von: info@… Verantwortlicher: p.reetz@…
Priorität: normal Meilenstein:
Komponente: kivitendo ERP Version: 2.4.3
Schweregrad: schwerwiegend Stichworte: Bericht
Beobachter: m.bunkus@…

Beschreibung

Der Backorder-Mechanismus enthält zwei Fehler:

  1. Bei Verwendung von nicht ganzzahligen Mengen für Anzahl und Lagerausgang

(z.B. bei Verkauf nach Gewicht) werden diese nicht richtig gehandhabt.

  1. Bei Eingabe einer Zahl im Lagerausgang und Aufrufen der Rechnung aus dem

"Auftrag bearbeiten" Formular wird der Warenbestand nicht korrekt reduziert.

Der angefügte Patch beseitigt in meiner Installation diese Probleme. Die
Modifikationen für die korrekte Behandlung des Warenbestandes wurden aus
SQL-Ledger version 2.2.6 übernommen.
jzach

--- bin/mozilla/oe.pl.original 2006-07-18 12:03:47.000000000 +0200
+++ bin/mozilla/oe.pl 2006-07-19 15:27:42.000000000 +0200
@@ -261,7 +261,10 @@

$form->{"qty_$i"} =

$form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty);


  • map { $form->{"${_}_$i"} =~ s/\"/"/g }

+ $form->{"ship_$i"} =
+ $form->format_amount(\%myconfig, $form->{"ship_$i"});
+
+ map { $form->{"${_}_$i"} =~ s/\"/"/g }

qw(partnumber description unit);

}


@@ -2085,7 +2088,10 @@

map {

$form->{"${_}_$i"} =

$form->format_amount(\%myconfig, $form->{"${_}_$i"})

  • } qw(sellprice discount);

+ } qw(qty sellprice discount);
+
+ $form->{"oldship_$i"} = $form->{"ship_$i"};
+ $form->{"ship_$i"} = 0;

}


OE->save(\%myconfig, \%$form);

@@ -2095,7 +2101,10 @@

$count = 0;


for $i (1 .. $form->{rowcount}) {

  • $form->{"qty_$i"} = $form->{"ship_$i"};

+ $form->{"qty_$i"} = $form->{"oldship_$i"};
+
+ $form->{"orderitems_id_$i"} = "";
+

if ($form->{"qty_$i"}) {

push @a, {};

Änderungshistorie (5)

comment:1 Geändert vor 9 Jahren durch info@…

Bei Erzeugnissen gibt es ein zusätzliches Problem: Hier wird der Lagerbestand
nicht korrigiert, weil es sich vermeintlich um eine reine Dienstleistung
handelt. Der Grund ist ein Schreibfehler im Code von OE.pm (durch Vergleich mit
SQL-Ledger 2.2.6 gefunden). Hierzu folgender Patch:

--- SL/OE.pm.original 2006-07-19 16:58:19.000000000 +0200
+++ SL/OE.pm 2006-07-19 17:04:01.000000000 +0200
@@ -1223,7 +1223,7 @@

if ($ref->{assembly}) {

$ath->execute($ref->{parts_id})
$form->dberror($query);
  • ($ispa) = $sth->fetchrow_array;

+ ($ispa) = $ath->fetchrow_array;

$ath->finish;

next unless $ispa;

comment:2 Geändert vor 8 Jahren durch ceretonin@…

  • Stichworte Bericht hinzugefügt; Verkauf gelöscht
  • Version von 2.2.2 nach 2.4.0 geändert

comment:3 Geändert vor 8 Jahren durch info@…

Sollte sich jemand doch einmal mit diesem Bug beschäftigen, weise ich darauf
hin, dass die Patches von mir bis zur Version 2.4.3 weitergepflegt wurden. Man
findet sie im User Forum.

comment:4 Geändert vor 7 Jahren durch info@…

  • Version von 2.4.0 nach 2.4.3 geändert

comment:5 Geändert vor 6 Jahren durch m.bunkus@…

  • Beobachter m.bunkus@… hinzugefügt
  • Lösung auf invalid gesetzt
  • Status von new nach closed geändert
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.