Feature 5388: Print Invoices (documents) list gets too long. Fixed by default 180...
[fa-stable.git] / reporting / rep701.php
index 82bb0390ddc8e8db1c3a460458258992d1422a99..65211df69e36a05b8cb1c12b3a5ef23495efd6c3 100644 (file)
@@ -25,10 +25,10 @@ include_once($path_to_root . "/gl/includes/gl_db.inc");
 
 //----------------------------------------------------------------------------------------------------
 
-function display_type ($type, $typename, &$dec, &$rep, $showbalance)
+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))
@@ -36,10 +36,15 @@ function display_type ($type, $typename, &$dec, &$rep, $showbalance)
                //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, $typename);
+                       $rep->TextCol(1, 4, $prefix.$typename);
                        $rep->row -= 4;
                        $rep->Line($rep->row);
                        $rep->NewLine();                
@@ -52,13 +57,13 @@ function display_type ($type, $typename, &$dec, &$rep, $showbalance)
                        $balance = get_gl_trans_from_to($begin, ToDay(), $account["account_code"], 0);
                }
                $rep->TextCol(0, 1,     $account['account_code']);
-               $rep->TextCol(1, 2,     $account['account_name']);
+               $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))
@@ -74,8 +79,8 @@ function display_type ($type, $typename, &$dec, &$rep, $showbalance)
                        $rep->Line($rep->row);
                        $rep->NewLine();                
                }
-
-               display_type($accounttype["id"], $accounttype["name"], $dec, $rep, $showbalance);
+               $nextlevel = $level + 1;
+               display_type($accounttype["id"], $accounttype["name"].' ('.$typename.')', $dec, $rep, $showbalance, $nextlevel);
        }
 }
 
@@ -91,15 +96,16 @@ function print_Chart_of_Accounts()
 
        $showbalance = $_POST['PARAM_0'];
        $comments = $_POST['PARAM_1'];
-       $destination = $_POST['PARAM_2'];
+       $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");
 
-       $dec = 0;
+       $orientation = ($orientation ? 'L' : 'P');
 
-       $cols = array(0, 50, 300, 425, 500);
+       $cols = array(0, 60, 300, 425, 500);
 
        $headers = array(_('Account'), _('Account Name'), _('Account Code'), _('Balance'));
        
@@ -107,11 +113,13 @@ function print_Chart_of_Accounts()
        
        $params = array(0 => $comments);
 
-       $rep = new FrontReport(_('Chart of Accounts'), "ChartOfAccounts", 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();
+       $rep->NewPage();
 
        $classresult = get_account_classes(false);
        while ($class = db_fetch($classresult))
@@ -126,7 +134,7 @@ function print_Chart_of_Accounts()
                $typeresult = get_account_types(false, $class['cid'], -1);
                while ($accounttype=db_fetch($typeresult))
                {
-                       display_type($accounttype["id"], $accounttype["name"], $dec, $rep, $showbalance);
+                       display_type($accounttype["id"], $accounttype["name"], $dec, $rep, $showbalance, 0);
                }
                $rep->NewLine();
        }
@@ -134,4 +142,3 @@ function print_Chart_of_Accounts()
        $rep->End();
 }
 
-?>
\ No newline at end of file