$PastDueDays1 = get_company_pref('past_due_days');
$PastDueDays2 = 2 * $PastDueDays1;
- // Revomed allocated from sql
- if ($all)
- $value = "IF(prep_amount, prep_amount, ov_amount + ov_gst + ov_freight + ov_freight_tax + ov_discount)";
- else
- $value = "(IF(prep_amount, prep_amount, ov_amount + ov_gst + ov_freight + ov_freight_tax + ov_discount)-alloc)";
- $sign = "IF(`type` IN(".implode(',', array(ST_CUSTCREDIT,ST_CUSTPAYMENT,ST_BANKDEPOSIT,ST_JOURNAL))."), -1, 1)";
+ $sign = "IF(`type` IN(".implode(',', array(ST_CUSTCREDIT,ST_CUSTPAYMENT,ST_BANKDEPOSIT))."), -1, 1)";
+
+ $value = "$sign*(IF(trans.prep_amount, trans.prep_amount,
+ ABS(trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount)) ".($all ? '' : "- trans.alloc").")";
+
$due = "IF (type=".ST_SALESINVOICE.", due_date, tran_date)";
$sql = "SELECT type, reference, tran_date,
- $sign*$value as Balance,
- IF ((TO_DAYS('$todate') - TO_DAYS($due)) > 0,$sign*$value,0) AS Due,
- IF ((TO_DAYS('$todate') - TO_DAYS($due)) > $PastDueDays1,$sign*$value,0) AS Overdue1,
- IF ((TO_DAYS('$todate') - TO_DAYS($due)) > $PastDueDays2,$sign*$value,0) AS Overdue2
+ $value as Balance,
+ IF ((TO_DAYS('$todate') - TO_DAYS($due)) >= 0,$value,0) AS Due,
+ IF ((TO_DAYS('$todate') - TO_DAYS($due)) >= $PastDueDays1,$value,0) AS Overdue1,
+ IF ((TO_DAYS('$todate') - TO_DAYS($due)) >= $PastDueDays2,$value,0) AS Overdue2
FROM ".TB_PREF."debtor_trans trans
WHERE type <> ".ST_CUSTDELIVERY."
AND debtor_no = $customer_id
AND tran_date <= '$todate'
- AND ABS(ov_amount + ov_gst + ov_freight + ov_freight_tax + ov_discount) > " . FLOAT_COMP_DELTA;
+ AND ABS($value) > " . FLOAT_COMP_DELTA;
- if (!$all)
- $sql .= "AND ABS(ov_amount + ov_gst + ov_freight + ov_freight_tax + ov_discount - alloc) > " . FLOAT_COMP_DELTA;
$sql .= "ORDER BY tran_date";
return db_query($sql, "The customer transactions could not be retrieved");
$total = array(0,0,0,0, 0);
- $sql = "SELECT debtor_no, name, curr_code FROM ".TB_PREF."debtors_master";
+ $sql = "SELECT debtor_no, name, curr_code, inactive FROM ".TB_PREF."debtors_master";
if ($fromcust != ALL_TEXT)
$sql .= " WHERE debtor_no=".db_escape($fromcust);
$sql .= " ORDER BY name";
if ($no_zeros && floatcmp(array_sum($str), 0) == 0) continue;
$rep->fontSize += 2;
- $rep->TextCol(0, 2, $myrow["name"]);
+ $rep->TextCol(0, 2, $myrow["name"].($myrow['inactive']==1 ? " ("._("Inactive").")" : ""));
if ($convert) $rep->TextCol(2, 3, $myrow['curr_code']);
$rep->fontSize -= 2;
$total[0] += ($custrec["Balance"] - $custrec["Due"]);
$rep->TextCol(1, 2, $trans['reference'], -2);
$rep->DateCol(2, 3, $trans['tran_date'], true, -2);
- if ($trans['type'] == ST_CUSTCREDIT || $trans['type'] == ST_CUSTPAYMENT || $trans['type'] == ST_BANKDEPOSIT)
- {
- $trans['Balance'] *= -1;
- $trans['Due'] *= -1;
- $trans['Overdue1'] *= -1;
- $trans['Overdue2'] *= -1;
- }
-
foreach ($trans as $i => $value)
$trans[$i] = (float)$trans[$i] * $rate;
$str = array($trans["Balance"] - $trans["Due"],