-
+
|;
map { print "\n$column_header{$_}" } @column_index;
@@ -160,64 +251,110 @@ sub display_form {
|;
- $form->{beginningbalance} *= -1;
- $clearedbalance = $balance = $form->{beginningbalance};
+ $ml = ($form->{category} eq 'A') ? -1 : 1;
+ $form->{beginningbalance} *= $ml;
+ $form->{fx_balance} *= $ml;
+
+ if (! $form->{fx_transaction}) {
+ $form->{beginningbalance} -= $form->{fx_balance};
+ }
+ $balance = $form->{beginningbalance};
+
$i = 0;
- $id = 0;
+ $j = 0;
+
+ map { $column_data{$_} = " | " } qw(cleared transdate source debit credit);
- map { $column_data{$_} = " | " } qw(cleared transdate source name debit credit);
+ if (! $form->{report}) {
+ $column_data{name} = qq||.$locale->text('Beginning Balance').qq| | |;
$column_data{balance} = "".$form->format_amount(\%myconfig, $balance, 2, 0)." | ";
- $j = 0;
print qq|
-
+
|;
map { print "\n$column_data{$_}" } @column_index;
print qq|
-
+
|;
-
+ }
+
foreach $ref (@{ $form->{PR} }) {
- $balance += $ref->{amount} * -1;
- $cleared += $ref->{amount} * -1 if $ref->{cleared};
+ $i++;
+
+ if (! $form->{fx_transaction}) {
+ next if $ref->{fx_transaction};
+ }
- $column_data{name} = "$ref->{name} | ";
- $column_data{source} = qq|$ref->{source}
- | |;
- $column_data{transdate} = "$ref->{transdate} | ";
+ $checked = ($ref->{cleared}) ? "checked" : "";
+
+ $column_data{name} = "";
+ map { $column_data{name} .= "$_ " } @{ $ref->{name} };
+ $column_data{name} .= " | ";
+ $column_data{source} = qq|$ref->{source} |
+ {id}>|;
$column_data{debit} = " | ";
$column_data{credit} = " | ";
+ $balance += $ref->{amount} * $ml;
+
if ($ref->{amount} < 0) {
+
$totaldebits += $ref->{amount} * -1;
+
$column_data{debit} = "".$form->format_amount(\%myconfig, $ref->{amount} * -1, 2, " ")." | ";
+
} else {
+
$totalcredits += $ref->{amount};
+
$column_data{credit} = "".$form->format_amount(\%myconfig, $ref->{amount}, 2, " ")." | ";
+
}
$column_data{balance} = "".$form->format_amount(\%myconfig, $balance, 2, 0)." | ";
if ($ref->{fx_transaction}) {
- $i++ unless $id == $ref->{id};
- $fx_transaction = 1;
- $fx += $ref->{amount} * -1;
- $column_data{cleared} = qq|
- {oid}>
- | |;
+
+ $column_data{cleared} = ($clearfx) ? qq|* | | : qq| | |;
+ $cleared += $ref->{amount} * $ml if $clearfx;
+
} else {
- $i++ unless ($fx_transaction && $id == $ref->{id});
- $fx_transaction = 0;
- $column_data{cleared} = qq|
- {cleared}>
- {oid}>
- | |;
+
+ if ($form->{report}) {
+
+ if ($ref->{cleared}) {
+ $column_data{cleared} = qq|* | |;
+ $clearfx = 1;
+ } else {
+ $column_data{cleared} = qq| | |;
+ $clearfx = 0;
+ }
+
+ } else {
+
+ if ($ref->{oldcleared}) {
+ $cleared += $ref->{amount} * $ml;
+ $clearfx = 1;
+ $column_data{cleared} = qq|* |
+ {cleared}>
+ {oldcleared}>
+ |;
+ } else {
+ $cleared += $ref->{amount} * $ml if $checked;
+ $clearfx = ($checked) ? 1 : 0;
+ $column_data{cleared} = qq|
+ | |;
+ }
+
+ }
}
- $id = $ref->{id};
+
+ $column_data{transdate} = qq|$ref->{transdate} |
+ {transdate}>|;
$j++; $j %= 2;
print qq|
@@ -232,6 +369,8 @@ sub display_form {
}
+ $form->{rowcount} = $i;
+
# print totals
map { $column_data{$_} = " | " } @column_index;
@@ -243,44 +382,34 @@ sub display_form {
|;
map { print "\n$column_data{$_}" } @column_index;
-
+
$form->{statementbalance} = $form->parse_amount(\%myconfig, $form->{statementbalance});
- $difference = $form->format_amount(\%myconfig, $form->{statementbalance} - $clearedbalance - $cleared, 2, 0);
-
+ $difference = $form->format_amount(\%myconfig, $form->{beginningbalance} + $cleared - $form->{statementbalance}, 2, 0);
$form->{statementbalance} = $form->format_amount(\%myconfig, $form->{statementbalance}, 2, 0);
- $clearedbalance = $form->format_amount(\%myconfig, $clearedbalance, 2, 0);
-
- if ($fx) {
- $fx = $form->format_amount(\%myconfig, $fx, 2, 0);
- $exchdiff = qq|
- |.$locale->text('Exchangerate Difference').qq| |
- |
- $fx |
-|;
- }
-
print qq|
|
+|;
+
+
+ if ($form->{report}) {
+
+ print qq|
+
+
+|;
+
+ } else {
+
+ print qq|
+
-
-
-
-
- |.$locale->text('Cleared Balance').qq| |
- |
- $clearedbalance |
-
-
- $exchdiff
-
-
- |
+
@@ -305,8 +434,11 @@ sub display_form {
|
-
-{accno}>
+{fx_transaction}>
+{summary}>
+
+{rowcount}>
+
{fromdate}>
@@ -314,13 +446,20 @@ sub display_form {
{path}>
{login}>
-{password}>
+{sessionid}>
-
+|;
+ }
+ if ($form->{menubar}) {
+ require "$form->{path}/menu.pl";
+ &menubar;
+ }
+
+ print qq|
|