[0004904] Customer Credit Note: fixed invalid inventory GL postings for service items.
[fa-stable.git] / reporting / rep707.php
index 211e504fe473aa04a68eca5a7cd2d4de2f09d60a..19a01cabbfe64952f350729c9a8839aa75d77319 100644 (file)
@@ -150,7 +150,7 @@ function Achieve($d1, $d2)
 
 function print_profit_and_loss_statement()
 {
-       global $path_to_root;
+       global $path_to_root, $SysPrefs;
 
        $dim = get_company_pref('use_dimension');
        $dimension = $dimension2 = 0;
@@ -166,16 +166,18 @@ function print_profit_and_loss_statement()
                $decimals = $_POST['PARAM_6'];
                $graphics = $_POST['PARAM_7'];
                $comments = $_POST['PARAM_8'];
-               $destination = $_POST['PARAM_9'];
+               $orientation = $_POST['PARAM_9'];
+               $destination = $_POST['PARAM_10'];
        }
-       else if ($dim == 1)
+       elseif ($dim == 1)
        {
                $dimension = $_POST['PARAM_3'];
                $tags = (isset($_POST['PARAM_4']) ? $_POST['PARAM_4'] : -1);
                $decimals = $_POST['PARAM_5'];
                $graphics = $_POST['PARAM_6'];
                $comments = $_POST['PARAM_7'];
-               $destination = $_POST['PARAM_8'];
+               $orientation = $_POST['PARAM_8'];
+               $destination = $_POST['PARAM_9'];
        }
        else
        {
@@ -183,12 +185,14 @@ function print_profit_and_loss_statement()
                $decimals = $_POST['PARAM_4'];
                $graphics = $_POST['PARAM_5'];
                $comments = $_POST['PARAM_6'];
-               $destination = $_POST['PARAM_7'];
+               $orientation = $_POST['PARAM_7'];
+               $destination = $_POST['PARAM_8'];
        }
        if ($destination)
                include_once($path_to_root . "/reporting/includes/excel_report.inc");
        else
                include_once($path_to_root . "/reporting/includes/pdf_report.inc");
+       $orientation = ($orientation ? 'L' : 'P');
        if ($graphics)
        {
                include_once($path_to_root . "/reporting/includes/class.graphic.inc");
@@ -200,7 +204,7 @@ function print_profit_and_loss_statement()
                $dec = user_price_dec();
        $pdec = user_percent_dec();
 
-       $cols = array(0, 50, 200, 350, 425,     500);
+       $cols = array(0, 60, 200, 350, 425,     500);
        //------------0--1---2----3----4----5--
 
        $headers = array(_('Account'), _('Account Name'), _('Period'), _('Accumulated'), _('Achieved %'));
@@ -217,7 +221,7 @@ function print_profit_and_loss_statement()
                             'from' => get_dimension_string($dimension2), 'to' => ''),
                         4 => array('text' => _('Tags'), 'from' => get_tag_names($tags), 'to' => ''));
     }
-    else if ($dim == 1)
+    elseif ($dim == 1)
     {
        $params =   array(      0 => $comments,
                                    1 => array('text' => _('Period'),'from' => $from, 'to' => $to),
@@ -248,10 +252,14 @@ function print_profit_and_loss_statement()
        {
                $begin = add_months($from, -12);
                $end = add_months($to, -12);
+               if (date_comp($to, end_month($to)) == 0) // compensate for leap years. If to-date equal end month 
+                       $end = end_month($end);                          // then the year-1 should also be end month    
                $headers[3] = _('Period Y-1');
        }
 
-       $rep = new FrontReport(_('Profit and Loss Statement'), "ProfitAndLoss", user_pagesize());
+       $rep = new FrontReport(_('Profit and Loss Statement'), "ProfitAndLoss", user_pagesize(), 9, $orientation);
+    if ($orientation == 'L')
+       recalculate_cols($cols);
 
        $rep->Font();
        $rep->Info($params, $cols, $headers, $aligns);
@@ -315,17 +323,16 @@ function print_profit_and_loss_statement()
        $rep->Line($rep->row);
        if ($graphics)
        {
-               global $decseps, $graph_skin;
                $pg->title     = $rep->title;
                $pg->axis_x    = _("Group");
                $pg->axis_y    = _("Amount");
                $pg->graphic_1 = $headers[2];
                $pg->graphic_2 = $headers[3];
                $pg->type      = $graphics;
-               $pg->skin      = $graph_skin;
+               $pg->skin      = $SysPrefs->graph_skin;
                $pg->built_in  = false;
-               $pg->latin_notation = ($decseps[$_SESSION["wa_current_user"]->prefs->dec_sep()] != ".");
-               $filename = company_path(). "/pdf_files/". uniqid("").".png";
+               $pg->latin_notation = ($SysPrefs->decseps[user_dec_sep()] != ".");
+               $filename = company_path(). "/pdf_files/". random_id().".png";
                $pg->display($filename, true);
                $w = $pg->width / 1.5;
                $h = $pg->height / 1.5;
@@ -339,4 +346,3 @@ function print_profit_and_loss_statement()
        $rep->End();
 }
 
-?>
\ No newline at end of file