Fix zu Bug 220, Rabatt wurde nur fuer ein einzelnes Item berechnet.
authorSven Schöling <s.schoeling@linet-services.de>
Thu, 12 Jan 2006 17:55:09 +0000 (17:55 +0000)
committerSven Schöling <s.schoeling@linet-services.de>
Thu, 12 Jan 2006 17:55:09 +0000 (17:55 +0000)
Man sollte dazu noch erwaehnen, dass das anscheinend kein Bug,
sondern eine Designentscheidung im SQL-Ledger ist.

SL/IS.pm

index f4bfd1d..14f375a 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -141,14 +141,14 @@ sub invoice_details {
       $dec = length $dec;
       my $decimalplaces = ($dec > 2) ? $dec : 2;
 
-      my $discount =
-        $form->round_amount(
-                            $sellprice * $form->parse_amount($myconfig,
-                                                 $form->{"discount_$i"}) / 100,
-                            $decimalplaces);
+      my $i_discount = $form->round_amount($sellprice * 
+                                           $form->parse_amount($myconfig, $form->{"discount_$i"}) / 100, $decimalplaces);
+
+      my $discount = $form->round_amount($form->{"qty_$i"} * $i_discount, $decimalplaces);
 
       # keep a netprice as well, (sellprice - discount)
-      $form->{"netprice_$i"} = $sellprice - $discount;
+      $form->{"netprice_$i"} = $sellprice - $i_discount;
+
       push(@{ $form->{netprice} },
            ($form->{"netprice_$i"} != 0)
            ? $form->format_amount(