- if ($account['AccountTypeName'] != $typename[$level])
- {
- //$rep->NewLine();
- //$rep->TextCol(0, 5, "type = ".$account['AccountType'].", level = $level, closing[0]-[1]-[2]-[3] = ".$closing[0]." ".$closing[1]." ".$closing[2]." ".$closing[3]." type[parent] = ".$account['parent']." last = ".$last);
- //$rep->NewLine();
- if ($typename[$level] != '')
- {
- for ( ; $level >= 0, $typename[$level] != ''; $level--)
- {
- if ($account['parent'] == $closing[$level] || $account['parent'] < $last || $account['parent'] <= 0)
- {
- $rep->row += 6;
- $rep->Line($rep->row);
- $rep->NewLine();
- $rep->TextCol(0, 2, _('Total') . " " . $typename[$level]);
- $rep->AmountCol(2, 3, $typeopen[$level] * $convert, $dec);
- $rep->AmountCol(3, 4, $typeperiod[$level] * $convert, $dec);
- $rep->AmountCol(4, 5, $typeclose[$level] * $convert, $dec);
- if ($graphics)
- {
- $pg->x[] = $typename[$level];
- $pg->y[] = abs($typeclose[$level]);
- }
- $typeopen[$level] = $typeperiod[$level] = $typeclose[$level] = 0.0;
- }
- else
- break;
- $rep->NewLine();
- }
- //$rep->NewLine();
- if ($closeclass)
- {
- $rep->row += 6;
- $rep->Line($rep->row);
- $rep->NewLine();
- $rep->Font('bold');
- $rep->TextCol(0, 2, _('Total') . " " . $classname);
- $rep->AmountCol(2, 3, $classopen * $convert, $dec);
- $rep->AmountCol(3, 4, $classperiod * $convert, $dec);
- $rep->AmountCol(4, 5, $classclose * $convert, $dec);
- $rep->Font();
- if ($ctype == CL_EQUITY)
- {
- $equityopen += $classopen;
- $equityperiod += $classperiod;
- $equityclose += $classclose;
- }
- if ($ctype == CL_LIABILITIES)
- {
- $lopen += $classopen;
- $lperiod += $classperiod;
- $lclose += $classclose;
- }
- $assetsopen += $classopen;
- $assetsperiod += $classperiod;
- $assetsclose += $classclose;
- $classopen = $classperiod = $classclose = 0.0;
- $rep->NewLine(2);
- $closeclass = false;
- }
- }
- if ($account['AccountClassName'] != $classname)
- {
- $rep->Font('bold');
- $rep->TextCol(0, 5, $account['AccountClassName']);
- $rep->Font();
- $rep->NewLine();
- }
- $level++;
- if ($account['parent'] != $last)
- $last = $account['parent'];
- $typename[$level] = $account['AccountTypeName'];
- $closing[$level] = $account['parent'];
- $rep->row -= 4;
- $rep->TextCol(0, 5, $account['AccountTypeName']);
- $rep->row -= 4;
- $rep->Line($rep->row);
- $rep->NewLine();
- }
- $classname = $account['AccountClassName'];
- $ctype = $account['ClassType'];
- $convert = get_class_type_convert($ctype);
-
- if ($account['account_code'] != null)
- {
- for ($i = 0; $i <= $level; $i++)
- {
- $typeopen[$i] += $prev_balance;
- $typeperiod[$i] += $curr_balance;
- $typeclose[$i] = $typeopen[$i] + $typeperiod[$i];
- }
- $classopen += $prev_balance;
- $classperiod += $curr_balance;
- $classclose = $classopen + $classperiod;
- $rep->TextCol(0, 1, $account['account_code']);
- $rep->TextCol(1, 2, $account['account_name']);
-
- $rep->AmountCol(2, 3, $prev_balance * $convert, $dec);
- $rep->AmountCol(3, 4, $curr_balance * $convert, $dec);
- $rep->AmountCol(4, 5, ($curr_balance + $prev_balance) * $convert, $dec);
-
- $rep->NewLine();