Customer Transactions, Allocations and Supplier Transactions, Allocations has got...
[fa-stable.git] / sales / includes / db / cust_trans_db.inc
index 74ff8f01f051f9ee2de1abde8943b3f794aaebba..1492cba98a32cbdc54c2c0ae8707f32dfedbb7d1 100644 (file)
@@ -125,6 +125,7 @@ function get_customer_trans($trans_id, $trans_type, $customer_id=null)
        $sql = "SELECT trans.*,"
                ."ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount AS Total,"
                ."cust.name AS DebtorName, cust.address, "
+               ."cust.debtor_ref, "
                ."cust.curr_code, "
                ."cust.tax_id,
                trans.prep_amount>0 as prepaid,"
@@ -243,7 +244,7 @@ function get_customer_trans_order($type, $type_no)
 
        $row = db_fetch_row($result);
 
-       return $row[0];
+       return is_array($row) ? $row[0] : false;
 }
 
 //----------------------------------------------------------------------------------------
@@ -302,7 +303,7 @@ function post_void_customer_trans($type, $type_no)
 }
 
 //----------------------------------------------------------------------------------------
-function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = ALL_TEXT)
+function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = ALL_TEXT, $show_voided = 0)
 {
     $date_after = date2sql($from);
     $date_to = date2sql($to);
@@ -347,11 +348,12 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter =
                         LEFT JOIN ".TB_PREF."users as user ON (audit.user=user.id)
                        LEFT JOIN ".TB_PREF."cust_branch as branch ON trans.branch_code=branch.branch_code,"
                        .TB_PREF."debtors_master as debtor
-               WHERE debtor.debtor_no = trans.debtor_no" // exclude voided transactions and self-balancing (journal) transactions:
-               ." AND ISNULL(v.date_) AND (trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount) != 0";
+               WHERE debtor.debtor_no = trans.debtor_no"; // exclude voided transactions and self-balancing (journal) transactions:
+    if (!$show_voided)         
+               $sql .= " AND ISNULL(v.date_) AND (trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount) != 0";
 
        if ($filter == '2')
-               $sql .= " AND ABS(IF(prep_amount, prep_amount, trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount)-trans.alloc)>"
+               $sql .= " AND ABS(IF(prep_amount, prep_amount, ABS(trans.ov_amount) + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount)-trans.alloc)>"
                        .FLOAT_COMP_DELTA;
        else {
                $sql .= " AND trans.tran_date >= '$date_after'
@@ -384,17 +386,21 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter =
                {
                        $sql .= " AND trans.type = ".ST_CUSTDELIVERY." ";
                }
+               elseif ($filter == '6')
+               {
+                       $sql .= " AND trans.type = ".ST_JOURNAL." ";
+               }
 
        if ($filter == '2')
        {
                $today =  date2sql(Today());
                $sql .= " AND trans.due_date < '$today'
-                               AND (trans.ov_amount + trans.ov_gst + trans.ov_freight_tax + 
+                               AND (ABS(trans.ov_amount) + trans.ov_gst + trans.ov_freight_tax + 
                                trans.ov_freight + trans.ov_discount - trans.alloc > 0) ";
        }
        }
 
-       $sql .= " GROUP BY trans.trans_no, trans.type";
+       $sql .= " GROUP BY trans.trans_no, trans.type, trans.debtor_no";
 
        return $sql;
 }