Beim Wechsel des Lieferanten das Konto und den Steuerschlüssel richtig vorbelegen.
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 14 May 2009 11:41:39 +0000 (11:41 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 14 May 2009 11:41:39 +0000 (11:41 +0000)
Zum Einen sollte das Konto in der ersten Positionszeile nur dann gewechselt werden,
wenn in der Zeile noch kein Betrag eingetragen wurde. Zum Anderen sollte, wenn
das Konto auf das zuletzt für diesen Lieferanten bebuchte Konto gesetzt wird, auch
der zum neu ausgewählten Konto dazugehörige Steuerschlüssel ausgewählt werden und
nicht derjenige, der in der Maske vorher ausgewählt war.

Teil des Fixes für Bug 960.

bin/mozilla/ap.pl

index 0351205..75631fa 100644 (file)
@@ -855,7 +855,7 @@ sub update {
   map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
     qw(exchangerate creditlimit creditremaining);
 
-  @flds  = qw(amount AP_amount projectnumber oldprojectnumber project_id);
+  @flds  = qw(amount AP_amount projectnumber oldprojectnumber project_id taxchart);
   $count = 0;
   for $i (1 .. $form->{rowcount}) {
     $form->{"amount_$i"} =
@@ -889,9 +889,16 @@ sub update {
   $form->{exchangerate} = $form->{forex} if $form->{forex};
 
   $form->{invdate} = $form->{transdate};
-  $save_AP = $form->{AP};
+  my %saved_variables = map +( $_ => $form->{$_} ), qw(AP AP_amount_1 taxchart_1);
+
   &check_name("vendor");
-  $form->{AP} = $save_AP;
+
+  $form->{AP} = $saved_variables{AP};
+  if ($saved_variables{AP_amount_1} =~ m/.--./) {
+    map { $form->{$_} = $saved_variables{$_} } qw(AP_amount_1 taxchart_1);
+  } else {
+    delete $form->{taxchart_1};
+  }
 
   $form->{rowcount} = $count + 1;