PHP 7.4 Bugs in some reports.
[fa-stable.git] / reporting / rep115.php
index a391e5b611abdebcbfd439da747ae6de029790eb..0ed751930cfdc56ff19e56ce681facb8599c6c1a 100644 (file)
@@ -155,11 +155,12 @@ function print_customer_balances()
     if ($no_zeros) $nozeros = _('Yes');
     else $nozeros = _('No');
 
-    $cols = array(0, 70, 140, 180, 230, 270, 350, 445, 495, 555);
+    $cols = array(0, 100, 130, 190, 250, 320, 385, 450, 515);
+    //$cols = array(0, 70, 140, 180, 230, 270, 350, 445, 495, 555);
 
-    $headers = array(_('Name'), '', '', _('Open Balance'), '', _('Debit'), _('Credit'), '', _('Balance'));
+    $headers = array(_('Name'), '', '', _('Open Balance'), _('Debit'), _('Credit'), '', _('Balance'));
 
-    $aligns = array('left', 'left', 'left', 'right', 'left', 'right', 'right', 'right', 'right');
+    $aligns = array('left', 'left', 'left', 'right', 'right', 'right', 'right', 'right');
 
     $params =   array(  0 => $comments,
                         1 => array('text' => _('Period'), 'from' => $from,   'to' => $to),
@@ -215,7 +216,11 @@ function print_customer_balances()
         $accumulate = 0;
         $rate = $convert ? get_exchange_rate_from_home_currency($myrow['curr_code'], Today()) : 1;
         $bal = get_open_balance($myrow['debtor_no'], $from, $convert);
-        $init[0] = $init[1] = 0.0;
+        $init = array();
+               $bal['charges'] = isset($bal['charges']) ? $bal['charges'] : 0;
+               $bal['credits'] = isset($bal['credits']) ? $bal['credits'] : 0;
+               $bal['Allocated'] = isset($bal['Allocated']) ? $bal['Allocated'] : 0;
+               $bal['OutStanding'] = isset($bal['OutStanding']) ? $bal['OutStanding'] : 0;
         $init[0] = round2(abs($bal['charges'] * $rate), $dec);
         $init[1] = round2(Abs($bal['credits'] * $rate), $dec);
         $init[2] = round2($bal['Allocated'] * $rate, $dec);
@@ -231,11 +236,11 @@ function print_customer_balances()
             $grandtotal[$i] += $init[$i];
         }
 
-        if (db_num_rows($res) == 0) 
+        if (db_num_rows($res) == 0 && !$no_zeros
         {
                    $rep->TextCol(0, 2, $myrow['name']);
             $rep->AmountCol(3, 4, $init[3], $dec);
-            $rep->AmountCol(8, 9, $init[3], $dec);
+            $rep->AmountCol(7, 8, $init[3], $dec);
             //$rep->Line($rep->row  - 2);
             $rep->NewLine(1);
             continue;
@@ -279,9 +284,9 @@ function print_customer_balances()
                if ($no_zeros && $total[3] == 0.0 && $curr_db == 0.0 && $curr_cr == 0.0) continue;
         $rep->TextCol(0, 2, $myrow['name']);
         $rep->AmountCol(3, 4, $total[3] + $curr_cr - $curr_db, $dec);
-        $rep->AmountCol(5, 6, $curr_db, $dec);
-        $rep->AmountCol(6, 7, $curr_cr, $dec);
-        $rep->AmountCol(8, 9, $total[3], $dec);
+        $rep->AmountCol(4, 5, $curr_db, $dec);
+        $rep->AmountCol(5, 6, $curr_cr, $dec);
+        $rep->AmountCol(7, 8, $total[3], $dec);
         //$rep->Line($rep->row  - 2);
         $rep->NewLine(1);
     }
@@ -293,9 +298,9 @@ function print_customer_balances()
     $grandtotal[3] = $grandtotal[0] - $grandtotal[1];
 
     $rep->AmountCol(3, 4, $grandtotal[3] - $tot_cur_db + $tot_cur_cr, $dec);
-    $rep->AmountCol(5, 6, $tot_cur_db, $dec);
-    $rep->AmountCol(6, 7, $tot_cur_cr, $dec);
-    $rep->AmountCol(8, 9, $grandtotal[3], $dec);
+    $rep->AmountCol(4, 5, $tot_cur_db, $dec);
+    $rep->AmountCol(5, 6, $tot_cur_cr, $dec);
+    $rep->AmountCol(7, 8, $grandtotal[3], $dec);
     $rep->Line($rep->row - 6, 1);
     $rep->NewLine();
     $rep->End();