X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=reporting%2Frep707.php;h=e19c29fee14db86c90259da0cd401424eea9bb68;hb=64ece402c019dd54bd6ca9882fd300362ef42871;hp=7799ffeaf573bd88ea98d12f3457c01617ddcfa0;hpb=fc72e71a81a7d2c9d68eabbb1200d4c0cbf17f6e;p=fa-stable.git diff --git a/reporting/rep707.php b/reporting/rep707.php index 7799ffea..e19c29fe 100644 --- a/reporting/rep707.php +++ b/reporting/rep707.php @@ -154,14 +154,30 @@ function print_profit_and_loss_statement() $salesacc = 0.0; $last = -1; - $types = get_account_types_all(0); + $closeclass = false; + $convert = 1; + $ctype = 0; - while ($type=db_fetch($types)) + $accounts = get_gl_accounts_all(0); + + while ($account=db_fetch($accounts)) { - if (!num_accounts_in_type($type['AccountType'], $type['parent'])) + if ($account['account_code'] == null && $account['parent'] > 0) continue; - if ($type['AccountClassName'] != $classname) + if ($account['account_code'] != null) + { + $per_balance = get_gl_trans_from_to($from, $to, $account["account_code"], $dimension, $dimension2); + + if ($compare == 2) + $acc_balance = get_budget_trans_from_to($begin, $end, $account["account_code"], $dimension, $dimension2); + else + $acc_balance = get_gl_trans_from_to($begin, $end, $account["account_code"], $dimension, $dimension2); + if (!$per_balance && !$acc_balance) + continue; + } + + if ($account['AccountClassName'] != $classname) { if ($classname != '') { @@ -169,20 +185,20 @@ function print_profit_and_loss_statement() } } - if ($type['AccountTypeName'] != $typename[$level]) + if ($account['AccountTypeName'] != $typename[$level]) { if ($typename[$level] != '') { for ( ; $level >= 0, $typename[$level] != ''; $level--) { - if ($type['parent'] == $closing[$level] || $type['parent'] == $last || $type['parent'] <= 0) + 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, $typeper[$level], $dec); - $rep->AmountCol(3, 4, $typeacc[$level], $dec); + $rep->AmountCol(2, 3, $typeper[$level] * $convert, $dec); + $rep->AmountCol(3, 4, $typeacc[$level] * $convert, $dec); $rep->AmountCol(4, 5, Achieve($typeper[$level], $typeacc[$level]), $pdec); if ($graphics) { @@ -204,8 +220,8 @@ function print_profit_and_loss_statement() $rep->NewLine(); $rep->Font('bold'); $rep->TextCol(0, 2, _('Total') . " " . $classname); - $rep->AmountCol(2, 3, $classper, $dec); - $rep->AmountCol(3, 4, $classacc, $dec); + $rep->AmountCol(2, 3, $classper * $convert, $dec); + $rep->AmountCol(3, 4, $classacc * $convert, $dec); $rep->AmountCol(4, 5, Achieve($classper, $classacc), $pdec); $rep->Font(); $salesper += $classper; @@ -215,39 +231,32 @@ function print_profit_and_loss_statement() $closeclass = false; } } - if ($type['AccountClassName'] != $classname) + if ($account['AccountClassName'] != $classname) { $rep->Font('bold'); - $rep->TextCol(0, 5, $type['AccountClassName']); + $rep->TextCol(0, 5, $account['AccountClassName']); $rep->Font(); $rep->NewLine(); } $level++; - if ($type['parent'] != $last) - $last = $type['parent']; - $typename[$level] = $type['AccountTypeName']; - $closing[$level] = $type['parent']; + if ($account['parent'] != $last) + $last = $account['parent']; + $typename[$level] = $account['AccountTypeName']; + $closing[$level] = $account['parent']; $rep->row -= 4; - $rep->TextCol(0, 5, $type['AccountTypeName']); + $rep->TextCol(0, 5, $account['AccountTypeName']); $rep->row -= 4; $rep->Line($rep->row); $rep->NewLine(); } - $classname = $type['AccountClassName']; - - $accounts = get_gl_accounts_in_type($type['AccountType']); - while ($account=db_fetch($accounts)) + $classname = $account['AccountClassName']; + $ctype = $account['ClassType']; + $convert = get_class_type_convert($ctype); + + if ($account['account_code'] != null) { - $per_balance = get_gl_trans_from_to($from, $to, $account["account_code"], $dimension, $dimension2); - - if ($compare == 2) - $acc_balance = get_budget_trans_from_to($begin, $end, $account["account_code"], $dimension, $dimension2); - else - $acc_balance = get_gl_trans_from_to($begin, $end, $account["account_code"], $dimension, $dimension2); - if (!$per_balance && !$acc_balance) - continue; - $per_balance *= -1; - $acc_balance *= -1; + //$per_balance *= -1; + //$acc_balance *= -1; for ($i = 0; $i <= $level; $i++) { @@ -259,8 +268,8 @@ function print_profit_and_loss_statement() $rep->TextCol(0, 1, $account['account_code']); $rep->TextCol(1, 2, $account['account_name']); - $rep->AmountCol(2, 3, $per_balance, $dec); - $rep->AmountCol(3, 4, $acc_balance, $dec); + $rep->AmountCol(2, 3, $per_balance * $convert, $dec); + $rep->AmountCol(3, 4, $acc_balance * $convert, $dec); $rep->AmountCol(4, 5, Achieve($per_balance, $acc_balance), $pdec); $rep->NewLine(); @@ -272,27 +281,27 @@ function print_profit_and_loss_statement() } } } - if ($type['AccountClassName'] != $classname) + if ($account['AccountClassName'] != $classname) { if ($classname != '') { $closeclass = true; } } - if ($type['AccountTypeName'] != $typename[$level]) + if ($account['AccountTypeName'] != $typename[$level]) { if ($typename[$level] != '') { for ( ; $level >= 0, $typename[$level] != ''; $level--) { - if ($type['parent'] == $closing[$level] || $type['parent'] == $last || $type['parent'] <= 0) + 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, $typeper[$level], $dec); - $rep->AmountCol(3, 4, $typeacc[$level], $dec); + $rep->AmountCol(2, 3, $typeper[$level] * $convert, $dec); + $rep->AmountCol(3, 4, $typeacc[$level] * $convert, $dec); $rep->AmountCol(4, 5, Achieve($typeper[$level], $typeacc[$level]), $pdec); if ($graphics) { @@ -318,14 +327,14 @@ function print_profit_and_loss_statement() $rep->Font('bold'); $rep->TextCol(0, 2, _('Total') . " " . $classname); - $rep->AmountCol(2, 3, $classper, $dec); - $rep->AmountCol(3, 4, $classacc, $dec); + $rep->AmountCol(2, 3, $classper * $convert, $dec); + $rep->AmountCol(3, 4, $classacc * $convert, $dec); $rep->AmountCol(4, 5, Achieve($classper, $classacc), $pdec); $rep->NewLine(2); $rep->TextCol(0, 2, _('Calculated Return')); - $rep->AmountCol(2, 3, $calculateper, $dec); - $rep->AmountCol(3, 4, $calculateacc, $dec); + $rep->AmountCol(2, 3, $calculateper *-1, $dec); // always convert + $rep->AmountCol(3, 4, $calculateacc * -1, $dec); $rep->AmountCol(4, 5, Achieve($calculateper, $calculateacc), $pdec); if ($graphics) {