my %oid = ('Pg' => 'oid',
'Oracle' => 'rowid');
- my $transdate = "'$form->{transdate}'";
- if (!$transdate) {
- $transdate = "current_date";
- }
+ my $transdate =
+ $form->{transdate} ? $dbh->quote($form->{transdate}) : "current_date";
+
if(!$form->{taxzone_id}) {
$form->{taxzone_id} = 0;
}
$accno_id =
($form->{vc} eq "customer") ? $ref->{income_accno} : $ref->{expense_accno};
$query = qq|SELECT c.accno, t.taxdescription, t.rate, t.taxnumber
- FROM tax t LEFT JOIN chart c ON (c.id=t.chart_id)
- WHERE t.taxkey in (SELECT taxkey_id from chart where accno = '$accno_id')
- ORDER BY accno|;
+ FROM tax t LEFT JOIN chart c on (c.id=t.chart_id)
+ WHERE t.id in (SELECT tk.tax_id from taxkeys tk where tk.chart_id = (SELECT id from chart WHERE accno='$accno_id') AND startdate<=$transdate ORDER BY startdate desc LIMIT 1)
+ ORDER BY c.accno|;
$stw = $dbh->prepare($query);
$stw->execute || $form->dberror($query);
$ref->{taxaccounts} = "";