From: Janusz Dobrowolski Date: Sat, 3 Feb 2018 10:56:45 +0000 (+0100) Subject: Reconcile Bank Account: added memo display, added Reconcile All button. X-Git-Tag: v2.4.4~13 X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=6e534728a5723289ddd80c1c79e0c67a69b10ad1;p=fa-stable.git Reconcile Bank Account: added memo display, added Reconcile All button. --- diff --git a/gl/bank_account_reconcile.php b/gl/bank_account_reconcile.php index 55481789..81ebc7a0 100644 --- a/gl/bank_account_reconcile.php +++ b/gl/bank_account_reconcile.php @@ -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 '
'; +submit('Reconcile', _("Reconcile"), true, '', null); +submit('ReconcileAll', _("Reconcile All"), true, ''); +echo '
'; end_form(); //------------------------------------------------------------------------------------------------ diff --git a/gl/includes/db/gl_db_bank_accounts.inc b/gl/includes/db/gl_db_bank_accounts.inc index 01c60675..ea9a83ac 100644 --- a/gl/includes/db/gl_db_bank_accounts.inc +++ b/gl/includes/db/gl_db_bank_accounts.inc @@ -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; }