X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FIS.pm;h=3e72da7aa8b136f35c8a0069ec406b602f68b12f;hb=5b4da8b54a5b66176d56b2ac574e30d75b29eb31;hp=b595616565fb1b17d9343915f177f58f28506f57;hpb=8e2065873b0e00dde437383bb22c57be508e331f;p=kivitendo-erp.git diff --git a/SL/IS.pm b/SL/IS.pm index b59561656..3e72da7aa 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -685,10 +685,6 @@ sub post_invoice { } } - $project_id = 'NULL'; - if ($form->{"projectnumber_$i"}) { - $project_id = $form->{"projectnumber_$i"}; - } $deliverydate = ($form->{"deliverydate_$i"}) ? qq|'$form->{"deliverydate_$i"}'| @@ -708,7 +704,7 @@ sub post_invoice { '$form->{"description_$i"}', '$form->{"longdescription_$i"}', $form->{"qty_$i"}, $form->{"sellprice_$i"}, $fxsellprice, $form->{"discount_$i"}, $allocated, 'f', - '$form->{"unit_$i"}', $deliverydate, (SELECT id from project where projectnumber = '$project_id'), + '$form->{"unit_$i"}', $deliverydate, | . conv_i($form->{"project_id_$i"}) . qq|, '$form->{"serialnumber_$i"}', '$pricegroup_id', '$form->{"ordnumber_$i"}', '$form->{"transdate_$i"}', '$form->{"cusordnumber_$i"}', $baseqty, '$subtotal')|; $dbh->do($query) || $form->dberror($query); @@ -801,6 +797,8 @@ sub post_invoice { $form->{exchangerate}, 0); } + $project_id = conv_i($form->{"globalproject_id"}); + foreach my $trans_id (keys %{ $form->{amount} }) { foreach my $accno (keys %{ $form->{amount}{$trans_id} }) { next unless ($form->{expense_inventory} =~ /$accno/); @@ -810,12 +808,12 @@ sub post_invoice { ) != 0 ) { $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate, taxkey) + transdate, taxkey, project_id) VALUES ($trans_id, (SELECT c.id FROM chart c WHERE c.accno = '$accno'), $form->{amount}{$trans_id}{$accno}, '$form->{invdate}', - (SELECT taxkey_id FROM chart WHERE accno = '$accno'))|; - $dbh->do($query) || $form->dberror($query); + (SELECT taxkey_id FROM chart WHERE accno = '$accno'), ?)|; + do_query($form, $dbh, $query, $project_id); $form->{amount}{$trans_id}{$accno} = 0; } } @@ -827,12 +825,12 @@ sub post_invoice { ) != 0 ) { $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate, taxkey) + transdate, taxkey, project_id) VALUES ($trans_id, (SELECT id FROM chart WHERE accno = '$accno'), $form->{amount}{$trans_id}{$accno}, '$form->{invdate}', - (SELECT taxkey_id FROM chart WHERE accno = '$accno'))|; - $dbh->do($query) || $form->dberror($query); + (SELECT taxkey_id FROM chart WHERE accno = '$accno'), ?)|; + do_query($form, $dbh, $query, $project_id); } } } @@ -881,23 +879,23 @@ sub post_invoice { if ($form->{amount}{ $form->{id} }{ $form->{AR} } != 0) { $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate) + transdate, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$form->{AR}'), - $amount, '$form->{"datepaid_$i"}')|; - $dbh->do($query) || $form->dberror($query); + $amount, '$form->{"datepaid_$i"}', ?)|; + do_query($form, $dbh, $query, $project_id); } # record payment $form->{"paid_$i"} *= -1; $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, - source, memo) + source, memo, ?) VALUES ($form->{id}, (SELECT c.id FROM chart c - WHERE c.accno = '$accno'), + WHERE c.accno = '$accno', project_id), $form->{"paid_$i"}, '$form->{"datepaid_$i"}', '$form->{"source_$i"}', '$form->{"memo_$i"}')|; - $dbh->do($query) || $form->dberror($query); + do_query($form, $dbh, $query, $project_id); # exchangerate difference $form->{fx}{$accno}{ $form->{"datepaid_$i"} } += @@ -937,12 +935,12 @@ sub post_invoice { ) { $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate, cleared, fx_transaction) + transdate, cleared, fx_transaction, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$accno'), - $form->{fx}{$accno}{$transdate}, '$transdate', '0', '1')|; - $dbh->do($query) || $form->dberror($query); + $form->{fx}{$accno}{$transdate}, '$transdate', '0', '1', ?)|; + do_query($form, $dbh, $query, $project_id); } } } @@ -1009,6 +1007,7 @@ Message: $form->{message}\r| if $form->{message}; delivery_vendor_id = $form->{delivery_vendor_id}, employee_id = $form->{employee_id}, storno = '$form->{storno}', + globalproject_id = | . conv_i($form->{"globalproject_id"}, 'NULL') . qq|, cp_id = | . conv_i($form->{"cp_id"}, 'NULL') . qq| WHERE id = $form->{id} |; @@ -1074,6 +1073,8 @@ sub post_payment { $form->get_exchangerate($dbh, $form->{currency}, $form->{invdate}, "buy"); + my $project_id = conv_i($form->{"globalproject_id"}); + # record payments and offsetting AR for my $i (1 .. $form->{paidaccounts}) { @@ -1108,11 +1109,11 @@ sub post_payment { $dbh->do($query) || $form->dberror($query); $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate) + transdate, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$form->{AR}'), - $amount, '$form->{"datepaid_$i"}')|; - $dbh->do($query) || $form->dberror($query); + $amount, '$form->{"datepaid_$i"}', ?)|; + do_query($form, $dbh, $query, $project_id); # record payment @@ -1123,12 +1124,12 @@ sub post_payment { $dbh->do($query) || $form->dberror($query); $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, - source, memo) + source, memo, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$accno'), $form->{"paid_$i"}, '$form->{"datepaid_$i"}', - '$form->{"source_$i"}', '$form->{"memo_$i"}')|; - $dbh->do($query) || $form->dberror($query); + '$form->{"source_$i"}', '$form->{"memo_$i"}', ?)|; + do_query($form, $dbh, $query, $project_id); # gain/loss @@ -1166,12 +1167,12 @@ sub post_payment { WHERE c.accno = '$accno') AND amount=$form->{fx}{$accno}{$transdate} AND transdate='$transdate' AND cleared='0' AND fx_transaction='1'|; $dbh->do($query) || $form->dberror($query); $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate, cleared, fx_transaction) + transdate, cleared, fx_transaction, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$accno'), - $form->{fx}{$accno}{$transdate}, '$transdate', '0', '1')|; - $dbh->do($query) || $form->dberror($query); + $form->{fx}{$accno}{$transdate}, '$transdate', '0', '1', ?)|; + do_query($form, $dbh, $query, $project_id); } } } @@ -1484,7 +1485,7 @@ sub retrieve_invoice { # retrieve invoice $query = qq|SELECT a.invnumber, a.ordnumber, a.quonumber, a.cusordnumber, - a.orddate, a.quodate, + a.orddate, a.quodate, a.globalproject_id, a.transdate AS invdate, a.deliverydate, a.paid, a.storno, a.gldate, a.shippingpoint, a.shipvia, a.terms, a.notes, a.intnotes, a.taxzone_id, a.duedate, a.taxincluded, a.curr AS currency, a.shipto_id, a.cp_id,