$_POST['ToBankAccount'] = $to_trans['bank_act'];
$_POST['target_amount'] = price_format($to_trans['amount']);
$_POST['amount'] = price_format(-$from_trans['amount']);
+ $_POST['dimension_id'] = $to_trans['dimension_id'];
+ $_POST['dimension2_id'] = $to_trans['dimension2_id'];
} else {
$_POST['ref'] = $Refs->get_next(ST_BANKTRANSFER, null, get_post('DatePaid'));
$_POST['memo_'] = '';
$_POST['FromBankAccount'] = 0;
$_POST['ToBankAccount'] = 0;
$_POST['amount'] = 0;
+ $_POST['dimension_id'] = 0;
+ $_POST['dimension2_id'] = 0;
}
}
ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_BANKTRANSFER, null, get_post('DatePaid')), false, ST_BANKTRANSFER,
array('date' => get_post('DatePaid')));
+ $dim = get_company_pref('use_dimension');
+ if ($dim > 0)
+ dimensions_list_row(_("Dimension").":", 'dimension_id',
+ null, true, ' ', false, 1, false);
+ else
+ hidden('dimension_id', 0);
table_section(2);
amount_row(_("Amount:"), 'amount');
amount_row(_("Bank Charge:"), 'charge');
}
+ if ($dim > 1)
+ dimensions_list_row(_("Dimension")." 2:", 'dimension2_id',
+ null, true, ' ', false, 2, false);
+ else
+ hidden('dimension2_id', 0);
textarea_row(_("Memo:"), 'memo_', null, 40,4);
{
$trans_no = array_key_exists('_trans_no', $_POST) ? $_POST['_trans_no'] : null;
if ($trans_no) {
- $trans_no = update_bank_transfer($trans_no, $_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'], input_num('amount'), $_POST['ref'], $_POST['memo_'], input_num('charge'), input_num('target_amount'));
+ $trans_no = update_bank_transfer($trans_no, $_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'], input_num('amount'),
+ $_POST['ref'], $_POST['memo_'], $_POST['dimension_id'], $_POST['dimension2_id'], input_num('charge'), input_num('target_amount'));
} else {
new_doc_date($_POST['DatePaid']);
- $trans_no = add_bank_transfer($_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'], input_num('amount'), $_POST['ref'], $_POST['memo_'], input_num('charge'), input_num('target_amount'));
+ $trans_no = add_bank_transfer($_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'], input_num('amount'), $_POST['ref'],
+ $_POST['memo_'], $_POST['dimension_id'], $_POST['dimension2_id'], input_num('charge'), input_num('target_amount'));
}
meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no");
//
function add_bank_transfer($from_account, $to_account, $date_,
- $amount, $ref, $memo_, $charge=0, $target_amount=0)
+ $amount, $ref, $memo_, $dim1, $dim2, $charge=0, $target_amount=0)
{
global $Refs, $SysPrefs;
begin_transaction();
$args = func_get_args(); if (count($args) < 8) $args[] = 0;
- $args = (object)array_combine(array('from_account', 'to_account', 'date_', 'amount',
- 'ref', 'memo_', 'charge', 'target_amount'), $args);
+ $args = (object)array_combine(array('from_account', 'to_account', 'date_', 'amount',
+ 'ref', 'memo_', 'dimension_id', 'dimension2_id', 'charge', 'target_amount'), $args);
$args->trans_no = 0;
hook_db_prewrite($args, ST_BANKTRANSFER);
$total = 0;
// do the source account postings
- $total += add_gl_trans($trans_type, $trans_no, $date_, $from_gl_account, 0, 0, $person_id,
+ $total += add_gl_trans($trans_type, $trans_no, $date_, $from_gl_account, $dim1, $dim2, $person_id,
-($amount + $charge), $currency);
add_bank_trans($trans_type, $trans_no, $from_account, $ref,
/* Now Debit bank charge account with charges */
$charge_act = get_bank_charge_account($from_account);
$total += add_gl_trans($trans_type, $trans_no, $date_,
- $charge_act, 0, 0, $person_id, $charge, $currency);
+ $charge_act, $dim1, $dim2, $person_id, $charge, $currency);
}
// provide backward compatibility for extension modules (target amount can be not passed)
$to_amount = $target_amount ? $target_amount : $amount;
// do the destination account postings
- $total += add_gl_trans($trans_type, $trans_no, $date_, $to_gl_account, 0, 0, $person_id,
+ $total += add_gl_trans($trans_type, $trans_no, $date_, $to_gl_account, $dim1, $dim2, $person_id,
$to_amount, $to_currency);
/*Post a balance post if $total != 0 */
add_gl_balance($trans_type, $trans_no, $date_, -$total);
else // in this case those are exchange variances between bank and home rates
add_gl_trans($trans_type, $trans_no, $date_, get_company_pref('exchange_diff_act'),
- 0, 0, _("Exchange Variance"), -$total);
+ $dim1, $dim2, _("Exchange Variance"), -$total);
add_bank_trans($trans_type, $trans_no, $to_account, $ref,
$date_, $to_amount, PT_MISC, $person_id,
function update_bank_transfer(
$trans_no, $from_account, $to_account, $date_,
- $amount, $ref, $memo_, $charge=0, $target_amount=0)
+ $amount, $ref, $memo_, $dim1, $dim2, $charge=0, $target_amount=0)
{
begin_transaction();
delete_comments(ST_BANKTRANSFER, $trans_no);
void_gl_trans(ST_BANKTRANSFER, $trans_no, true);
$new_trans_no = add_bank_transfer(
$from_account, $to_account, $date_, $amount,
- $ref, $memo_, $charge, $target_amount
+ $ref, $memo_, $dim1, $dim2, $charge, $target_amount
);
commit_transaction();
return $new_trans_no;