bank statement report with 'All' Selection of Bank Accounts fixed
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Sun, 29 Dec 2019 08:09:40 +0000 (09:09 +0100)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Sun, 29 Dec 2019 08:09:40 +0000 (09:09 +0100)
reporting/includes/reports_classes.inc
reporting/rep601.php
reporting/reports_main.php

index 276d988ea8fe4db56f9ee603201eae31cd580452..125cf5f87dd95255771b6898419a348d52b48d42 100644 (file)
@@ -276,9 +276,13 @@ class BoxReports
                                case 'GL_ACCOUNTS':
                                        return gl_all_accounts_list($name);
 
+                               case 'BANK_ACCOUNTS_NO_FILTER':
                                case 'BANK_ACCOUNTS':
-                                       return bank_accounts_list($name);
-                                       
+                                       if ($type == 'BANK_ACCOUNTS_NO_FILTER')
+                                               return bank_accounts_list($name, null, false, _("All"));
+                                       else
+                                               return bank_accounts_list($name);
+
                                case 'DIMENSION':
                                        return dimensions_list($name, null, false, ' ', false, true, 0);
                                        
index 1614e1166404be545dca9454cce5191626128783..079e3c1ff818fc6ce11d7f8c39105707809bdf2d 100644 (file)
@@ -63,6 +63,7 @@ function print_bank_transactions()
        $comments = $_POST['PARAM_4'];
        $orientation = $_POST['PARAM_5'];
        $destination = $_POST['PARAM_6'];
+
        if ($destination)
                include_once($path_to_root . "/reporting/includes/excel_report.inc");
        else
@@ -79,97 +80,104 @@ function print_bank_transactions()
        $headers = array(_('Type'),     _('#'), _('Reference'), _('Date'), _('Person/Item'),
                _('Debit'),     _('Credit'), _('Balance'));
 
