Zahlungskonditionen:
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 12 Jul 2007 14:51:51 +0000 (14:51 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 12 Jul 2007 14:51:51 +0000 (14:51 +0000)
1. Neue Variablen <%invtotal_wo_skonto%> und <%total_wo_skonto%> hinzugefügt, die die Belegsumme bzw. die noch offene Summe abzüglich des Skontobetrags beinhalten.
2. Die Variablen <%total%> und <%invtotal%> waren nur bei Rechnungen gefüllt, nicht aber bei Angeboten und Aufträgen.

SL/Form.pm
bin/mozilla/am.pl
doc/changelog
locale/de/all
locale/de/am

index b9ef3e1..7e5c873 100644 (file)
@@ -1370,12 +1370,29 @@ sub set_payment_options {
   ($self->{netto_date}, $self->{skonto_date}) =
     selectrow_query($self, $dbh, $query, $transdate, $self->{terms_netto}, $transdate, $self->{terms_skonto});
 
-  my $total = ($self->{invtotal}) ? $self->{invtotal} : $self->{ordtotal};
-  my $skonto_amount = $self->parse_amount($myconfig, $total) *
-    $self->{percent_skonto};
+  my ($invtotal, $total);
+  my (%amounts, %formatted_amounts);
 
-  $self->{skonto_amount} =
-    $self->format_amount($myconfig, $skonto_amount, 2);
+  if ($self->{type} =~ /_order$/) {
+    $amounts{invtotal} = $self->{ordtotal};
+    $amounts{total}    = $self->{ordtotal};
+
+  } elsif ($self->{type} =~ /_quotation$/) {
+    $amounts{invtotal} = $self->{quototal};
+    $amounts{total}    = $self->{quototal};
+
+  } else {
+    $amounts{invtotal} = $self->{invtotal};
+    $amounts{total}    = $self->{total};
+  }
+
+  map { $amounts{$_} = $self->parse_amount($myconfig, $amounts{$_}) } keys %amounts;
+
+  $amounts{skonto_amount}      = $amounts{invtotal} * $self->{percent_skonto};
+  $amounts{invtotal_wo_skonto} = $amounts{invtotal} * (1 - $self->{percent_skonto});
+  $amounts{total_wo_skonto}    = $amounts{total}    * (1 - $self->{percent_skonto});
+
+  map { $formatted_amounts{$_} = $self->format_amount($myconfig, $amounts{$_}, 2) } keys %amounts;
 
   if ($self->{"language_id"}) {
     $query =
@@ -1403,23 +1420,21 @@ sub set_payment_options {
         ($output_numberformat ne $myconfig->{"numberformat"})) {
       my $saved_numberformat = $myconfig->{"numberformat"};
       $myconfig->{"numberformat"} = $output_numberformat;
-      $self->{skonto_amount} =
-        $self->format_amount($myconfig, $skonto_amount, 2);
+      map { $formatted_amounts{$_} = $self->format_amount($myconfig, $amounts{$_}) } keys %amounts;
       $myconfig->{"numberformat"} = $saved_numberformat;
     }
   }
 
   $self->{payment_terms} =~ s/<%netto_date%>/$self->{netto_date}/g;
   $self->{payment_terms} =~ s/<%skonto_date%>/$self->{skonto_date}/g;
-  $self->{payment_terms} =~ s/<%skonto_amount%>/$self->{skonto_amount}/g;
-  $self->{payment_terms} =~ s/<%total%>/$self->{total}/g;
-  $self->{payment_terms} =~ s/<%invtotal%>/$self->{invtotal}/g;
   $self->{payment_terms} =~ s/<%currency%>/$self->{currency}/g;
   $self->{payment_terms} =~ s/<%terms_netto%>/$self->{terms_netto}/g;
   $self->{payment_terms} =~ s/<%account_number%>/$self->{account_number}/g;
   $self->{payment_terms} =~ s/<%bank%>/$self->{bank}/g;
   $self->{payment_terms} =~ s/<%bank_code%>/$self->{bank_code}/g;
 
+  map { $self->{payment_terms} =~ s/<%${_}%>/$formatted_amounts{$_}/g; } keys %formatted_amounts;
+
   $main::lxdebug->leave_sub();
 
 }
index 87ec9b3..7f98877 100644 (file)
@@ -2299,8 +2299,12 @@ sub payment_header {
   <li>| . $locale->text("&lt;%skonto_amount%&gt; -- The deductible amount")
 . qq|</li>
   <li>| . $locale->text("&lt;%total%&gt; -- Amount payable")
+. qq|</li>
+  <li>| . $locale->text("&lt;%total_wo_skonto%&gt; -- Amount payable less discount")
 . qq|</li>
   <li>| . $locale->text("&lt;%invtotal%&gt; -- Invoice total")
+. qq|</li>
+  <li>| . $locale->text("&lt;%invtotal_wo_skonto%&gt; -- Invoice total less discount")
 . qq|</li>
   <li>| . $locale->text("&lt;%currency%&gt; -- The selected currency")
 . qq|</li>
index 49a9f7d..90c1dd9 100644 (file)
@@ -7,6 +7,9 @@
 \r
   Neue Features und Verbesserungen:\r
 \r
+  - Zahlungskonditionen: Neue Variablen <%invtotal_wo_skonto%> und\r
+    <%total_wo_skonto%> hinzugefügt, die die Belegsumme bzw. die noch\r
+    offene Summe abzüglich des Skontobetrags beinhalten.\r
   - Verkauf: Es wird der Ertrag (Marge) pro Position und gesamt\r
     angezeigt.\r
   - Bei allen Listenansichten/Berichten Buttons zum Export der Liste\r
 \r
   Bugfixes:\r
 \r
+  - Zahlungskonditionen: Die Variablen <%total%> und <%invtotal%>\r
+    waren nur bei Rechnungen gefüllt, nicht aber bei Angeboten und\r
+    Aufträgen.\r
   - Es wurde verhindert, dass durch Manipulation von $form->{callback}\r
     beliebiger Code ausgeführt werden kann.\r
   - Webdav: Wenn eine Pfadkomponente Leerzeichen enthielt\r
index 8c823a0..82c4a99 100644 (file)
@@ -13,11 +13,13 @@ $self->{texts} = {
   '&lt;%bank_code%&gt; -- Your bank code' => '&lt;%bank_code%&gt; -- Die Bankleitzahl Ihrer Bank',
   '&lt;%currency%&gt; -- The selected currency' => '&lt;%currency%&gt; -- Die ausgew&auml;hlte W&auml;hrung',
   '&lt;%invtotal%&gt; -- Invoice total' => '&lt;%invtotal%&gt; -- Die Rechnungssumme',
+  '&lt;%invtotal_wo_skonto%&gt; -- Invoice total less discount' => '&lt;%invtotal_wo_skonto%&gt; -- Rechnungssumme abz&uuml;glich Skonto',
   '&lt;%netto_date%&gt; -- Date the payment is due in full' => '&lt;%netto_date%&gt; -- Das Datum, bis die Rechnung in voller H&ouml;he bezahlt werden muss',
   '&lt;%skonto_amount%&gt; -- The deductible amount' => '&lt;%skonto_amount%&gt; -- Der abziehbare Skontobetrag',
   '&lt;%skonto_date%&gt; -- Date the payment is due with discount' => '&lt;%skonto_date%&gt; -- Das Datum, bis die Rechnung unter Abzug von Skonto bezahlt werden kann',
   '&lt;%terms_netto%&gt; -- The number of days for full payment' => '&lt;%terms_netto%&gt; -- Die Anzahl Tage, bis die Rechnung in voller H&ouml;he bezahlt werden muss',
   '&lt;%total%&gt; -- Amount payable' => '&lt;%total%&gt; -- Noch zu bezahlender Betrag',
+  '&lt;%total_wo_skonto%&gt; -- Amount payable less discount' => '&lt;%total_wo_skonto%&gt; -- Noch zu bezahlender Betrag abz&uuml;glich Skonto',
   '*/'                          => '*/',
   '...done'                     => '...fertig',
   '1. Quarter'                  => '1. Quartal',
index 18a0a90..8e32167 100644 (file)
@@ -4,11 +4,13 @@ $self->{texts} = {
   '&lt;%bank_code%&gt; -- Your bank code' => '&lt;%bank_code%&gt; -- Die Bankleitzahl Ihrer Bank',
   '&lt;%currency%&gt; -- The selected currency' => '&lt;%currency%&gt; -- Die ausgew&auml;hlte W&auml;hrung',
   '&lt;%invtotal%&gt; -- Invoice total' => '&lt;%invtotal%&gt; -- Die Rechnungssumme',
+  '&lt;%invtotal_wo_skonto%&gt; -- Invoice total less discount' => '&lt;%invtotal_wo_skonto%&gt; -- Rechnungssumme abz&uuml;glich Skonto',
   '&lt;%netto_date%&gt; -- Date the payment is due in full' => '&lt;%netto_date%&gt; -- Das Datum, bis die Rechnung in voller H&ouml;he bezahlt werden muss',
   '&lt;%skonto_amount%&gt; -- The deductible amount' => '&lt;%skonto_amount%&gt; -- Der abziehbare Skontobetrag',
   '&lt;%skonto_date%&gt; -- Date the payment is due with discount' => '&lt;%skonto_date%&gt; -- Das Datum, bis die Rechnung unter Abzug von Skonto bezahlt werden kann',
   '&lt;%terms_netto%&gt; -- The number of days for full payment' => '&lt;%terms_netto%&gt; -- Die Anzahl Tage, bis die Rechnung in voller H&ouml;he bezahlt werden muss',
   '&lt;%total%&gt; -- Amount payable' => '&lt;%total%&gt; -- Noch zu bezahlender Betrag',
+  '&lt;%total_wo_skonto%&gt; -- Amount payable less discount' => '&lt;%total_wo_skonto%&gt; -- Noch zu bezahlender Betrag abz&uuml;glich Skonto',
   'A unit with this name does already exist.' => 'Eine Einheit mit diesem Namen existiert bereits.',
   'ADDED'                       => 'Hinzugefügt',
   'Account'                     => 'Konto',