]> wagnertech.de Git - kivitendo-erp.git/commitdiff
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 03512056acd8d83fa0c60555fdbd892a6d10ea2d..75631fa292b690dadaf8fbae0cbd5b48aa71bc1e 100644 (file)
@@ -855,7 +855,7 @@ sub update {
   map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
     qw(exchangerate creditlimit creditremaining);
 
   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"} =
   $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};
   $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");
   &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;
 
 
   $form->{rowcount} = $count + 1;