Reconcile Bank Account: added memo display, added Reconcile All button.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Sat, 3 Feb 2018 10:56:45 +0000 (11:56 +0100)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Sat, 3 Feb 2018 17:02:46 +0000 (18:02 +0100)
gl/bank_account_reconcile.php
gl/includes/db/gl_db_bank_accounts.inc

index 55481789606ef729459625a0cc0c3dd5904d9cba..81ebc7a0ee06f3b34c552749815ae92d3f7a7098 100644 (file)
@@ -90,6 +90,12 @@ function fmt_person($trans)
        return get_counterparty_name($trans["type"], $trans["trans_no"]);
 }
 
+function fmt_memo($row)
+{
+       $value = $row["memo_"];
+       return $value;
+}
+
 function update_data()
 {
        global $Ajax;
@@ -124,6 +130,26 @@ function change_tpl_flag($reconcile_id)
        return true;
 }
 
+function set_tpl_flag($reconcile_id)
+{
+       global  $Ajax;
+
+       if (check_value("rec_".$reconcile_id))
+               return;
+
+       if (get_post('bank_date')=='')  // new reconciliation
+               $Ajax->activate('bank_date');
+
+       $_POST['bank_date'] = date2sql(get_post('reconcile_date'));
+       $reconcile_value =  ("'".$_POST['bank_date'] ."'");
+       
+       update_reconciled_values($reconcile_id, $reconcile_value, $_POST['reconcile_date'],
+               input_num('end_balance'), $_POST['bank_account']);
+               
+       $Ajax->activate('reconciled');
+       $Ajax->activate('difference');
+}
+
 if (!isset($_POST['reconcile_date'])) { // init page
        $_POST['reconcile_date'] = new_doc_date();
 //     $_POST['bank_date'] = date2sql(Today());
@@ -148,11 +174,21 @@ $id = find_submit('_rec_');
 if ($id != -1) 
        change_tpl_flag($id);
 
+
 if (isset($_POST['Reconcile'])) {
        set_focus('bank_date');
        foreach($_POST['last'] as $id => $value)
                if ($value != check_value('rec_'.$id))
                        if(!change_tpl_flag($id)) break;
+
+    $Ajax->activate('_page_body');
+}
+
+if (isset($_POST['ReconcileAll'])) {
+       set_focus('bank_date');
+       foreach($_POST['last'] as $id => $value)
+               set_tpl_flag($id);
+
     $Ajax->activate('_page_body');
 }
 
@@ -234,6 +270,7 @@ display_heading($act['bank_account_name']." - ".$act['bank_curr_code']);
                _("Debit") => array('align'=>'right', 'fun'=>'fmt_debit'), 
                _("Credit") => array('align'=>'right','insert'=>true, 'fun'=>'fmt_credit'), 
            _("Person/Item") => array('fun'=>'fmt_person'), 
+               _("Memo") => array('fun'=>'fmt_memo'),
                array('insert'=>true, 'fun'=>'gl_view'),
                "X"=>array('insert'=>true, 'fun'=>'rec_checkbox')
           );
@@ -243,8 +280,10 @@ display_heading($act['bank_account_name']." - ".$act['bank_curr_code']);
        display_db_pager($table);
 
 br(1);
-submit_center('Reconcile', _("Reconcile"), true, '', null);
-
+echo '<center>';
+submit('Reconcile', _("Reconcile"), true, '', null);
+submit('ReconcileAll', _("Reconcile All"), true, '');
+echo '</center>';
 end_form();
 
 //------------------------------------------------------------------------------------------------
index 01c6067507886ba601898c26b9b4193d2711de5c..ea9a83ac08ce06ca699cfe2a49c97185f335cf15 100644 (file)
@@ -277,13 +277,15 @@ function get_ending_reconciled($bank_account, $bank_date)
 
 function get_sql_for_bank_account_reconcile($bank_account, $date)
 {
-       $sql = "SELECT  type, trans_no, ref, trans_date,
-                               amount, person_id, person_type_id, reconciled, id
-               FROM ".TB_PREF."bank_trans
+       $sql = "SELECT  bt.type, trans_no, ref, trans_date,
+                               amount, person_id, person_type_id, reconciled, bt.id, c.memo_
+               FROM ".TB_PREF."bank_trans bt
+               LEFT JOIN ".TB_PREF."comments c ON c.type = bt.type AND c.id = bt.trans_no
                WHERE bank_act = ".db_escape($bank_account) . "
                        AND (reconciled IS NULL OR reconciled='". date2sql($date) ."')
                        AND amount != 0
-               ORDER BY trans_date, id";
+               ORDER BY trans_date, bt.id";
+
        return $sql;
 }