$cart->currency = $header['currency'];
$cart->rate = $header['rate'];
$cart->source_ref = $header['source_ref'];
+ $cart->reconcile_date = $header['reconcile_date'] ? sql2date($header['reconcile_date']) : NULL;
$result = get_gl_trans($type, $trans_no);
$cart->reference = $Refs->get_next(ST_JOURNAL, null, $cart->tran_date);
}
+ $_POST['reconciled_date'] = $cart->reconcile_date;
$_POST['memo_'] = $cart->memo_;
$_POST['ref'] = $cart->reference;
$_POST['date_'] = $cart->tran_date;
}
} else
$cart->tax_info = false;
- $trans_no = write_journal_entries($cart);
- // retain the reconciled status if desired by user
- if (isset($_POST['reconciled'])
- && $_POST['reconciled'] == 1) {
- $sql = "UPDATE ".TB_PREF."bank_trans SET reconciled=".db_escape($_POST['reconciled_date'])
- ." WHERE type=" . ST_JOURNAL . " AND trans_no=".db_escape($trans_no);
+ if (!get_post('reconciled')) // clear reconcilation (if any)
+ $cart->reconcile_date = NULL;
- db_query($sql, "Can't change reconciliation status");
- }
+ $trans_no = write_journal_entries($cart);
$cart->clear_items();
new_doc_date($_POST['date_']);
unset($_SESSION['journal_items']);
+
if($new)
meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no");
else
return true;
}
+function update_reconcile_date($type, $trans_no, $date=NULL)
+{
+ $sql = "UPDATE ".TB_PREF."bank_trans SET reconciled=".($date ? "'".date2sql($date)."'" : 'NULL')
+ ." WHERE type=" . db_escape($type). " AND trans_no=".db_escape($trans_no);
+
+ db_query($sql, "Can't change reconciliation status");
+}
function get_journal($type, $trans_no)
{
- $sql = "SELECT * FROM ".TB_PREF."journal
- WHERE `type`=".db_escape($type)." AND " ."`trans_no`=".db_escape($trans_no);
+ $sql = "SELECT gl.*, bt.reconciled reconcile_date FROM ".TB_PREF."journal gl
+ LEFT JOIN ".TB_PREF."bank_trans bt ON gl.`type`=bt.`type` AND gl.trans_no=bt.trans_no
+ WHERE gl.`type`=".db_escape($type)." AND " ."gl.`trans_no`=".db_escape($trans_no);
$myrow= db_query($sql, 'cannot retrieve journal entry');
return db_fetch($myrow);
add_journal($trans_type, $trans_id, $total, $date_ , $cart->currency, $ref,
$cart->source_ref, $cart->rate, $cart->event_date, $cart->doc_date);
+ if ($cart->reconcile_date)
+ update_reconcile_date($trans_type, $cart->order_id, $cart->reconcile_date);
+
$Refs->save($trans_type, $trans_id, $ref);
if ($new) {
add_comments($trans_type, $trans_id, $date_, $memo_);
check_row(_('Include in tax register:'), 'taxable_trans', null, true);
// Query the user to retain the reconciled status
- if (!$new) {
- $result = get_bank_trans(ST_JOURNAL, $Order->order_id);
- $row = db_fetch($result);
- if ($row
- && $row['reconciled']) {
- check_row(_('Reconciled:'), 'reconciled', 1, true);
- hidden('reconciled_date', $row['reconciled']);
- }
- }
+ if (!$new && $Order->reconcile_date) {
+ check_row(_('Reconciled:'), 'reconciled', 1, true);
+ hidden('reconcile_date', $Order->reconcile_date);
+ }
end_outer_table(1);
}