X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ea14cfa54fc510f47a4ec9a85939deacf780adde..45f6e6ce9421e4d175645fa36b822a1c4dbd8ff4:/SL/IS.pm diff --git a/SL/IS.pm b/SL/IS.pm index f429034e8..e3ed35ff0 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"} : ''; @@ -492,7 +492,22 @@ sub customer_details { ORDER BY cp.cp_id LIMIT 1|; my $ref = selectfirst_hashref_query($form, $dbh, $query, @values); - + # we have no values, probably a invalid contact person. hotfix and first idea for issue #10 + if (!$ref) { + my $customer = SL::DB::Manager::Customer->find_by(id => $::form->{customer_id}); + if ($customer) { + $ref->{name} = $customer->name; + $ref->{street} = $customer->street; + $ref->{zipcode} = $customer->zipcode; + $ref->{country} = $customer->country; + } + my $contact = SL::DB::Manager::Contact->find_by(cp_id => $::form->{cp_id}); + if ($contact) { + $ref->{cp_name} = $contact->cp_name; + $ref->{cp_givenname} = $contact->cp_givenname; + $ref->{cp_gender} = $contact->cp_gender; + } + } # remove id and taxincluded before copy back delete @$ref{qw(id taxincluded)};