-
- if ($form->{l_subtotal} eq 'Y') {
- $callback .= "&l_subtotal=Y";
- $href .= "&l_subtotal=Y";
- }
-
- $callback .= "&category=$form->{category}";
- $href .= "&category=$form->{category}";
-
- $column_header{id} =
- "<th><a class=listheading href=$href&sort=id>"
- . $locale->text('ID')
- . "</a></th>";
- $column_header{transdate} =
- "<th><a class=listheading href=$href&sort=transdate>"
- . $locale->text('Date')
- . "</a></th>";
- $column_header{reference} =
- "<th><a class=listheading href=$href&sort=reference>"
- . $locale->text('Reference')
- . "</a></th>";
- $column_header{source} =
- "<th><a class=listheading href=$href&sort=source>"
- . $locale->text('Source')
- . "</a></th>";
- $column_header{description} =
- "<th><a class=listheading href=$href&sort=description>"
- . $locale->text('Description')
- . "</a></th>";
- $column_header{notes} =
- "<th class=listheading>" . $locale->text('Notes') . "</th>";
- $column_header{debit} =
- "<th class=listheading>" . $locale->text('Debit') . "</th>";
- $column_header{debit_accno} =
- "<th><a class=listheading href=$href&sort=accno>"
- . $locale->text('Debit Account')
- . "</a></th>";
- $column_header{credit} =
- "<th class=listheading>" . $locale->text('Credit') . "</th>";
- $column_header{credit_accno} =
- "<th><a class=listheading href=$href&sort=accno>"
- . $locale->text('Credit Account')
- . "</a></th>";
- $column_header{debit_tax} =
- "<th><a class=listheading href=$href&sort=accno>"
- . $locale->text('Debit Tax')
- . "</a></th>";
- $column_header{debit_tax_accno} =
- "<th><a class=listheading href=$href&sort=accno>"
- . $locale->text('Debit Tax Account')
- . "</a></th>";
- $column_header{credit_tax} =
- "<th><a class=listheading href=$href&sort=accno>"
- . $locale->text('Credit Tax')
- . "</a></th>";
- $column_header{credit_tax_accno} =
- "<th><a class=listheading href=$href&sort=accno>"
- . $locale->text('Credit Tax Account')
- . "</a></th>";
- $column_header{gifi_accno} =
- "<th><a class=listheading href=$href&sort=gifi_accno>"
- . $locale->text('GIFI')
- . "</a></th>";
- $column_header{balance} = "<th>" . $locale->text('Balance') . "</th>";
- $column_header{projectnumbers} =
- "<th class=listheading>" . $locale->text('Project Numbers') . "</th>";
-
- $form->{landscape} = 1;
-
- $form->header;
-
- print qq|
-<body>
-
-<table width=100%>
- <tr>
- <th class=listtop>$form->{title}</th>
- </tr>
- <tr height="5"></tr>
- <tr>
- <td>$option</td>
- </tr>
- <tr>
- <td>
- <table width=100%>
- <thead>
- <tr class=listheading>
-|;
-
- map { print "$column_header{$_}\n" } @column_index;
-
- print "
- </tr>
- </thead>
- </tfoot>
- <tbody>
-";
+ push @options, $date_option if $date_option;
+
+ my $callback = build_std_url('action=generate_report', @hidden_variables);
+
+ $form->{l_credit_accno} = 'Y';
+ $form->{l_debit_accno} = 'Y';
+ $form->{l_credit_tax} = 'Y';
+ $form->{l_debit_tax} = 'Y';
+ $form->{l_credit_tax_accno} = 'Y';
+ $form->{l_debit_tax_accno} = 'Y';
+ $form->{l_balance} = $form->{accno} ? 'Y' : '';
+
+ my %column_defs = (
+ 'id' => { 'text' => $locale->text('ID'), },
+ 'transdate' => { 'text' => $locale->text('Date'), },
+ 'reference' => { 'text' => $locale->text('Reference'), },
+ 'source' => { 'text' => $locale->text('Source'), },
+ 'description' => { 'text' => $locale->text('Description'), },
+ 'notes' => { 'text' => $locale->text('Notes'), },
+ 'debit' => { 'text' => $locale->text('Debit'), },
+ 'debit_accno' => { 'text' => $locale->text('Debit Account'), },
+ 'credit' => { 'text' => $locale->text('Credit'), },
+ 'credit_accno' => { 'text' => $locale->text('Credit Account'), },
+ 'debit_tax' => { 'text' => $locale->text('Debit Tax'), },
+ 'debit_tax_accno' => { 'text' => $locale->text('Debit Tax Account'), },
+ 'credit_tax' => { 'text' => $locale->text('Credit Tax'), },
+ 'credit_tax_accno' => { 'text' => $locale->text('Credit Tax Account'), },
+ 'balance' => { 'text' => $locale->text('Balance'), },
+ 'projectnumbers' => { 'text' => $locale->text('Project Numbers'), },
+ );
+
+ map { $column_defs{$_}->{link} = $callback . "&sort=${_}" } qw(id transdate reference source description);
+ map { $column_defs{$_}->{link} = $callback . "&sort=accno" } qw(debit_accno credit_accno debit_tax_accno credit_tax_accno debit_tax credit_tax);
+ map { $column_defs{$_}->{visible} = $form->{"l_${_}"} ? 1 : 0 } @columns;
+ map { $column_defs{$_}->{visible} = 0 } qw(debit_accno credit_accno debit_tax_accno credit_tax_accno) if $form->{accno};
+
+ my %column_alignment;
+ map { $column_alignment{$_} = 'right' } qw(balance id debit credit debit_tax credit_tax);
+ map { $column_alignment{$_} = 'center' } qw(transdate reference description source notes debit_accno credit_accno debit_tax_accno credit_tax_accno);
+
+ my $report = SL::ReportGenerator->new(\%myconfig, $form);
+
+ $report->set_columns(%column_defs);
+ $report->set_column_order(@columns);
+
+ $report->set_export_options('generate_report', @hidden_variables);
+
+ $report->set_sort_indicator($form->{sort}, 1);
+
+ $report->set_options('top_info_text' => join("\n", @options),
+ 'output_format' => 'HTML',
+ 'title' => $form->{title},
+ 'attachment_basename' => $locale->text('general_ledger_list') . strftime('_%Y%m%d', localtime time),
+ );
+ $report->set_options_from_form();