X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FIS.pm;h=d4d8c6f1dbf44a0f8b701999a87d14be5f8e9c18;hb=941fb8a11dc91bfd0951272fd4d04736936980b2;hp=f4bfd1da65fd6bbd3558f50e8044b6a75f3eee87;hpb=041a8bb77df72193d039f511707a58eef62e31c3;p=kivitendo-erp.git diff --git a/SL/IS.pm b/SL/IS.pm index f4bfd1da6..d4d8c6f1d 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -106,10 +106,10 @@ sub invoice_details { push(@{ $form->{description} }, qq|$form->{"description_$i"}|); push(@{ $form->{qty} }, $form->format_amount($myconfig, $form->{"qty_$i"})); - push(@{ $form->{unit} }, qq|$form->{"unit_$i"}|); - push(@{ $form->{deliverydate} }, qq|$form->{"deliverydate_$i"}|); + push(@{ $form->{unit} }, qq|$form->{"unit_$i"}|); + push(@{ $form->{deliverydate_oe} }, qq|$form->{"deliverydate_$i"}|); - push(@{ $form->{sellprice} }, $form->{"sellprice_$i"}); + push(@{ $form->{sellprice} }, $form->{"sellprice_$i"}); push(@{ $form->{ordnumber_oe} }, qq|$form->{"ordnumber_$i"}|); push(@{ $form->{transdate_oe} }, qq|$form->{"transdate_$i"}|); @@ -124,9 +124,7 @@ sub invoice_details { push(@{ $form->{licensenumber} }, $licensenumber); push(@{ $form->{validuntil} }, $locale->date($myconfig, $validuntil, 0)); - $licensenumber = "Lizenz: " . $licensenumber; $sth->finish; - push(@{ $form->{licensenumber} }, $licensenumber); } else { push(@{ $form->{licensenumber} }, ""); push(@{ $form->{validuntil} }, ""); @@ -141,14 +139,18 @@ sub invoice_details { $dec = length $dec; my $decimalplaces = ($dec > 2) ? $dec : 2; - my $discount = + my $i_discount = $form->round_amount( $sellprice * $form->parse_amount($myconfig, $form->{"discount_$i"}) / 100, $decimalplaces); + my $discount = + $form->round_amount($form->{"qty_$i"} * $i_discount, $decimalplaces); + # keep a netprice as well, (sellprice - discount) - $form->{"netprice_$i"} = $sellprice - $discount; + $form->{"netprice_$i"} = $sellprice - $i_discount; + push(@{ $form->{netprice} }, ($form->{"netprice_$i"} != 0) ? $form->format_amount( @@ -166,7 +168,8 @@ sub invoice_details { : " "; $linetotal = ($linetotal != 0) ? $linetotal : " "; - push(@{ $form->{discount} }, $discount); + push(@{ $form->{discount} }, $discount); + push(@{ $form->{p_discount} }, $form->{"discount_$i"}); $form->{total} += $linetotal; @@ -347,8 +350,6 @@ sub customer_details { $contact = "and cp.cp_id = $form->{cp_id}"; } - $taxincluded = $form->{taxincluded}; - # get rest for the customer my $query = qq|SELECT ct.*, cp.*, ct.notes as customernotes FROM customer ct @@ -358,9 +359,10 @@ sub customer_details { $sth->execute || $form->dberror($query); $ref = $sth->fetchrow_hashref(NAME_lc); - map { $form->{$_} = $ref->{$_} } keys %$ref; - $form->{taxincluded} = $taxincluded; + # remove id and taxincluded before copy back + delete @$ref{qw(id taxincluded)}; + map { $form->{$_} = $ref->{$_} } keys %$ref; $sth->finish; $dbh->disconnect; @@ -807,6 +809,8 @@ sub post_invoice { $form->{taxincluded} *= 1; my $datepaid = ($form->{paid}) ? qq|'$form->{datepaid}'| : "NULL"; my $duedate = ($form->{duedate}) ? qq|'$form->{duedate}'| : "NULL"; + my $deliverydate = + ($form->{deliverydate}) ? qq|'$form->{deliverydate}'| : "NULL"; # fill in subject if there is none $form->{subject} = qq|$form->{label} $form->{invnumber}| @@ -839,6 +843,7 @@ Message: $form->{message}\r| if $form->{message}; paid = $form->{paid}, datepaid = $datepaid, duedate = $duedate, + deliverydate = $deliverydate, invoice = '1', shippingpoint = '$form->{shippingpoint}', shipvia = '$form->{shipvia}', @@ -1164,7 +1169,7 @@ sub retrieve_invoice { # retrieve invoice $query = qq|SELECT a.invnumber, a.ordnumber, a.quonumber, a.cusordnumber, - a.transdate AS invdate, a.paid, + a.transdate AS invdate, a.deliverydate, a.paid, a.shippingpoint, a.shipvia, a.terms, a.notes, a.intnotes, a.duedate, a.taxincluded, a.curr AS currency, a.employee_id, e.name AS employee