5 include_once($path_to_root . "/includes/session.inc");
7 include_once($path_to_root . "/includes/date_functions.inc");
8 include_once($path_to_root . "/includes/ui.inc");
9 include_once($path_to_root . "/includes/data_checks.inc");
11 include_once($path_to_root . "/gl/includes/gl_db.inc");
12 include_once($path_to_root . "/includes/banking.inc");
15 if ($use_popup_windows)
16 $js .= get_js_open_window(800, 500);
17 page(_("Bank Statement"), false, false, "", $js);
19 check_db_has_bank_accounts(_("There are no bank accounts defined in the system."));
21 //------------------------------------------------------------------------------------------------
25 start_table("class='tablestyle_noborder'");
27 bank_accounts_list_cells(_("Account:"), 'bank_account', null);
29 date_cells(_("From:"), 'TransAfterDate', null, -30);
30 date_cells(_("To:"), 'TransToDate');
32 submit_cells('Show',_("Show"));
37 //------------------------------------------------------------------------------------------------
40 $date_after = date2sql($_POST['TransAfterDate']);
41 $date_to = date2sql($_POST['TransToDate']);
42 if (!isset($_POST['bank_account']))
43 $_POST['bank_account'] = "";
44 $sql = "SELECT ".TB_PREF."bank_trans.*,name AS BankTransType FROM ".TB_PREF."bank_trans, ".TB_PREF."bank_trans_types
45 WHERE ".TB_PREF."bank_trans.bank_act = '" . $_POST['bank_account'] . "'
46 AND trans_date >= '$date_after'
47 AND trans_date <= '$date_to'
48 AND ".TB_PREF."bank_trans_types.id = ".TB_PREF."bank_trans.bank_trans_type_id
49 ORDER BY trans_date,".TB_PREF."bank_trans.id";
51 $result = db_query($sql,"The transactions for '" . $_POST['bank_account'] . "' could not be retrieved");
53 $act = get_bank_account($_POST["bank_account"]);
54 display_heading($act['bank_account_name']." - ".$act['bank_curr_code']);
56 start_table($table_style);
58 $th = array(_("Type"), _("#"), _("Reference"), _("Type"), _("Date"),
59 _("Debit"), _("Credit"), _("Balance"), _("Person/Item"), "");
62 $sql = "SELECT SUM(amount) FROM ".TB_PREF."bank_trans WHERE bank_act='" . $_POST['bank_account'] . "'
63 AND trans_date < '$date_after'";
64 $before_qty = db_query($sql, "The starting balance on hand could not be calculated");
66 start_row("class='inquirybg'");
67 label_cell("<b>"._("Opening Balance")." - ".$_POST['TransAfterDate']."</b>", "colspan=5");
68 $bfw_row = db_fetch_row($before_qty);
70 display_debit_or_credit_cells($bfw);
74 $running_total = $bfw;
76 $k = 0; //row colour counter
77 while ($myrow = db_fetch($result))
80 alt_table_row_color($k);
82 $running_total += $myrow["amount"];
84 $trandate = sql2date($myrow["trans_date"]);
85 label_cell(systypes::name($myrow["type"]));
86 label_cell(get_trans_view_str($myrow["type"],$myrow["trans_no"]));
87 label_cell(get_trans_view_str($myrow["type"],$myrow["trans_no"],$myrow['ref']));
88 label_cell($myrow["BankTransType"]);
89 label_cell($trandate);
90 display_debit_or_credit_cells($myrow["amount"]);
91 amount_cell($running_total);
92 label_cell(payment_person_types::person_name($myrow["person_type_id"],$myrow["person_id"]));
93 label_cell(get_gl_view_str($myrow["type"], $myrow["trans_no"]));
105 start_row("class='inquirybg'");
106 label_cell("<b>" . _("Ending Balance")." - ". $_POST['TransToDate']. "</b>", "colspan=5");
107 display_debit_or_credit_cells($running_total);
112 //------------------------------------------------------------------------------------------------