Währung in Verkaufs-/Einkaufsrechnungj
authorNiclas Zimmermann <niclas@lx-office-hosting.de>
Tue, 18 Sep 2012 13:11:05 +0000 (15:11 +0200)
committerNiclas Zimmermann <niclas@lx-office-hosting.de>
Tue, 18 Sep 2012 13:11:05 +0000 (15:11 +0200)
In der Verkaufsrechnung traten noch einige Fehler auf, wenn man
ausländische Währungen angegeben hat. Wechselkurse wurden als Null
angezeigt und es gab kein Eingabefeld, wenn der Wechselkurs an einem
Datum noch nicht in der Datenbank vorhanden war. In Eingabefelder
eingegebene Werte wurden ignoriert.

In der Einkaufsrechnung traten ähnliche Fehler auf. Hier wurde nicht
einmal ein Wechselkurs angezeigt, obwohl Standardwährung und in der
Rechnung verwendete Währung nicht übereinstimmen.

bin/mozilla/ir.pl
bin/mozilla/is.pl
templates/webpages/ir/_payments.html
templates/webpages/is/_payments.html

index 7d5c36a..f909d86 100644 (file)
@@ -316,7 +316,8 @@ sub form_header {
   my @values = map { $_       } @{ $form->{ALL_CURRENCIES} };
   my %labels = map { $_ => $_ } @{ $form->{ALL_CURRENCIES} };
   $form->{currency}            = $form->{defaultcurrency} unless $form->{currency};
-  $TMPL_VAR{show_exchangerate} = $form->{currency} ne $form->{defaultcurrency};
+  # show_exchangerate is also later needed in another template
+  $form->{show_exchangerate} = $form->{currency} ne $form->{defaultcurrency};
   $TMPL_VAR{currencies}        = NTI($cgi->popup_menu('-name' => 'currency', '-default' => $form->{"currency"},
                                                       '-values' => \@values, '-labels' => \%labels,
                                                       '-onchange' => "document.getElementById('update_button').click();"
index 4716f60..56162d5 100644 (file)
@@ -517,6 +517,9 @@ sub update {
   for my $i (1 .. $form->{paidaccounts}) {
     next unless $form->{"paid_$i"};
     map { $form->{"${_}_$i"} = $form->parse_amount(\%myconfig, $form->{"${_}_$i"}) } qw(paid exchangerate);
+    if (!$form->{"forex_$i"}) {   #read exchangerate from input field (not hidden)
+      $form->{exchangerate} = $form->{"exchangerate_$i"};
+    } 
     $form->{"forex_$i"}        = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{"datepaid_$i"}, 'buy');
     $form->{"exchangerate_$i"} = $form->{"forex_$i"} if $form->{"forex_$i"};
   }
index 1677219..6d7db5e 100644 (file)
@@ -75,9 +75,9 @@
      <td align="center">
   [% SET forex        = 'forex_'        _ i %]
   [% SET exchangerate = 'exchangerate_' _ i %]
-  [% IF forex %]
+  [% IF $forex %]
         <input type="hidden" name="exchangerate_[% i %]" value="[% LxERP.format_amount($exchangerate, 2) %]">
-        [% LxERP.format_amount(exchangerate, 2) %]
+        [% LxERP.format_amount($forex, 2) %]
   [% ELSE %]
      [% IF $changeable %]
         <input name="exchangerate_[% i %]" size="10" value="[% LxERP.format_amount($exchangerate, 2, 1) %]">
@@ -86,7 +86,7 @@
         [% LxERP.format_amount($exchangerate, 2, 1) %]
      [% END %]
   [% END %]
-        <input type="hidden" name="forex_[% i %]" value="[% $forex %]">;
+        <input type="hidden" name="forex_[% i %]" value="[% $forex %]">
      </td>
 [% END %]
 
index a872215..41b0186 100644 (file)
@@ -78,7 +78,7 @@
      <td align="center">
   [% SET forex        = 'forex_'        _ i %]
   [% SET exchangerate = 'exchangerate_' _ i %]
-  [% IF forex %]
+  [% IF $forex %]
         <input type="hidden" name="exchangerate_[% i %]" value="[% LxERP.format_amount($exchangerate, 2) %]">
         [% LxERP.format_amount($forex, 2) %]
   [% ELSE %]