/[dolibarr]/dolibarr/htdocs/compta/bank/releve.php
ViewVC logotype

Diff of /dolibarr/htdocs/compta/bank/releve.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.26 by ccomb, Fri Sep 9 23:17:04 2005 UTC revision 1.27 by eldy, Thu Nov 10 21:04:46 2005 UTC
# Line 111  if (! isset($_GET["num"])) Line 111  if (! isset($_GET["num"]))
111  }  }
112  else  else
113  {  {
114    /**      /**
115     * Vue d'un releve       *      Affiche liste ecritures d'un releve
116     *       */
117     */      if ($_GET["rel"] == 'prev')
   if ($_GET["rel"] == 'prev')  
118      {      {
119        // Recherche valeur pour num = numéro relevé précédent          // Recherche valeur pour num = numéro relevé précédent
120        $sql = "SELECT distinct(num_releve) as num";          $sql = "SELECT distinct(num_releve) as num";
121        $sql.= " FROM ".MAIN_DB_PREFIX."bank";          $sql.= " FROM ".MAIN_DB_PREFIX."bank";
122        $sql.= " WHERE num_releve < ".$_GET["num"]." AND fk_account = ".$_GET["account"];          $sql.= " WHERE num_releve < ".$_GET["num"]." AND fk_account = ".$_GET["account"];
123        $sql.= " ORDER BY num_releve DESC";          $sql.= " ORDER BY num_releve DESC";
124        $result = $db->query($sql);          $result = $db->query($sql);
125        if ($result)          if ($result)
126          {          {
127            $var=True;                $var=True;
128            $numrows = $db->num_rows($result);              $numrows = $db->num_rows($result);
129            $i = 0;              $i = 0;
130            if ($numrows > 0)              if ($numrows > 0)
131              {              {
132                $obj = $db->fetch_object($result);                  $obj = $db->fetch_object($result);
133                $num = $obj->num;                  $num = $obj->num;
134              }              }
135          }          }
136      }      }
137    elseif ($_GET["rel"] == 'next')      elseif ($_GET["rel"] == 'next')
138      {      {
139        // Recherche valeur pour num = numéro relevé précédent          // Recherche valeur pour num = numéro relevé précédent
140        $sql = "SELECT distinct(num_releve) as num";          $sql = "SELECT distinct(num_releve) as num";
141        $sql.= " FROM ".MAIN_DB_PREFIX."bank";          $sql.= " FROM ".MAIN_DB_PREFIX."bank";
142        $sql.= " WHERE num_releve > ".$_GET["num"]." AND fk_account = ".$_GET["account"];          $sql.= " WHERE num_releve > ".$_GET["num"]." AND fk_account = ".$_GET["account"];
143        $sql.= " ORDER BY num_releve ASC";          $sql.= " ORDER BY num_releve ASC";
144        $result = $db->query($sql);          $result = $db->query($sql);
145        if ($result)          if ($result)
146          {          {
147            $var=True;                $var=True;
148            $numrows = $db->num_rows($result);              $numrows = $db->num_rows($result);
149            $i = 0;              $i = 0;
150            if ($numrows > 0)              if ($numrows > 0)
151              {              {
152                $obj = $db->fetch_object($result);                  $obj = $db->fetch_object($result);
153                $num = $obj->num;                  $num = $obj->num;
154              }              }
155          }          }
156      }      }
157    else {      else {
158      // On veut le relevé num          // On veut le relevé num
159      $num=$_GET["num"];          $num=$_GET["num"];
160    }      }
161    $ve=$_GET["ve"];      $ve=$_GET["ve"];
162          
163    $mesprevnext ="<a href=\"releve.php?rel=prev&amp;num=$num&amp;ve=$ve&amp;account=$acct->id\">".img_previous()."</a> &nbsp;";      $mesprevnext ="<a href=\"releve.php?rel=prev&amp;num=$num&amp;ve=$ve&amp;account=$acct->id\">".img_previous()."</a> &nbsp;";
164    $mesprevnext.= $langs->trans("AccountStatement")." $num";      $mesprevnext.= $langs->trans("AccountStatement")." $num";
165    $mesprevnext.=" &nbsp; <a href=\"releve.php?rel=next&amp;num=$num&amp;ve=$ve&amp;account=$acct->id\">".img_next()."</a>";      $mesprevnext.=" &nbsp; <a href=\"releve.php?rel=next&amp;num=$num&amp;ve=$ve&amp;account=$acct->id\">".img_next()."</a>";
166    print_fiche_titre($langs->trans("AccountStatement").' '.$num.', '.$langs->trans("BankAccount").' : <a href="account.php?account='.$acct->id.'">'.$acct->label.'</a>',$mesprevnext);      print_fiche_titre($langs->trans("AccountStatement").' '.$num.', '.$langs->trans("BankAccount").' : <a href="account.php?account='.$acct->id.'">'.$acct->label.'</a>',$mesprevnext);
167    print '<br>';      print '<br>';
168        
169    print "<form method=\"post\" action=\"releve.php\">";      print "<form method=\"post\" action=\"releve.php\">";
170    print "<input type=\"hidden\" name=\"action\" value=\"add\">";      print "<input type=\"hidden\" name=\"action\" value=\"add\">";
   print '<table class="border" width="100%">';  
   print "<tr class=\"liste_titre\">";  
   print '<td>'.$langs->trans("Date").'</td><td>'.$langs->trans("DateValue").'</td><td>'.$langs->trans("Type").'</td><td width="30%">'.$langs->trans("Description").'</td>';  
   print '<td align="right">'.$langs->trans("Debit").'</td>';  
   print '<td align="right">'.$langs->trans("Credit").'</td>';  
   print '<td align="right">'.$langs->trans("Balance").'</td>';  
   print '<td>&nbsp;</td>';  
   print "</tr>\n";  
   
   
   $sql = "SELECT sum(amount) FROM ".MAIN_DB_PREFIX."bank WHERE num_releve < $num AND fk_account = ".$acct->id;  
   $resql=$db->query($sql);  
   if ($resql)  
   {  
       $total = $db->result(0, 0);  
       $db->free($resql);  
   }  
171    
172    $sql = "SELECT b.rowid,".$db->pdate("b.dateo")." as do,".$db->pdate("b.datev")." as dv, b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type";      print '<table class="border" width="100%">';
173    $sql .= " FROM ".MAIN_DB_PREFIX."bank as b";      print '<tr class="liste_titre">';
174    $sql .= " WHERE num_releve='".$num."'";      print '<td align="center">'.$langs->trans("DateOperationShort").'</td>';
175    if (!isset($num)) {      print '<td align="center">'.$langs->trans("DateValueShort").'</td>';
176          $sql .= " or num_releve is null";      print '<td>'.$langs->trans("Type").'</td>';
177    }      print '<td>'.$langs->trans("Description").'</td>';
178    $sql .= " AND fk_account = ".$acct->id;      print '<td align="right" width="60">'.$langs->trans("Debit").'</td>';
179    $sql .= " ORDER BY datev ASC";      print '<td align="right" width="60">'.$langs->trans("Credit").'</td>';
180    $result = $db->query($sql);      print '<td align="right">'.$langs->trans("Balance").'</td>';
181    if ($result)      print '<td>&nbsp;</td>';
182        print "</tr>\n";
183        
184        
185        $sql = "SELECT sum(amount) FROM ".MAIN_DB_PREFIX."bank WHERE num_releve < $num AND fk_account = ".$acct->id;
186        $resql=$db->query($sql);
187        if ($resql)
188      {      {
189        $var=True;            $total = $db->result(0, 0);
190        $numrows = $db->num_rows($result);          $db->free($resql);
191        $i = 0;      }
192        
193        // Ligne Solde début releve      $sql = "SELECT b.rowid,".$db->pdate("b.dateo")." as do,".$db->pdate("b.datev")." as dv, b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type";
194        print "<tr><td colspan=\"4\"><a href=\"releve.php?num=$num&amp;ve=1&amp;rel=$rel&amp;account=".$acct->id."\">Vue etendue</a></td>";      $sql .= " FROM ".MAIN_DB_PREFIX."bank as b";
195        print "<td align=\"right\" colspan=\"2\"><b>".$langs->trans("Solde initial")." :</b></td><td align=\"right\"><b>".price($total)."</b></td><td>&nbsp;</td></tr>\n";      $sql .= " WHERE num_releve='".$num."'";
196        if (!isset($num))
197        while ($i < $numrows)      {
198          {          $sql .= " or num_releve is null";
199            $objp = $db->fetch_object($result);      }
200            $total = $total + $objp->amount;      $sql .= " AND fk_account = ".$acct->id;
201                  $sql .= " ORDER BY datev ASC";
202            $var=!$var;      $result = $db->query($sql);
           print "<tr $bc[$var]>";  
             
           print '<td>'.dolibarr_print_date($objp->do).'</td><td valign="center">';  
203    
204            /* Mise ŕ jour de la date de valeur */      if ($result)
205        {
206            $var=True;
207            $numrows = $db->num_rows($result);
208            $i = 0;
209        
210            // Ligne Solde début releve
211            print "<tr><td colspan=\"4\"><a href=\"releve.php?num=$num&amp;ve=1&amp;rel=$rel&amp;account=".$acct->id."\">&nbsp;</a></td>";
212            print "<td align=\"right\" colspan=\"2\"><b>".$langs->trans("InitialBankBalance")." :</b></td><td align=\"right\"><b>".price($total)."</b></td><td>&nbsp;</td></tr>\n";
213        
214            while ($i < $numrows)
215            {
216                $objp = $db->fetch_object($result);
217                $total = $total + $objp->amount;
218        
219                $var=!$var;
220                print "<tr $bc[$var]>";
221        
222                // Date operation
223                print '<td nowrap="nowrap" align="center">'.dolibarr_print_date($objp->do,"%d/%m/%Y").'</td>';
224        
225                // Date de valeur
226                print '<td align="center" valign="center" nowrap="nowrap">';
227                print '<a href="releve.php?action=dvprev&amp;num='.$num.'&amp;account='.$_GET["account"].'&amp;dvid='.$objp->rowid.'">';
228                print img_previous().'</a> ';
229                print dolibarr_print_date($objp->dv,"%d/%m/%Y") .' ';
230                print '<a href="releve.php?action=dvnext&amp;num='.$num.'&amp;account='.$_GET["account"].'&amp;dvid='.$objp->rowid.'">';
231                print img_next().'</a>';
232                print "</td>\n";
233        
234                // Num chq
235                print '<td nowrap="nowrap">'.$objp->fk_type.' '.($objp->num_chq?$objp->num_chq:'').'</td>';
236        
237                // Libelle
238                print '<td valign="center"><a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$objp->rowid.'&amp;account='.$acct->id.'">'.$objp->label.'</a>';
239        
240                /*
241                 * Ajout les liens (societe, company...)
242                 */
243                $newline=1;
244                $links = $acct->get_url($objp->rowid);
245                foreach($links as $key=>$val)
246                {
247                    if (! $newline) print ' - ';
248                    else print '<br>';
249                    if ($links[$key]['type']=='payment') {
250                        print '<a href="'.$links[$key]['url'].$links[$key]['url_id'].'">';
251                        print img_object($langs->trans('ShowPayment'),'payment').' ';
252                        print $langs->trans("Payment");
253                        print '</a>';
254                        $newline=0;
255                    }
256                    elseif ($links[$key]['type']=='company') {
257                        print '<a href="'.$links[$key]['url'].$links[$key]['url_id'].'">';
258                        print img_object($langs->trans('ShowCustomer'),'company').' ';
259                        print dolibarr_trunc($links[$key]['label'],24);
260                        print '</a>';
261                        $newline=0;
262                    }
263                    else {
264                        print '<a href="'.$links[$key]['url'].$links[$key]['url_id'].'">';
265                        print $links[$key]['label'];
266                        print '</a>';
267                        $newline=0;
268                    }
269                }
270        
271                // Catégories
272                if ($ve)
273                {
274                    $sql = "SELECT label FROM ".MAIN_DB_PREFIX."bank_categ as ct, ".MAIN_DB_PREFIX."bank_class as cl WHERE ct.rowid=cl.fk_categ AND cl.lineid=$objp->rowid";
275                    $resc = $db->query($sql);
276                    if ($resc)
277                    {
278                        $numc = $db->num_rows($resc);
279                        $ii = 0;
280                        if ($numc && ! $newline) print '<br>';
281                        while ($ii < $numc)
282                        {
283                            $objc = $db->fetch_object($resc);
284                            print "<br>-&nbsp;<i>$objc->label</i>";
285                            $ii++;
286                        }
287                    }
288                    else
289                    {
290                        dolibarr_print_error($db);
291                    }
292                }
293        
294                print "</td>";
295        
296                if ($objp->amount < 0)
297                {
298                    $totald = $totald + abs($objp->amount);
299                    print '<td align="right" nowrap=\"nowrap\">'.price($objp->amount * -1)."</td><td>&nbsp;</td>\n";
300                }
301                else
302                {
303                    $totalc = $totalc + abs($objp->amount);
304                    print "<td>&nbsp;</td><td align=\"right\" nowrap=\"nowrap\">".price($objp->amount)."</td>\n";
305                }
306        
307                print "<td align=\"right\" nowrap=\"nowrap\">".price($total)."</td>\n";
308        
309                if ($user->rights->banque->modifier)
310                {
311                    print "<td align=\"center\"><a href=\"ligne.php?rowid=$objp->rowid&amp;account=".$acct->id."\">";
312                    print img_edit();
313                    print "</a></td>";
314                }
315                else
316                {
317                    print "<td align=\"center\">&nbsp;</td>";
318                }
319                print "</tr>";
320                $i++;
321            }
322            $db->free($result);
323        }
324    
325            print '<a href="releve.php?action=dvprev&amp;num='.$num.'&amp;account='.$_GET["account"].'&amp;dvid='.$objp->rowid.'">';      // Ligne Total
326            print img_previous() . "</a> ";      print "<tr><td align=\"right\" colspan=\"4\">".$langs->trans("Total")." :</td><td align=\"right\">".price($totald)."</td><td align=\"right\">".price($totalc)."</td><td>&nbsp;</td><td>&nbsp;</td></tr>";
           print strftime("%d/%m/%Y",$objp->dv) ." ";  
           print '<a href="releve.php?action=dvnext&amp;num='.$num.'&amp;account='.$_GET["account"].'&amp;dvid='.$objp->rowid.'">';  
           print img_next();  
327    
328            print "</td>\n";      // Ligne Solde
329            print '<td>'.$objp->fk_type.' '.($objp->num_chq?$objp->num_chq:'').'</td>';      print "<tr><td align=\"right\" colspan=\"4\">&nbsp;</td><td align=\"right\" colspan=\"2\"><b>".$langs->trans("EndBankBalance")." :</b></td><td align=\"right\"><b>".price($total)."</b></td><td>&nbsp;</td></tr>\n";
330            print "<td>$objp->label";      print "</table></form>\n";
             
           if ($ve)  
             {  
               $sql = "SELECT label FROM ".MAIN_DB_PREFIX."bank_categ as ct, ".MAIN_DB_PREFIX."bank_class as cl WHERE ct.rowid=cl.fk_categ AND cl.lineid=$objp->rowid";  
               $resc = $db->query($sql);  
               if ($resc)  
                 {  
                   $numc = $db->num_rows($resc);  
                   $ii = 0;  
                   while ($ii < $numc)  
                     {  
                       $objc = $db->fetch_object($resc);  
                       print "<br>-&nbsp;<i>$objc->label</i>";  
                       $ii++;  
                     }  
                 }  
               else  
                 {  
                   dolibarr_print_error($db);  
                 }  
             }  
             
           print "</td>";  
             
           if ($objp->amount < 0)  
             {  
               $totald = $totald + abs($objp->amount);  
               print '<td align="right">'.price($objp->amount * -1)."</td><td>&nbsp;</td>\n";  
             }  
           else  
             {  
               $totalc = $totalc + abs($objp->amount);  
               print "<td>&nbsp;</td><td align=\"right\">".price($objp->amount)."</td>\n";  
             }  
       
           print "<td align=\"right\">".price($total)."</td>\n";  
             
           if ($user->rights->banque->modifier)  
             {  
               print "<td align=\"center\"><a href=\"ligne.php?rowid=$objp->rowid&amp;account=".$acct->id."\">";  
               print img_edit();  
               print "</a></td>";  
             }  
           else  
             {  
               print "<td align=\"center\">&nbsp;</td>";  
             }  
           print "</tr>";  
           $i++;  
         }  
       $db->free($result);  
     }  
   // Ligne Total  
   print "<tr><td align=\"right\" colspan=\"4\">".$langs->trans("Total")." :</td><td align=\"right\">".price($totald)."</td><td align=\"right\">".price($totalc)."</td><td>&nbsp;</td><td>&nbsp;</td></tr>";  
   // Ligne Solde  
   print "<tr><td align=\"right\" colspan=\"4\">&nbsp;</td><td align=\"right\" colspan=\"2\"><b>".$langs->trans("Solde final")." :</b></td><td align=\"right\"><b>".price($total)."</b></td><td>&nbsp;</td></tr>\n";  
   print "</table></form>\n";  
     
331  }  }
332  $db->close();  $db->close();
333    

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26