Clean up after Bugs 5510 and 5512.
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Tue, 2 Nov 2021 08:31:17 +0000 (09:31 +0100)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Tue, 2 Nov 2021 08:31:17 +0000 (09:31 +0100)
reporting/rep101.php
reporting/rep108.php
sales/includes/db/cust_trans_db.inc
sales/includes/db/custalloc_db.inc

index 4b570d5ad5a92342526d93c6d1eae75573b5018b..fd87944f8631231ba43d783a99f3fc12be019b89 100644 (file)
@@ -216,7 +216,7 @@ function print_customer_balances()
                 if ($show_balance) {
                     if ($trans['TotalAmount'] == 0) continue;
                 } else {
-                    if (floatcmp($trans['TotalAmount'], $trans['Allocated']) == 0) continue;
+                    if (floatcmp(abs($trans['TotalAmount']), $trans['Allocated']) == 0) continue;
                 }
             }
                        $rep->NewLine(1, 2);
@@ -230,7 +230,7 @@ function print_customer_balances()
                                $trans['TotalAmount'] *= -1;
                        if ($trans['TotalAmount'] > 0.0)
                        {
-                               $item[0] = round2(abs($trans['TotalAmount']) * $rate, $dec);
+                               $item[0] = round2($trans['TotalAmount'] * $rate, $dec);
                                $rep->AmountCol(4, 5, $item[0], $dec);
                                $accumulate += $item[0];
                                $item[2] = round2($trans['Allocated'] * $rate, $dec);
index 6adba2326c0790388dcf7b25ab7191e95a887936..970d57248eba52ef220c04df93dfb21ae1759d5e 100644 (file)
@@ -38,7 +38,7 @@ function getTransactions($debtorno, $date, $show_also_allocated)
         trans.reference,
         trans.tran_date,
         trans.due_date,
-        (ABS(ov_amount) + ov_gst + ov_freight + ov_freight_tax + ov_discount) AS TotalAmount, alloc AS Allocated,
+        (ov_amount + ov_gst + ov_freight + ov_freight_tax + ov_discount) AS TotalAmount, alloc AS Allocated,
                ((trans.type = ".ST_SALESINVOICE.") AND due_date < '$date') AS OverDue
                FROM ".TB_PREF."debtor_trans trans
                LEFT JOIN ".TB_PREF."voided as v
@@ -137,14 +137,15 @@ function print_statements()
                {
                        $DisplayTotal = number_format2(Abs($myrow2["TotalAmount"]),$dec);
                        $DisplayAlloc = number_format2($myrow2["Allocated"],$dec);
-                       $DisplayNet = number_format2($myrow2["TotalAmount"] - $myrow2["Allocated"],$dec);
+                       $DisplayNet = number_format2(Abs($myrow2["TotalAmount"]) - $myrow2["Allocated"],$dec);
 
                        $rep->TextCol(0, 1, $systypes_array[$myrow2['type']], -2);
                        $rep->TextCol(1, 2,     $myrow2['reference'], -2);
                        $rep->TextCol(2, 3,     sql2date($myrow2['tran_date']), -2);
                        if ($myrow2['type'] == ST_SALESINVOICE)
                                $rep->TextCol(3, 4,     sql2date($myrow2['due_date']), -2);
-                       if ($myrow2['type'] == ST_SALESINVOICE || $myrow2['type'] == ST_BANKPAYMENT)
+                       if ($myrow2['type'] == ST_SALESINVOICE || $myrow2['type'] == ST_BANKPAYMENT || ($myrow2['type'] == ST_JOURNAL && 
+                               $myrow2["TotalAmount"] > 0))
                                $rep->TextCol(4, 5,     $DisplayTotal, -2);
                        else
                                $rep->TextCol(5, 6,     $DisplayTotal, -2);
index f0bae1caaed9c146cd247d6b143c3e5a69704bf3..710be16f4f395968577688fcb9611ac6943b70b0 100644 (file)
@@ -353,7 +353,7 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter =
                $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'
index 4633c7cef59f80d3402e3062e59bd25269fb74ad..a202d313980beb2d4bb21574b6e2756cdd77dcbc 100644 (file)
@@ -124,7 +124,7 @@ function get_allocatable_from_cust_sql($customer_id, $settled)
                 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);
@@ -327,9 +327,9 @@ function get_sql_for_customer_allocation_inquiry($from, $to, $customer, $filterT
        {
                $today =  date2sql(Today());
                $sql .= " AND trans.due_date < '$today'
-                               AND (round(abs(trans.ov_amount + "
+                               AND (round(abs(trans.ov_amount) + "
                                ."trans.ov_gst + trans.ov_freight + "
-                               ."trans.ov_freight_tax + trans.ov_discount) - trans.alloc,6) > 0) ";
+                               ."trans.ov_freight_tax + trans.ov_discount - trans.alloc,6) > 0) ";
        }
        }
        else
@@ -340,9 +340,9 @@ function get_sql_for_customer_allocation_inquiry($from, $to, $customer, $filterT
 
        if (!$settled)
        {
-               $sql .= " AND (round(IF(trans.prep_amount,trans.prep_amount, abs(trans.ov_amount + trans.ov_gst + "
+               $sql .= " AND (ROUND(IF(trans.prep_amount,trans.prep_amount, ABS(trans.ov_amount) + trans.ov_gst + "
                ."trans.ov_freight + trans.ov_freight_tax + "
-               ."trans.ov_discount)) - trans.alloc,6) != 0) ";
+               ."trans.ov_discount) - trans.alloc,6) != 0) ";
        }
        return $sql;
 }