- if ($rate == 0)
- {
- $supp_amount = exchange_from_to($amount, $bank_account_currency, $supplier_currency, $date_);
- $supp_discount = exchange_from_to($discount, $bank_account_currency, $supplier_currency, $date_);
- }
- else
- {
- $supp_amount = round($amount / $rate, user_price_dec());
- $supp_discount = round($discount / $rate, user_price_dec());
+ begin_transaction();
+ $args = func_get_args(); while (count($args) < 10) $args[] = 0;
+ $args = (object)array_combine(array('trans_no', 'supplier_id', 'bank_account', 'date_',
+ 'ref', 'bank_amount', 'supp_amount', 'supp_discount', 'memo_', 'bank_charge'), $args);
+ $args->trans_no = 0;
+ hook_db_prewrite( $args, ST_SUPPAYMENT);
+
+ if ($trans_no != 0) {
+ delete_comments(ST_SUPPAYMENT, $trans_no);
+ void_bank_trans(ST_SUPPAYMENT, $trans_no, true);
+ void_gl_trans(ST_SUPPAYMENT, $trans_no, true);
+ void_cust_allocations(ST_SUPPAYMENT, $trans_no, $date_);