-       $account = get_bank_account($acc);
-       $act = $account['bank_account_name']." - ".$account['bank_curr_code']." - ".$account['bank_account_number'];
-       $params =   array(      0 => $comments,
-           1 => array('text' => _('Period'), 'from' => $from, 'to' => $to),
-           2 => array('text' => _('Bank Account'),'from' => $act,'to' => ''));
+       if ($orientation == 'L')
+               recalculate_cols($cols);
+       $sql = "SELECT id, bank_account_name, bank_curr_code, bank_account_number FROM ".TB_PREF."bank_accounts";
+       if ($acc != ALL_TEXT)
+               $sql .= " WHERE id = $acc";
+       $result = db_query($sql, "could not retreive bank accounts");
+       while ($account=db_fetch($result))
+       {
+               $act = $account['bank_account_name']." - ".$account['bank_curr_code']." - ".$account['bank_account_number'];
+               $params =   array(      0 => $comments,
+                       1 => array('text' => _('Period'), 'from' => $from, 'to' => $to),
+                       2 => array('text' => _('Bank Account'),'from' => $act,'to' => ''));
 
-    if ($orientation == 'L')
-       recalculate_cols($cols);
-       $rep->Font();
-       $rep->Info($params, $cols, $headers, $aligns);
-       $rep->NewPage();
+               $rep->Font();
+               $rep->pageNumber = 0;
+               $rep->Info($params, $cols, $headers, $aligns);
+               $rep->NewPage();
 
 
-       $prev_balance = get_bank_balance_to($from, $account["id"]);
+               $prev_balance = get_bank_balance_to($from, $account["id"]);
 
-       $trans = get_bank_transactions($from, $to, $account['id']);
+               $trans = get_bank_transactions($from, $to, $account['id']);
 
-       $rows = db_num_rows($trans);
-       if ($prev_balance != 0.0 || $rows != 0)
-       {
-               $rep->Font('bold');
-               $rep->TextCol(0, 3,     $act);
-               $rep->TextCol(3, 5, _('Opening Balance'));
-               if ($prev_balance > 0.0)
-                       $rep->AmountCol(5, 6, abs($prev_balance), $dec);
-               else
-                       $rep->AmountCol(6, 7, abs($prev_balance), $dec);
-               $rep->Font();
-               $total = $prev_balance;
-               $rep->NewLine(2);
-               $total_debit = $total_credit = 0;
-               if ($rows > 0)
+               $rows = db_num_rows($trans);
+               if ($prev_balance != 0.0 || $rows != 0)
                {
-                       // Keep a running total as we loop through
-                       // the transactions.
-                       
-                       while ($myrow=db_fetch($trans))
+                       $rep->Font('bold');
+                       $rep->TextCol(0, 3,     $act);
+                       $rep->TextCol(3, 5, _('Opening Balance'));
+                       if ($prev_balance > 0.0)
+                               $rep->AmountCol(5, 6, abs($prev_balance), $dec);
+                       else
+                               $rep->AmountCol(6, 7, abs($prev_balance), $dec);
+                       $rep->Font();
+                       $total = $prev_balance;
+                       $rep->NewLine(2);
+                       $total_debit = $total_credit = 0;
+                       if ($rows > 0)
                        {
-                               if ($zero == 0 && $myrow['amount'] == 0.0)
-                                       continue;
-                               $total += $myrow['amount'];
-
-                               $rep->TextCol(0, 1, $systypes_array[$myrow["type"]]);
-                               $rep->TextCol(1, 2,     $myrow['trans_no']);
-                               $rep->TextCol(2, 3,     $myrow['ref']);
-                               $rep->DateCol(3, 4,     $myrow["trans_date"], true);
-                               $rep->TextCol(4, 5,     get_counterparty_name($myrow["type"], $myrow["trans_no"], false));
-                               if ($myrow['amount'] > 0.0)
+                               // Keep a running total as we loop through
+                               // the transactions.
+                               
+                               while ($myrow=db_fetch($trans))
                                {
-                                       $rep->AmountCol(5, 6, abs($myrow['amount']), $dec);
-                                       $total_debit += abs($myrow['amount']);
+                                       if ($zero == 0 && $myrow['amount'] == 0.0)
+                                               continue;
+                                       $total += $myrow['amount'];
+
+                                       $rep->TextCol(0, 1, $systypes_array[$myrow["type"]]);
+                                       $rep->TextCol(1, 2,     $myrow['trans_no']);
+                                       $rep->TextCol(2, 3,     $myrow['ref']);
+                                       $rep->DateCol(3, 4,     $myrow["trans_date"], true);
+                                       $rep->TextCol(4, 5,     get_counterparty_name($myrow["type"], $myrow["trans_no"], false));
+                                       if ($myrow['amount'] > 0.0)
+                                       {
+                                               $rep->AmountCol(5, 6, abs($myrow['amount']), $dec);
+                                               $total_debit += abs($myrow['amount']);
+                                       }
+                                       else
+                                       {
+                                               $rep->AmountCol(6, 7, abs($myrow['amount']), $dec);
+                                               $total_credit += abs($myrow['amount']);
+                                       }
+                                       $rep->AmountCol(7, 8, $total, $dec);
+                                       $rep->NewLine();
+                                       if ($rep->row < $rep->bottomMargin + $rep->lineHeight)
+                                       {
+                                               $rep->Line($rep->row - 2);
+                                               $rep->NewPage();
+                                       }
                                }
-                               else
-                               {
-                                       $rep->AmountCol(6, 7, abs($myrow['amount']), $dec);
-                                       $total_credit += abs($myrow['amount']);
-                               }
-                               $rep->AmountCol(7, 8, $total, $dec);
                                $rep->NewLine();
-                               if ($rep->row < $rep->bottomMargin + $rep->lineHeight)
-                               {
-                                       $rep->Line($rep->row - 2);
-                                       $rep->NewPage();
-                               }
                        }
-                       $rep->NewLine();
+                       
+                       // Print totals for the debit and credit columns.
+                       $rep->TextCol(3, 5, _("Total Debit / Credit"));
+                       $rep->AmountCol(5, 6, $total_debit, $dec);
+                       $rep->AmountCol(6, 7, $total_credit, $dec);
+                       $rep->NewLine(2);
+
+                       $rep->Font('bold');
+                       $rep->TextCol(3, 5,     _("Ending Balance"));
+                       if ($total > 0.0)
+                               $rep->AmountCol(5, 6, abs($total), $dec);
+                       else
+                               $rep->AmountCol(6, 7, abs($total), $dec);
+                       $rep->Font();
+                       $rep->Line($rep->row - $rep->lineHeight + 4);
+                       $rep->NewLine(2, 1);
+                       
+                       // Print the difference between starting and ending balances.
+                       $net_change = ($total - $prev_balance); 
+                       $rep->TextCol(3, 5, _("Net Change"));
+                       if ($total > 0.0)
+                               $rep->AmountCol(5, 6, $net_change, $dec, 0, 0, 0, 0, null, 1, True);
+                       else
+                               $rep->AmountCol(6, 7, $net_change, $dec, 0, 0, 0, 0, null, 1, True);
                }
-               
-               // Print totals for the debit and credit columns.
-               $rep->TextCol(3, 5, _("Total Debit / Credit"));
-               $rep->AmountCol(5, 6, $total_debit, $dec);
-               $rep->AmountCol(6, 7, $total_credit, $dec);
-               $rep->NewLine(2);
-
-               $rep->Font('bold');
-               $rep->TextCol(3, 5,     _("Ending Balance"));
-               if ($total > 0.0)
-                       $rep->AmountCol(5, 6, abs($total), $dec);
-               else
-                       $rep->AmountCol(6, 7, abs($total), $dec);
-               $rep->Font();
-               $rep->Line($rep->row - $rep->lineHeight + 4);
-               $rep->NewLine(2, 1);
-               
-               // Print the difference between starting and ending balances.
-               $net_change = ($total - $prev_balance); 
-               $rep->TextCol(3, 5, _("Net Change"));
-               if ($total > 0.0)
-                       $rep->AmountCol(5, 6, $net_change, $dec, 0, 0, 0, 0, null, 1, True);
-               else
-                       $rep->AmountCol(6, 7, $net_change, $dec, 0, 0, 0, 0, null, 1, True);
        }
        $rep->End();
 }
index 92bf3d921f2e6263526ddec0fafe6115f9751b8f..fabb1100d02a4855191a431b6971d6c84b243437 100644 (file)
@@ -360,7 +360,7 @@ if ($dim > 0)
 }
 $reports->addReportClass(_('Banking'), RC_BANKING);
        $reports->addReport(RC_BANKING,  601, _('Bank &Statement'),
-       array(  _('Bank Accounts') => 'BANK_ACCOUNTS',
+       array(  _('Bank Accounts') => 'BANK_ACCOUNTS_NO_FILTER',
                        _('Start Date') => 'DATEBEGINM',
                        _('End Date') => 'DATEENDM',
                        _('Zero values') => 'YES_NO',