From: G. Richardson Date: Wed, 3 Sep 2014 14:19:20 +0000 (+0200) Subject: netprice auf Anzahl von Nachkommastellen von sellprice runden X-Git-Tag: release-3.2.0beta~320^2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=99d8aaf4fd6df466ee540770cc7e80ae724dd4ad;p=kivitendo-erp.git netprice auf Anzahl von Nachkommastellen von sellprice runden Es geht um die Anzeige der Einzelpreise von Positionen der Druckvorlagen. Bisher wurde netprice hart auf 2 Nachkommastellen gerundet, was zu Problemen bei Subcentpreisen führte. Dies hatte den Effekt, daß z.B. Menge 1000 und Sellprice 0.0036 eine linetotal von 3.6 ergab, und netprice mit 3.6/1000 auf 2 Nachkommastellen gerundet zu 0 wurde. In der Druckvorlage wurde dadurch der effektive Einzelpreis zu 0. Rundet man auf die Anzahl der Nachkommastellen von sellprice (in diesem Beispiel 4), wird daraus wieder 0.0036 und kann in der Druckvorlage korrekt angezeigt werden. --- diff --git a/SL/IS.pm b/SL/IS.pm index f429034e8..6c5aa9ffe 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -238,7 +238,7 @@ sub invoice_details { my $discount_round_error = $discount + ($linetotal_exact - $nodiscount_exact_linetotal); # not used - $form->{"netprice_$i"} = $form->round_amount($form->{"qty_$i"} ? ($linetotal / $form->{"qty_$i"}) : 0, 2); + $form->{"netprice_$i"} = $form->round_amount($form->{"qty_$i"} ? ($linetotal / $form->{"qty_$i"}) : 0, $decimalplaces); push @{ $form->{TEMPLATE_ARRAYS}->{netprice} }, ($form->{"netprice_$i"} != 0) ? $form->format_amount($myconfig, $form->{"netprice_$i"}, $decimalplaces) : ''; push @{ $form->{TEMPLATE_ARRAYS}->{netprice_nofmt} }, ($form->{"netprice_$i"} != 0) ? $form->{"netprice_$i"} : ''; diff --git a/SL/OE.pm b/SL/OE.pm index 279b08cce..52a5a61d6 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -1236,7 +1236,7 @@ sub order_details { my $discount_round_error = $discount + ($linetotal_exact - $nodiscount_exact_linetotal); # not used - $form->{"netprice_$i"} = $form->round_amount($form->{"qty_$i"} ? ($linetotal / $form->{"qty_$i"}) : 0, 2); + $form->{"netprice_$i"} = $form->round_amount($form->{"qty_$i"} ? ($linetotal / $form->{"qty_$i"}) : 0, $decimalplaces); push @{ $form->{TEMPLATE_ARRAYS}->{netprice} }, ($form->{"netprice_$i"} != 0) ? $form->format_amount($myconfig, $form->{"netprice_$i"}, $decimalplaces) : ''; push @{ $form->{TEMPLATE_ARRAYS}->{netprice_nofmt} }, ($form->{"netprice_$i"} != 0) ? $form->{"netprice_$i"} : '';