- if ($account != null)
- $sql .= " account='$account' AND";
- if ($dimension > 0)
- $sql .= " dimension_id=$dimension AND";
- if ($dimension2 > 0)
- $sql .= " dimension2_id=$dimension2 AND";
- $from_date = date2sql($from);
- if ($from_incl)
- $sql .= " tran_date >= '$from_date' AND";
- else
- $sql .= " tran_date > IF(".TB_PREF."chart_class.balance_sheet=1, '0000-00-00', '$from_date') AND";
- $to_date = date2sql($to);
- if ($to_incl)
- $sql .= " tran_date <= '$to_date' ";
- else
- $sql .= " tran_date < '$to_date' ";
+ $prev = get_balance($account["account_code"], $dimension, $dimension2, $begin, $from, false, false);
+ $curr = get_balance($account["account_code"], $dimension, $dimension2, $from, $to, true, true);
+ $tot = get_balance($account["account_code"], $dimension, $dimension2, $begin, $to, false, true);
+
+ if ($zero == 0 && !$prev['balance'] && !$curr['balance'] && !$tot['balance'])
+ continue;
+ $rep->TextCol(0, 1, $account['account_code']);
+ $rep->TextCol(1, 2, $account['account_name']);
+ if ($balances != 0)
+ {
+ if ($prev['balance'] >= 0.0)
+ $rep->AmountCol(2, 3, $prev['balance'], $dec);
+ else
+ $rep->AmountCol(3, 4, abs($prev['balance']), $dec);
+ if ($curr['balance'] >= 0.0)
+ $rep->AmountCol(4, 5, $curr['balance'], $dec);
+ else
+ $rep->AmountCol(5, 6, abs($curr['balance']), $dec);
+ if ($tot['balance'] >= 0.0)
+ $rep->AmountCol(6, 7, $tot['balance'], $dec);
+ else
+ $rep->AmountCol(7, 8, abs($tot['balance']), $dec);
+ }
+ else
+ {
+ $rep->AmountCol(2, 3, $prev['debit'], $dec);
+ $rep->AmountCol(3, 4, $prev['credit'], $dec);
+ $rep->AmountCol(4, 5, $curr['debit'], $dec);
+ $rep->AmountCol(5, 6, $curr['credit'], $dec);
+ $rep->AmountCol(6, 7, $tot['debit'], $dec);
+ $rep->AmountCol(7, 8, $tot['credit'], $dec);
+ $pdeb += $prev['debit'];
+ $pcre += $prev['credit'];
+ $cdeb += $curr['debit'];
+ $ccre += $curr['credit'];
+ $tdeb += $tot['debit'];
+ $tcre += $tot['credit'];
+ }