- 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 ($_SESSION['pay_items']->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 = ($_SESSION['pay_items']->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);
- $_SESSION['pay_items']->clear_items();
-
- $_SESSION['pay_items']->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 = ($_SESSION['pay_items']->trans_type==systypes::bank_payment() ? $item['purchasing_gl_code'] :
- $item['sales_gl_code']);
- $_SESSION['pay_items']->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'];
- $_SESSION['pay_items']->add_gl_item($qe_line['account'], $qe_line['dimension_id'], $qe_line['dimension2_id'],
- $amount, $qe['description']);
- }
- }
- line_start_focus();
- }
-}
-