Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 97908d77

Von Bernd Bleßmann vor mehr als 9 Jahren hinzugefügt

  • ID 97908d779dfe277a4482c1be2c7e919dfd28026b
  • Vorgänger dc83feb1
  • Nachfolger 33298084

parse/format-Fehler bei Rabatten behoben

Schon in der Maske eingegebene Rabatte wurden nicht geparsed,
Kunden-/Lieferanten und -Typ-Rabatte wurden teilweise ohne Berücksichtigung
schon eingegebener Rabatte gesetzt. Und beim Auswahl eines Artikels über die
Auswahlmaske, wurden Rabatte falsch formatiert.

behebt #50 (redmine) (unter anderem)

Unterschiede anzeigen:

bin/mozilla/is.pl
554 554

  
555 555
    my $rows = scalar @{ $form->{item_list} };
556 556

  
557
    # Falls kein Kundenrabatt vorhanden ist, den aktuellen Rabatt nicht mit 0% überschreiben,
558
    # da hier der Anwender schon manual einen Wert eingetragen haben könnte (analog zu qty) Bugfix: 1412
559
    if ($form->{customer_discount}){
560
      $form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{customer_discount} * 100);
561
    }
557
    $form->{"discount_$i"}   = $form->parse_amount(\%myconfig, $form->{"discount_$i"}) / 100.0;
558
    $form->{"discount_$i"} ||= $form->{customer_discount};
562 559

  
563 560
    if ($rows) {
564 561
      $form->{"qty_$i"} = $form->parse_amount(\%myconfig, $form->{"qty_$i"});
......
609 606

  
610 607
        $form->{"listprice_$i"} /= $exchangerate;
611 608

  
612
        my $amount = $form->{"sellprice_$i"} * $form->{"qty_$i"} * (1 - $form->{"discount_$i"} / 100);
609
        my $amount = $form->{"sellprice_$i"} * $form->{"qty_$i"} * (1 - $form->{"discount_$i"});
613 610
        map { $form->{"${_}_base"} = 0 }                                 split / /, $form->{taxaccounts};
614 611
        map { $form->{"${_}_base"} += $amount }                          split / /, $form->{"taxaccounts_$i"};
615 612
        map { $amount += ($form->{"${_}_base"} * $form->{"${_}_rate"}) } split / /, $form->{"taxaccounts_$i"} if !$form->{taxincluded};
......
618 615

  
619 616
        map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}, $decimalplaces) } qw(sellprice lastcost);
620 617

  
621
        $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"});
618
        $form->{"qty_$i"}      = $form->format_amount(\%myconfig, $form->{"qty_$i"});
619
        $form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"discount_$i"} * 100.0);
622 620
      }
623 621

  
624 622
      &display_form;

Auch abrufbar als: Unified diff