Revision d85a3a7c
Von Bernd Blessmann vor fast 14 Jahren hinzugefügt
bin/mozilla/do.pl | ||
---|---|---|
846 | 846 |
|
847 | 847 |
map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued); |
848 | 848 |
|
849 |
# get vendor or customer discount |
|
850 |
my $vc_discount; |
|
851 |
my $saved_form = save_form(); |
|
852 |
if ($form->{vc} eq 'vendor') { |
|
853 |
IR->get_vendor(\%myconfig, \%$form); |
|
854 |
$vc_discount = $form->{vendor_discount}; |
|
855 |
} else { |
|
856 |
IS->get_customer(\%myconfig, \%$form); |
|
857 |
$vc_discount = $form->parse_amount(\%myconfig, $form->{customer_discount}); |
|
858 |
} |
|
859 |
restore_form($saved_form); |
|
860 |
|
|
849 | 861 |
$form->{rowcount} = 0; |
850 | 862 |
foreach my $ref (@{ $form->{form_details} }) { |
851 | 863 |
$form->{rowcount}++; |
852 | 864 |
$ref->{reqdate} ||= $ref->{dord_transdate}; # copy transdates into each invoice row |
853 | 865 |
map { $form->{"${_}_$form->{rowcount}"} = $ref->{$_} } keys %{ $ref }; |
854 |
map { $form->{"${_}_$form->{rowcount}"} = $form->format_amount(\%myconfig, $ref->{$_}) } qw(qty sellprice discount lastcost); |
|
866 |
map { $form->{"${_}_$form->{rowcount}"} = $form->format_amount(\%myconfig, $ref->{$_}) } qw(qty sellprice lastcost); |
|
867 |
|
|
868 |
if ($vc_discount){ # falls wir einen Lieferanten/Kundenrabatt haben |
|
869 |
# und keinen anderen discount wert an $i ... |
|
870 |
$form->{"discount_$form->{rowcount}"} ||= $vc_discount; # ... nehmen wir diesen Rabatt |
|
871 |
} |
|
872 |
|
|
855 | 873 |
$form->{"discount_$form->{rowcount}"} = $form->{"discount_$form->{rowcount}"} * 100; #s.a. Bug 1151 |
856 | 874 |
# Anm.: Eine Änderung des discounts in der SL/DO.pm->retrieve (select (doi.discount * 100) as discount) ergibt in psql einen |
857 | 875 |
# Wert von 10.0000001490116. Ferner ist der Rabatt in der Rechnung dann bei 1.0 (?). Deswegen lasse ich das hier. jb 10.10.09 |
876 |
|
|
877 |
$form->{"discount_$form->{rowcount}"} = $form->format_amount(\%myconfig, $form->{"discount_$form->{rowcount}"}); |
|
858 | 878 |
} |
859 | 879 |
delete $form->{form_details}; |
860 | 880 |
|
Auch abrufbar als: Unified diff
Rabatt geht nicht verloren, wenn Rechnung aus Lieferscheinliste generiert wird.
Fix für Bug 1523