Bug 5676: Currency stored in MySQL DOUBLE Type causes strange error. Fixed by explici...
[fa-stable.git] / sales / includes / db / custalloc_db.inc
index ea7db7da363fe2fc1f5cd07b4418df3de18cc87d..eadcbdad54c02a64857a104ba5f0e459d34f6428 100644 (file)
@@ -46,13 +46,14 @@ function get_cust_allocation($trans_id)
 //
 function update_debtor_trans_allocation($trans_type, $trans_no, $person_id)
 {
+       $dec = user_price_dec();
        $sql = 
                "UPDATE `".TB_PREF.($trans_type==ST_SALESORDER ? 'sales_orders' : 'debtor_trans')."` trans,
                        (SELECT sum(amt) amt FROM ".TB_PREF."cust_allocations
                                WHERE person_id=".db_escape($person_id)." AND ((trans_type_to=".db_escape($trans_type)." AND trans_no_to=".db_escape($trans_no).")
                                OR (trans_type_from=".db_escape($trans_type)." AND trans_no_from=".db_escape($trans_no)."))) allocated
                SET 
-                       trans.alloc=IFNULL(allocated.amt,0)
+                       trans.alloc=IFNULL(ROUND(allocated.amt, $dec),0)
                WHERE trans.debtor_no=".db_escape($person_id)." AND ".($trans_type==ST_SALESORDER ?
                           "trans.trans_type=".db_escape($trans_type)." AND order_no=".db_escape($trans_no)
                        :  "trans.type=".db_escape($trans_type)." AND trans_no=".db_escape($trans_no));