Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a22b8118

Von Jan Büren vor fast 11 Jahren hinzugefügt

  • ID a22b8118e0bd68acac8a2d7b02a2d4f9fd0eaff1
  • Vorgänger 6f22c9ac
  • Nachfolger b599ced4

Rundungsfehler bei periodischen Rechnungen mit glatten Einzelpreisen und Rabatt behoben

Unterschiede anzeigen:

SL/DB/Helper/PriceTaxCalculator.pm
74 74
  $item->base_qty($item_unit->convert_to($item->qty, $part_unit));
75 75
  $item->fxsellprice($item->sellprice) if $data->{is_invoice};
76 76

  
77
  my $num_dec   = _num_decimal_places($item->sellprice);
77
  my $num_dec   = _num_decimal_places($item->sellprice) || 2;
78
  #  ^ we need at least 2 decimal places                   ^
79
  # my test case 43.00 € with 0 decimal places and 0.5 discount ->
80
  # : sellprice before:43.00000
81
  # : num dec   before:0
82
  # : discount / sellprice ratio:  22  /  21
83
  # : discount = 43 * 0.5 _round(21.5, 0) = 22
84
  # TODO write a test case
78 85
  my $discount  = _round($item->sellprice * ($item->discount || 0), $num_dec);
79 86
  my $sellprice = _round($item->sellprice - $discount,              $num_dec);
80 87

  
doc/changelog
117 117
- Perl v5.10.1 oder neuer und PostgreSQL v8.4 oder neuer werden
118 118
  zwingend vorausgesetzt.
119 119

  
120
- Rundungsfehler bei periodischen Rechnungen mit Rabatt und glatten Einzelpreisen behoben
121

  
120 122
Bugfixes:
121 123

  
122 124
- Bugfix #182: Bug in bin/mozilla/gl.pl - Keine Steuerautomatik möglich!

Auch abrufbar als: Unified diff