X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fgl_bank.php;h=0df087b2a2baf5e102fe1983d1cfcab1be55aac5;hb=e41b7b30847fa2889d67d4e418bb9819a85f065d;hp=d827877d7acec789a7bea4ebcd2065453d1be8de;hpb=3fba15e99fb2191e2ee3d3c87f2ccbd423a3f388;p=fa-stable.git diff --git a/gl/gl_bank.php b/gl/gl_bank.php index d827877d..0df087b2 100644 --- a/gl/gl_bank.php +++ b/gl/gl_bank.php @@ -31,8 +31,30 @@ page($_SESSION['page_title'], false, false, '', $js); //----------------------------------------------------------------------------------------------- check_db_has_bank_accounts(_("There are no bank accounts defined in the system.")); -check_db_has_bank_trans_types(_("There are no bank payment types defined in the system.")); - +//---------------------------------------------------------------------------------------- +if ($ret = context_restore()) { + if(isset($ret['supplier_id'])) + $_POST['person_id'] = $ret['supplier_id']; + if(isset($ret['customer_id'])) + $_POST['person_id'] = $ret['customer_id']; + set_focus('person_id'); + if(isset($ret['branch_id'])) { + $_POST['PersonDetailID'] = $ret['branch_id']; + set_focus('PersonDetailID'); + } +} +if (isset($_POST['_person_id_editor'])) { + if ($_POST['PayType']==payment_person_types::supplier()) + $editor = '/purchasing/manage/suppliers.php?supplier_id='; + else + $editor = '/sales/manage/customers.php?debtor_no='; + +// $_SESSION['pay_items'] should stay unchanged during call +// +context_call($path_to_root.$editor.$_POST['person_id'], + array('bank_account', 'date_', 'PayType', 'person_id', + 'PersonDetailID', 'ref', 'memo_') ); +} //-------------------------------------------------------------------------------------------------- function line_start_focus() { global $Ajax; @@ -50,11 +72,11 @@ if (isset($_GET['AddedID'])) display_notification_centered(_("Payment has been entered")); - display_note(get_gl_view_str($trans_type, $trans_no, _("View the GL Postings for this Payment"))); + display_note(get_gl_view_str($trans_type, $trans_no, _("&View the GL Postings for this Payment"))); - hyperlink_params($_SERVER['PHP_SELF'], _("Enter Another Payment"), "NewPayment=yes"); + hyperlink_params($_SERVER['PHP_SELF'], _("Enter Another &Payment"), "NewPayment=yes"); - hyperlink_params($_SERVER['PHP_SELF'], _("Enter A Deposit"), "NewDeposit=yes"); + hyperlink_params($_SERVER['PHP_SELF'], _("Enter A &Deposit"), "NewDeposit=yes"); display_footer_exit(); } @@ -74,6 +96,9 @@ if (isset($_GET['AddedDep'])) display_footer_exit(); } +if (isset($_POST['_date__changed'])) { + $Ajax->activate('_ex_rate'); +} //-------------------------------------------------------------------------------------------------- function handle_new_order($type) @@ -143,7 +168,7 @@ if (isset($_POST['Process'])) $_SESSION['pay_items']->trans_type, $_POST['bank_account'], $_SESSION['pay_items'], $_POST['date_'], $_POST['PayType'], $_POST['person_id'], get_post('PersonDetailID'), - $_POST['type'], $_POST['ref'], $_POST['memo_']); + $_POST['ref'], $_POST['memo_']); $trans_type = $trans[0]; $trans_no = $trans[1]; @@ -160,12 +185,12 @@ if (isset($_POST['Process'])) function check_item_data() { - if (!check_num('amount', 0)) - { - display_error( _("The amount entered is not a valid number or is less than zero.")); - set_focus('amount'); - return false; - } + //if (!check_num('amount', 0)) + //{ + // display_error( _("The amount entered is not a valid number or is less than zero.")); + // set_focus('amount'); + // return false; + //} if ($_POST['code_id'] == $_POST['bank_account']) { @@ -174,15 +199,15 @@ function check_item_data() return false; } - if (is_bank_account($_POST['code_id'])) - { - if ($_SESSION['pay_items']->trans_type == systypes::bank_payment()) - display_error( _("You cannot make a payment to a bank account. Please use the transfer funds facility for this.")); - else - display_error( _("You cannot make a deposit from a bank account. Please use the transfer funds facility for this.")); - set_focus('code_id'); - return false; - } + //if (is_bank_account($_POST['code_id'])) + //{ + // if ($_SESSION['pay_items']->trans_type == systypes::bank_payment()) + // display_error( _("You cannot make a payment to a bank account. Please use the transfer funds facility for this.")); + // else + // display_error( _("You cannot make a deposit from a bank account. Please use the transfer funds facility for this.")); + // set_focus('code_id'); + // return false; + //} return true; } @@ -221,6 +246,68 @@ function handle_new_item() line_start_focus(); } +function display_quick_entries(&$cart) +{ + if (!check_num('totamount', 0)) + { + display_error( _("The amount entered is not a valid number or is less than zero.")); + set_focus('totamount'); + } + elseif (!get_post('person_id')) + { + if ($cart->trans_type==systypes::bank_payment()) + display_error( _("No Quick Entries are defined for Payment.")); + else + display_error( _("No Quick Entries are defined for Deposit.")); + set_focus('totamount'); + } + else + { + $rate = 0; + $totamount = input_num('totamount'); + $totamount = ($cart->trans_type==systypes::bank_payment() ? 1:-1) * $totamount; + $qe = get_quick_entry($_POST['person_id']); + $qe_lines = get_quick_entry_lines($_POST['person_id']); + while ($qe_line = db_fetch($qe_lines)) + { + if ($qe_line['tax_acc']) + { + $account = get_gl_account($qe_line['account']); + $tax_group = $account['tax_code']; + $items = get_tax_group_items($tax_group); + while ($item = db_fetch($items)) + $rate += $item['rate']; + if ($rate != 0) + $totamount = $totamount * 100 / ($rate + 100); + $cart->clear_items(); + + $cart->add_gl_item($qe_line['account'], $qe_line['dimension_id'], $qe_line['dimension2_id'], + $totamount, $qe['description']); + $items = get_tax_group_items($tax_group); + while ($item = db_fetch($items)) + { + if ($item['rate'] != 0) + { + $amount = $totamount * $item['rate'] / 100; + $code = ($cart->trans_type==systypes::bank_payment() ? $item['purchasing_gl_code'] : + $item['sales_gl_code']); + $cart->add_gl_item($code, 0, 0, $amount, $qe['description']); + } + } + } + else + { + if ($qe_line['pct']) + $amount = $totamount * $qe_line['amount'] / 100; + else + $amount = $qe_line['amount']; + $cart->add_gl_item($qe_line['account'], $qe_line['dimension_id'], $qe_line['dimension2_id'], + $amount, $qe['description']); + } + } + line_start_focus(); + } +} //----------------------------------------------------------------------------------------------- $id = find_submit('Delete'); if ($id != -1) @@ -235,6 +322,8 @@ if (isset($_POST['UpdateItem'])) if (isset($_POST['CancelItemChanges'])) line_start_focus(); +if (isset($_POST['go'])) + display_quick_entries($_SESSION['pay_items']); //-----------------------------------------------------------------------------------------------