- #=====================================================================
+#=====================================================================
# LX-Office ERP
# Copyright (C) 2004
# Based on SQL-Ledger Version 2.1.9
LEFT JOIN tax tx ON (tk.tax_id = tx.id)
WHERE 1=1
$where
- GROUP BY c.accno, c.id, c.description, c.charttype, c.gifi_accno,
+ GROUP BY c.accno, c.id, c.description, c.charttype,
c.category, c.link, c.pos_bwa, c.pos_bilanz, c.pos_eur, c.valid_from,
c.datevautomatik
ORDER BY c.accno
my $sortorder = join ', ',
$form->sort_columns(qw(transdate reference description));
- my $false = ($myconfig->{dbdriver} eq 'Pg') ? "FALSE" : q|'0'|;
-
- # Oracle workaround, use ordinal positions
- my %ordinal = (transdate => 4,
- reference => 2,
- description => 3);
- map { $sortorder =~ s/$_/$ordinal{$_}/ } keys %ordinal;
my ($null, $department_id) = split(/--/, $form->{department});
my ($dpt_where, $dpt_join, @department_values);
# get all transactions
$query =
qq|SELECT a.id, a.reference, a.description, ac.transdate, ac.chart_id, | .
- qq| $false AS invoice, ac.amount, 'gl' as module, | .
+ qq| FALSE AS invoice, ac.amount, 'gl' as module, | .
qq§(SELECT accno||'--'||rate FROM tax LEFT JOIN chart ON (tax.chart_id=chart.id) WHERE tax.id = (SELECT tax_id FROM taxkeys WHERE taxkey_id = ac.taxkey AND taxkeys.startdate <= ac.transdate ORDER BY taxkeys.startdate DESC LIMIT 1)) AS taxinfo, ac.source || ' ' || ac.memo AS memo § .
qq|FROM acc_trans ac, gl a | .
$dpt_join .
}
my $sort = grep({ $form->{sort} eq $_ } qw(transdate reference description)) ? $form->{sort} : 'transdate';
-
- $query .= qq|ORDER BY $sort|;
+ my $sort2 = ($sort eq 'reference')?'transdate':'reference';
+ $query .= qq|ORDER BY $sort , $sort2 |;
my $sth = prepare_execute_query($form, $dbh, $query, @values);
#get detail information for each transaction