X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep701.php;h=65211df69e36a05b8cb1c12b3a5ef23495efd6c3;hb=da7df35c61205d0b1af47d286be591b8a3194b0c;hp=f01628f8bd367ea3c7324f648262e76dc5a14629;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/reporting/rep701.php b/reporting/rep701.php index f01628f8..65211df6 100644 --- a/reporting/rep701.php +++ b/reporting/rep701.php @@ -1,22 +1,91 @@ . +***********************************************************************/ +$page_security = 'SA_GLREP'; // ---------------------------------------------------------------- // $ Revision: 2.0 $ // Creator: Joe Hunt // date_: 2005-05-19 // Title: Chart of GL Accounts // ---------------------------------------------------------------- -$path_to_root="../"; +$path_to_root=".."; + +include_once($path_to_root . "/includes/session.inc"); +include_once($path_to_root . "/includes/date_functions.inc"); +include_once($path_to_root . "/includes/data_checks.inc"); +include_once($path_to_root . "/gl/includes/gl_db.inc"); + +//---------------------------------------------------------------------------------------------------- -include_once($path_to_root . "includes/session.inc"); -include_once($path_to_root . "includes/date_functions.inc"); -include_once($path_to_root . "includes/data_checks.inc"); -include_once($path_to_root . "gl/includes/gl_db.inc"); +function display_type ($type, $typename, &$dec, &$rep, $showbalance, $level) +{ + $printtitle = 0; //Flag for printing type name + + //Get Accounts directly under this group/type + $result = get_gl_accounts(null, null, $type); + while ($account=db_fetch($result)) + { + //Print Type Title if it has atleast one non-zero account + if (!$printtitle) + { + $prefix = ''; + for ($sp=1; $sp<=$level; $sp++) + { + $prefix .= ' '; + } + $printtitle = 1; + $rep->row -= 4; + $rep->TextCol(0, 1, $type); + $rep->TextCol(1, 4, $prefix.$typename); + $rep->row -= 4; + $rep->Line($rep->row); + $rep->NewLine(); + } + if ($showbalance == 1) + { + $begin = begin_fiscalyear(); + if (is_account_balancesheet($account["account_code"])) + $begin = ""; + $balance = get_gl_trans_from_to($begin, ToDay(), $account["account_code"], 0); + } + $rep->TextCol(0, 1, $account['account_code']); + $rep->TextCol(1, 2, $prefix.$account['account_name']); + $rep->TextCol(2, 3, $account['account_code2']); + if ($showbalance == 1) + $rep->AmountCol(3, 4, $balance, $dec); + $rep->NewLine(); + } + + //Get Account groups/types under this group/type + $result = get_account_types(false, false, $type); + while ($accounttype=db_fetch($result)) + { + //Print Type Title if has sub types and not previously printed + if (!$printtitle) + { + $printtitle = 1; + $rep->row -= 4; + $rep->TextCol(0, 1, $type); + $rep->TextCol(1, 4, $typename); + $rep->row -= 4; + $rep->Line($rep->row); + $rep->NewLine(); + } + $nextlevel = $level + 1; + display_type($accounttype["id"], $accounttype["name"].' ('.$typename.')', $dec, $rep, $showbalance, $nextlevel); + } +} //---------------------------------------------------------------------------------------------------- -// trial_inquiry_controls(); print_Chart_of_Accounts(); //---------------------------------------------------------------------------------------------------- @@ -25,13 +94,18 @@ function print_Chart_of_Accounts() { global $path_to_root; - include_once($path_to_root . "reporting/includes/pdf_report.inc"); - $showbalance = $_POST['PARAM_0']; $comments = $_POST['PARAM_1']; - $dec = 0; + $orientation = $_POST['PARAM_2']; + $destination = $_POST['PARAM_3']; + if ($destination) + include_once($path_to_root . "/reporting/includes/excel_report.inc"); + else + include_once($path_to_root . "/reporting/includes/pdf_report.inc"); - $cols = array(0, 50, 300, 425, 500); + $orientation = ($orientation ? 'L' : 'P'); + + $cols = array(0, 60, 300, 425, 500); $headers = array(_('Account'), _('Account Name'), _('Account Code'), _('Balance')); @@ -39,59 +113,32 @@ function print_Chart_of_Accounts() $params = array(0 => $comments); - $rep = new FrontReport(_('Chart of Accounts'), "ChartOfAccounts.pdf", user_pagesize()); + $rep = new FrontReport(_('Chart of Accounts'), "ChartOfAccounts", user_pagesize(), 9, $orientation); + if ($orientation == 'L') + recalculate_cols($cols); $rep->Font(); $rep->Info($params, $cols, $headers, $aligns); - $rep->Header(); - - $classname = ''; - $group = ''; - - $accounts = get_gl_accounts_all(); + $rep->NewPage(); - while ($account=db_fetch($accounts)) + $classresult = get_account_classes(false); + while ($class = db_fetch($classresult)) { - if ($showbalance == 1) - { - $begin = begin_fiscalyear(); - if (is_account_balancesheet($account["account_code"])) - $begin = ""; - $balance = get_gl_trans_from_to($begin, ToDay(), $account["account_code"], 0); - } - if ($account['AccountTypeName'] != $group) - { - if ($classname != '') - $rep->row -= 4; - if ($account['AccountClassName'] != $classname) - { - $rep->Font('bold'); - $rep->TextCol(0, 4, $account['AccountClassName']); - $rep->Font(); - $rep->row -= ($rep->lineHeight + 4); - } - $group = $account['AccountTypeName']; - $rep->TextCol(0, 4, $account['AccountTypeName']); - //$rep->Line($rep->row - 4); - $rep->row -= ($rep->lineHeight + 4); - } - $classname = $account['AccountClassName']; - - $rep->TextCol(0, 1, $account['account_code']); - $rep->TextCol(1, 2, $account['account_name']); - $rep->TextCol(2, 3, $account['account_code2']); - if ($showbalance == 1) - $rep->TextCol(3, 4, number_format2($balance, $dec)); - + $rep->Font('bold'); + $rep->TextCol(0, 1, $class['cid']); + $rep->TextCol(1, 4, $class['class_name']); + $rep->Font(); $rep->NewLine(); - if ($rep->row < $rep->bottomMargin + 3 * $rep->lineHeight) + + //Get Account groups/types under this group/type with no parents + $typeresult = get_account_types(false, $class['cid'], -1); + while ($accounttype=db_fetch($typeresult)) { - $rep->Line($rep->row - 2); - $rep->Header(); + display_type($accounttype["id"], $accounttype["name"], $dec, $rep, $showbalance, 0); } + $rep->NewLine(); } - $rep->Line($rep->row); + $rep->Line($rep->row + 10); $rep->End(); } -?> \ No newline at end of file