X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAR.pm;h=ef42e69c60307605ecb9a3616a2a4a9f8f7e3e74;hb=64ec422b1db624af0f606fb485f7f5b0262006b3;hp=98a30297c488780980844285c8d3c61b3f93b1c1;hpb=024d2c2912122d35cc5d5a602e8464db86a16d1a;p=kivitendo-erp.git diff --git a/SL/AR.pm b/SL/AR.pm index 98a30297c..ef42e69c6 100644 --- a/SL/AR.pm +++ b/SL/AR.pm @@ -156,11 +156,12 @@ sub post_transaction { invnumber = ?, ordnumber = ?, transdate = ?, customer_id = ?, taxincluded = ?, amount = ?, duedate = ?, paid = ?, netamount = ?, curr = ?, notes = ?, department_id = ?, - employee_id = ?, storno = ?, storno_id = ? + employee_id = ?, storno = ?, storno_id = ?, globalproject_id = ? WHERE id = ?|; my @values = ($form->{invnumber}, $form->{ordnumber}, conv_date($form->{transdate}), conv_i($form->{customer_id}), $form->{taxincluded} ? 't' : 'f', $form->{amount}, conv_date($form->{duedate}), $form->{paid}, $form->{netamount}, $form->{currency}, $form->{notes}, conv_i($form->{department_id}), - conv_i($form->{employee_id}), $form->{storno} ? 't' : 'f', $form->{storno_id}, conv_i($form->{id})); + conv_i($form->{employee_id}), $form->{storno} ? 't' : 'f', $form->{storno_id}, + conv_i($form->{globalproject_id}), conv_i($form->{id})); do_query($form, $dbh, $query, @values); # add individual transactions for AR, amount and taxes @@ -171,7 +172,7 @@ sub post_transaction { # insert detail records in acc_trans $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey) VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?)|; - @values = (conv_i($form->{id}), conv_i($form->{AR_amounts}{"amount_$i"}), conv_i($form->{"amount_$i"}), conv_date($form->{transdate}), $project_id, + @values = (conv_i($form->{id}), $form->{AR_amounts}{"amount_$i"}, conv_i($form->{"amount_$i"}), conv_date($form->{transdate}), $project_id, conv_i($form->{"taxkey_$i"})); do_query($form, $dbh, $query, @values); @@ -179,7 +180,7 @@ sub post_transaction { # insert detail records in acc_trans $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey) VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?)|; - @values = (conv_i($form->{id}), conv_i($form->{AR_amounts}{"tax_$i"}), conv_i($form->{"tax_$i"}), conv_date($form->{transdate}), $project_id, + @values = (conv_i($form->{id}), $form->{AR_amounts}{"tax_$i"}, conv_i($form->{"tax_$i"}), conv_date($form->{transdate}), $project_id, conv_i($form->{"taxkey_$i"})); do_query($form, $dbh, $query, @values); } @@ -417,7 +418,7 @@ sub ar_transactions { qq| a.marge_total, a.marge_percent, | . qq| a.transaction_description, | . qq| pr.projectnumber AS globalprojectnumber, | . - qq| c.name, c.customernumber, c.country, c.ustid, | . + qq| c.name, c.customernumber, c.country, c.ustid, b.description as customertype, | . qq| e.name AS employee, | . qq| e2.name AS salesman, | . qq| tz.description AS taxzone, | . @@ -436,6 +437,7 @@ sub ar_transactions { qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id)| . qq|LEFT JOIN tax_zones tz ON (tz.id = c.taxzone_id)| . qq|LEFT JOIN payment_terms pt ON (pt.id = c.payment_id)| . + qq|LEFT JOIN business b ON (b.id = c.business_id)| . qq|LEFT JOIN department d ON (d.id = a.department_id)|; my $where = "1 = 1"; @@ -471,8 +473,12 @@ sub ar_transactions { $where .= qq|AND ((a.globalproject_id = ?) OR EXISTS | . qq| (SELECT * FROM invoice i | . - qq| WHERE i.project_id = ? AND i.trans_id = a.id))|; - push(@values, $form->{"project_id"}, $form->{"project_id"}); + qq| WHERE i.project_id = ? AND i.trans_id = a.id) | . + qq| OR EXISTS | . + qq| (SELECT * FROM acc_trans at | . + qq| WHERE at.project_id = ? AND at.trans_id = a.id)| . + qq| )|; + push(@values, $form->{project_id}, $form->{project_id}, $form->{project_id}); } if ($form->{transdatefrom}) { @@ -697,7 +703,7 @@ sub storno { do_query($form, $dbh, $query, (values %$row)); } - map { IO->set_datepaid(table => 'ap', id => $_, dbh => $dbh) } ($id, $new_id); + map { IO->set_datepaid(table => 'ar', id => $_, dbh => $dbh) } ($id, $new_id); $dbh->commit;