+if (isset($_POST['go']))
+{
+ 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();
+ }
+}