Bug 4530. Customers with 0 left to allocate shown on Customer Allocations when using...
[fa-stable.git] / sales / includes / db / custalloc_db.inc
index ec7c3afbea4a45d4de7be743f8a8a2f9dcc7329e..1fa6995acad11cb81def1701502f8518501f5adb 100644 (file)
@@ -98,7 +98,7 @@ function clear_cust_alloctions($type, $type_no, $person_id=null, $date="")
 }
 //-------------------------------------------------------------------------------------------------------------
 
-function get_allocatable_from_cust_sql($customer_id=null, $settled)
+function get_allocatable_from_cust_sql($customer_id, $settled)
 {
        $sql = "SELECT
                trans.type,
@@ -121,10 +121,10 @@ function get_allocatable_from_cust_sql($customer_id=null, $settled)
        ." WHERE trans.debtor_no=debtor.debtor_no
                AND (((type=".ST_CUSTPAYMENT." OR type=".ST_BANKDEPOSIT.") AND (trans.ov_amount > 0))
                 OR (type=".ST_CUSTCREDIT. " AND (ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount)>0)
-                OR (type=".ST_JOURNAL. " AND (trans.ov_amount < 0)))";
+                OR (type=".ST_JOURNAL. " AND (trans.ov_amount > 0)))";
 
        if (!$settled)
-               $sql .= " AND (round(abs(ov_amount+ov_gst+ov_freight+ov_freight_tax-ov_discount-alloc),6) > 0)";
+               $sql .= " AND (round(abs(ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount-alloc),6) > 0)";
 
        if ($customer_id != null)
                $sql .= " AND trans.debtor_no = ".db_escape($customer_id);