X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fgl_bank.php;h=b11111530a0129d852f60ddf27f84096382c36fd;hb=982b7733b1249637671f24d9720116602850635f;hp=de4bcc730b46a6ef08e1dac1695ea42c3f861b8d;hpb=5e63c6ace55729bbb5ee3b060035a25a4426eb0a;p=fa-stable.git diff --git a/gl/gl_bank.php b/gl/gl_bank.php index de4bcc73..b1111153 100644 --- a/gl/gl_bank.php +++ b/gl/gl_bank.php @@ -60,11 +60,15 @@ if (list_updated('PersonDetailID')) { //-------------------------------------------------------------------------------------------------- function line_start_focus() { - global $Ajax; - - $Ajax->activate('items_table'); - $Ajax->activate('footer'); - set_focus('_code_id_edit'); + global $Ajax; + + unset($_POST['amount']); + unset($_POST['dimension_id']); + unset($_POST['dimension2_id']); + unset($_POST['LineMemo']); + $Ajax->activate('items_table'); + $Ajax->activate('footer'); + set_focus('_code_id_edit'); } //----------------------------------------------------------------------------------------------- @@ -140,41 +144,35 @@ function create_cart($type, $trans_no) { global $Refs; - if (isset($_SESSION['pay_items'])) - { - unset ($_SESSION['pay_items']); - } - $cart = new items_cart($type); $cart->order_id = $trans_no; if ($trans_no) { - $bank_trans = db_fetch(get_bank_trans($type, $trans_no)); - $_POST['bank_account'] = $bank_trans["bank_act"]; - $_POST['PayType'] = $bank_trans["person_type_id"]; - + $cart->bank_act = $bank_trans["bank_act"]; + + $cart->reference = $bank_trans["ref"]; + if ($bank_trans["person_type_id"] == PT_CUSTOMER) { $trans = get_customer_trans($trans_no, $type); - $_POST['person_id'] = $trans["debtor_no"]; - $_POST['PersonDetailID'] = $trans["branch_code"]; + $cart->person_id = $trans["debtor_no"]; + $cart->person_detail_id = $trans["branch_code"]; } elseif ($bank_trans["person_type_id"] == PT_SUPPLIER) { $trans = get_supp_trans($trans_no, $type); - $_POST['person_id'] = $trans["supplier_id"]; + $cart->person_id = $trans["supplier_id"]; } elseif ($bank_trans["person_type_id"] == PT_MISC) - $_POST['person_id'] = $bank_trans["person_id"]; + $cart->person_id = $bank_trans["person_id"]; elseif ($bank_trans["person_type_id"] == PT_QUICKENTRY) - $_POST['person_id'] = $bank_trans["person_id"]; + $cart->person_id = $bank_trans["person_id"]; else - $_POST['person_id'] = $bank_trans["person_id"]; + $cart->person_id = $bank_trans["person_id"]; $cart->memo_ = get_comments_string($type, $trans_no); $cart->tran_date = sql2date($bank_trans['trans_date']); - $cart->reference = $Refs->get($type, $trans_no); $cart->original_amount = $bank_trans['amount']; $result = get_gl_trans($type, $trans_no); @@ -185,7 +183,6 @@ function create_cart($type, $trans_no) // so we have to restore it from original gl amounts $ex_rate = $bank_trans['amount']/$row['amount']; } else { - $date = $row['tran_date']; $cart->add_gl_item( $row['account'], $row['dimension_id'], $row['dimension2_id'], $row['amount'], $row['memo_']); } @@ -197,12 +194,17 @@ function create_cart($type, $trans_no) $cart->gl_items[$line_no]->amount *= $ex_rate; } else { - $cart->reference = $Refs->get_next($cart->trans_type); + $cart->reference = $Refs->get_next($cart->trans_type, null, $cart->tran_date); $cart->tran_date = new_doc_date(); if (!is_date_in_fiscalyear($cart->tran_date)) $cart->tran_date = end_fiscalyear(); } + $_POST['PayType'] = $cart->person_type_id; + $_POST['person_id'] = $cart->person_id; + $_POST['PersonDetailID'] = $cart->person_detail_id; + + $_POST['bank_account'] = $cart->bank_act; $_POST['memo_'] = $cart->memo_; $_POST['ref'] = $cart->reference; $_POST['date_'] = $cart->tran_date; @@ -213,7 +215,7 @@ function create_cart($type, $trans_no) function check_trans() { - global $Refs; + global $Refs, $systypes_array; $input_error = 0; @@ -241,20 +243,15 @@ function check_trans() } if ($trans = check_bank_account_history($amnt_chg, $_POST['bank_account'], $_POST['date_'])) { - display_error(sprintf(_("The bank transaction would result in exceed of authorized overdraft limit for transaction: %s #%s on %s."), - $systypes_array[$trans['type']], $trans['trans_no'], sql2date($trans['trans_date']))); - set_focus('amount'); - $input_error = 1; - } - if (!$Refs->is_valid($_POST['ref'])) - { - display_error( _("You must enter a reference.")); - set_focus('ref'); - $input_error = 1; + if (isset($trans['trans_no'])) { + display_error(sprintf(_("The bank transaction would result in exceed of authorized overdraft limit for transaction: %s #%s on %s."), + $systypes_array[$trans['type']], $trans['trans_no'], sql2date($trans['trans_date']))); + set_focus('amount'); + $input_error = 1; + } } - elseif ($_POST['ref'] != $_SESSION['pay_items']->reference && !is_new_reference($_POST['ref'], $_SESSION['pay_items']->trans_type)) + if (!check_reference($_POST['ref'], $_SESSION['pay_items']->trans_type, $_SESSION['pay_items']->order_id)) { - display_error( _("The entered reference is already in use.")); set_focus('ref'); $input_error = 1; } @@ -293,28 +290,29 @@ function check_trans() if (isset($_POST['Process']) && !check_trans()) { - begin_transaction(); + $cart = &$_SESSION['pay_items']; + + $cart->person_type_id = get_post('PayType'); + $cart->person_id = get_post('person_id'); + $cart->person_detail_id = get_post('PersonDetailID'); + $cart->bank_act = get_post('bank_account'); + $cart->ex_rate = input_num('_ex_rate'); + $cart->tran_date = get_post('date_'); + $cart->memo_ = get_post('memo_'); + $cart->reference = get_post('ref'); + $cart->settled_amount = input_num('settled_amount', null); - $_SESSION['pay_items'] = &$_SESSION['pay_items']; $new = $_SESSION['pay_items']->order_id == 0; - add_new_exchange_rate(get_bank_account_currency(get_post('bank_account')), get_post('date_'), input_num('_ex_rate')); + write_bank_transaction($cart); - $trans = write_bank_transaction( - $_SESSION['pay_items']->trans_type, $_SESSION['pay_items']->order_id, $_POST['bank_account'], - $_SESSION['pay_items'], $_POST['date_'], - $_POST['PayType'], $_POST['person_id'], get_post('PersonDetailID'), - $_POST['ref'], $_POST['memo_'], true, input_num('settled_amount', null)); + $trans_type = $cart->trans_type; + $trans_no = $cart->order_id; - $trans_type = $trans[0]; - $trans_no = $trans[1]; new_doc_date($_POST['date_']); - $_SESSION['pay_items']->clear_items(); unset($_SESSION['pay_items']); - commit_transaction(); - if ($new) meta_forward($_SERVER['PHP_SELF'], $trans_type==ST_BANKPAYMENT ? "AddedID=$trans_no" : "AddedDep=$trans_no"); @@ -388,7 +386,7 @@ if (isset($_POST['AddItem'])) if (isset($_POST['UpdateItem'])) handle_update_item(); -if (isset($_POST['CancelItemChanges'])) +if (isset($_POST['CancelItemChanges']) || isset($_POST['Index'])) line_start_focus(); if (isset($_POST['go'])) @@ -404,7 +402,7 @@ start_form(); display_bank_header($_SESSION['pay_items']); -start_table(TABLESTYLE2, "width=90%", 10); +start_table(TABLESTYLE2, "width='90%'", 10); start_row(); echo ""; display_gl_items($_SESSION['pay_items']->trans_type==ST_BANKPAYMENT ?