{
$to = date2sql($to);
- $sql = "SELECT SUM(IF(t.type = ".ST_SUPPINVOICE." OR t.type = ".ST_BANKDEPOSIT.",
- (t.ov_amount + t.ov_gst + t.ov_discount), 0)) AS charges,
- SUM(IF(t.type <> ".ST_SUPPINVOICE." AND t.type <> ".ST_BANKDEPOSIT.",
- (t.ov_amount + t.ov_gst + t.ov_discount), 0)) AS credits,
- SUM(IF(t.type <> ".ST_SUPPINVOICE." AND t.type <> ".ST_BANKDEPOSIT.", t.alloc * -1, t.alloc)) AS Allocated,
- SUM(IF(t.type = ".ST_SUPPINVOICE." OR t.type = ".ST_BANKDEPOSIT.",
- (t.ov_amount + t.ov_gst + t.ov_discount - t.alloc),
- (t.ov_amount + t.ov_gst + t.ov_discount + t.alloc))) AS OutStanding
- FROM ".TB_PREF."supp_trans t
- WHERE t.tran_date < '$to'
- AND t.supplier_id = '$supplier_id' GROUP BY supplier_id";
+ $sql = "SELECT
+ SUM(IF(type IN(".ST_SUPPINVOICE.",".ST_BANKDEPOSIT."), (ov_amount + ov_gst + ov_discount), 0)) AS charges,
+ SUM(IF(type NOT IN(".ST_SUPPINVOICE.",".ST_BANKDEPOSIT."), (ov_amount + ov_gst + ov_discount), 0)) AS credits,
+ SUM(IF(type NOT IN(".ST_SUPPINVOICE.",".ST_BANKDEPOSIT."),alloc * -1, alloc)) AS Allocated,
+ SUM(IF(type IN(".ST_SUPPINVOICE.",".ST_BANKDEPOSIT."), (ov_amount + ov_gst + ov_discount - alloc),
+ (ov_amount + ov_gst + ov_discount + alloc))) AS OutStanding
+ FROM ".TB_PREF."supp_trans
+ WHERE tran_date < '$to'
+ AND supplier_id = '$supplier_id' GROUP BY supplier_id";
$result = db_query($sql,"No transactions were returned");
return db_fetch($result);
$to = date2sql($to);
$sql = "SELECT *,
- (t.ov_amount + t.ov_gst + t.ov_discount)
- AS TotalAmount, IF(t.type <> ".ST_SUPPINVOICE." AND t.type <> ".ST_BANKDEPOSIT.", t.alloc * -1, t.alloc) AS Allocated,
- ((t.type = ".ST_SUPPINVOICE.") AND t.due_date < '$to') AS OverDue
- FROM ".TB_PREF."supp_trans t
- WHERE t.tran_date >= '$from' AND t.tran_date <= '$to'
- AND t.supplier_id = '$supplier_id' AND t.ov_amount <> 0
- ORDER BY t.tran_date";
+ (ov_amount + ov_gst + ov_discount) AS TotalAmount,
+ alloc AS Allocated,
+ ((type = ".ST_SUPPINVOICE.") AND due_date < '$to') AS OverDue
+ FROM ".TB_PREF."supp_trans
+ WHERE tran_date >= '$from' AND tran_date <= '$to'
+ AND supplier_id = '$supplier_id' AND ov_amount!=0
+ ORDER BY tran_date";
$TransResult = db_query($sql,"No transactions were returned");
function print_supplier_balances()
{
- global $path_to_root, $systypes_array;
-
- $from = $_POST['PARAM_0'];
- $to = $_POST['PARAM_1'];
- $fromsupp = $_POST['PARAM_2'];
- $show_balance = $_POST['PARAM_3'];
- $currency = $_POST['PARAM_4'];
- $no_zeros = $_POST['PARAM_5'];
- $comments = $_POST['PARAM_6'];
+ global $path_to_root, $systypes_array;
+
+ $from = $_POST['PARAM_0'];
+ $to = $_POST['PARAM_1'];
+ $fromsupp = $_POST['PARAM_2'];
+ $show_balance = $_POST['PARAM_3'];
+ $currency = $_POST['PARAM_4'];
+ $no_zeros = $_POST['PARAM_5'];
+ $comments = $_POST['PARAM_6'];
$orientation = $_POST['PARAM_7'];
$destination = $_POST['PARAM_8'];
if ($destination)
if ($no_zeros) $nozeros = _('Yes');
else $nozeros = _('No');
- $cols = array(0, 100, 130, 190, 250, 320, 385, 450, 515);
+ $cols = array(0, 95, 140, 200, 250, 320, 385, 450, 515);
$headers = array(_('Trans Type'), _('#'), _('Date'), _('Due Date'), _('Charges'),
_('Credits'), _('Allocated'), _('Outstanding'));
1 => array('text' => _('Period'), 'from' => $from, 'to' => $to),
2 => array('text' => _('Supplier'), 'from' => $supp, 'to' => ''),
3 => array( 'text' => _('Currency'),'from' => $currency, 'to' => ''),
- 4 => array('text' => _('Suppress Zeros'), 'from' => $nozeros, 'to' => ''));
+ 4 => array('text' => _('Suppress Zeros'), 'from' => $nozeros, 'to' => ''));
$rep = new FrontReport(_('Supplier Balances'), "SupplierBalances", user_pagesize(), 9, $orientation);
if ($orientation == 'L')
$item[0] = round2(abs($trans['TotalAmount']) * $rate, $dec);
$rep->AmountCol(4, 5, $item[0], $dec);
$accumulate += $item[0];
+ $item[2] = round2($trans['Allocated'] * $rate, $dec);
}
else
{
$item[1] = round2(abs($trans['TotalAmount']) * $rate, $dec);
$rep->AmountCol(5, 6, $item[1], $dec);
$accumulate -= $item[1];
+ $item[2] = round2($trans['Allocated'] * $rate, $dec) * -1;
}
- $item[2] = round2($trans['Allocated'] * $rate, $dec);
$rep->AmountCol(6, 7, $item[2], $dec);
if ($trans['TotalAmount'] > 0.0)
$item[3] = $item[0] - $item[2];
else
- //$item[3] = ($item[1] - $item[2]) * -1;
$item[3] = -$item[1] - $item[2];
if ($show_balance)
$rep->AmountCol(7, 8, $accumulate, $dec);
$rep->End();
}
-?>