Revision 075f64d6
Von Jan Büren vor etwa 6 Jahren hinzugefügt
SL/DB/Helper/FlattenToForm.pm | ||
---|---|---|
90 | 90 |
_copy($item, $form, '', "_${idx}", 0, qw(description project_id ship serialnumber pricegroup_id ordnumber donumber cusordnumber unit |
91 | 91 |
subtotal longdescription price_factor_id marge_price_factor reqdate transdate |
92 | 92 |
active_price_source active_discount_source)); |
93 |
_copy($item, $form, '', "_${idx}", $format_noround, qw(qty sellprice)); |
|
93 |
_copy($item, $form, '', "_${idx}", $format_noround, qw(qty sellprice fxsellprice));
|
|
94 | 94 |
_copy($item, $form, '', "_${idx}", $format_amounts, qw(marge_total marge_percent lastcost)); |
95 | 95 |
_copy($item, $form, '', "_${idx}", $format_percent, qw(discount)); |
96 | 96 |
_copy($item->project, $form, 'project', "_${idx}", 0, qw(number description)) if _has($item, 'project_id'); |
SL/DB/Helper/PriceTaxCalculator.pm | ||
---|---|---|
95 | 95 |
$item->fxsellprice($item->sellprice) if $data->{is_invoice}; |
96 | 96 |
|
97 | 97 |
my $num_dec = max 2, _num_decimal_places($item->sellprice); |
98 |
$num_dec = 5; |
|
98 | 99 |
my $discount = _round($item->sellprice * ($item->discount || 0), $num_dec); |
99 | 100 |
my $sellprice = _round($item->sellprice - $discount, $num_dec); |
100 | 101 |
|
SL/Helper/MassPrintCreatePDF.pm | ||
---|---|---|
37 | 37 |
# flatten_to_form sets payment_terms from customer/vendor - we do not want that here |
38 | 38 |
# really ?? |
39 | 39 |
delete $form->{payment_terms} if !$form->{payment_id}; |
40 |
for my $i (1 .. $form->{rowcount}) { |
|
41 |
$form->{"sellprice_$i"} = $form->{"fxsellprice_$i"}; |
|
42 |
} |
|
40 | 43 |
|
41 | 44 |
$form->prepare_for_printing; |
42 | 45 |
$form->{attachment_filename} = $form->generate_attachment_filename; |
Auch abrufbar als: Unified diff
Fixt #352 Beim Drucken mehrerer Rechnung aus dem Bericht heraus wird der Rabatt falsch berechnet
Hotfix für die zweifache Berechnung vom Rabatt (Marge bei Berichten falsch) erstellt.
Hintergrund: Der alte Code erwartet keine vorformatierten Werte, wird aber bei
periodischen Jobs noch zwingend aufgerufen (sellprice mit fxsellprice in MassPrintCreatePDF überlagert)
Ferner Rundungsgenauigkeiten für wiederkehrende Rechnungen erhöht.