/[dolibarr]/dolibarr/htdocs/compta/paiement.php
ViewVC logotype

Diff of /dolibarr/htdocs/compta/paiement.php

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

revision 1.30 by rodolphe, Thu Jul 21 12:38:35 2005 UTC revision 1.31 by rodolphe, Sat Jul 30 19:42:37 2005 UTC
# Line 56  if ($_POST["action"] == 'add_paiement') Line 56  if ($_POST["action"] == 'add_paiement')
56                                      $_POST["reyear"]));                                      $_POST["reyear"]));
57                
58        $paiement_id = 0;        $paiement_id = 0;
59          $total = 0;
60        $amounts = array();        $amounts = array();
61        foreach ($_POST as $key => $value)        foreach ($_POST as $key => $value)
62          {          {
# Line 64  if ($_POST["action"] == 'add_paiement') Line 65  if ($_POST["action"] == 'add_paiement')
65                $other_facid = substr($key,7);                $other_facid = substr($key,7);
66                                
67                $amounts[$other_facid] = $_POST[$key];                $amounts[$other_facid] = $_POST[$key];
68                  $total = $total + $amounts[$other_facid];
69              }              }
70          }          }
71                
72        $db->begin();        if ($total > 0)
73                  {
       // Creation de la ligne paiement  
       $paiement = new Paiement($db);  
       $paiement->datepaye     = $datepaye;  
       $paiement->amounts      = $amounts;   // Tableau de montant  
       $paiement->paiementid   = $_POST["paiementid"];  
       $paiement->num_paiement = $_POST["num_paiement"];  
       $paiement->note         = $_POST["comment"];  
         
       $paiement_id = $paiement->create($user);  
74    
75        if ($paiement_id > 0)            $db->begin();
76          {        
77            // On determine le montant total du paiement            // Creation de la ligne paiement
78            $total=0;            $paiement = new Paiement($db);
79            foreach ($paiement->amounts as $key => $value)            $paiement->datepaye     = $datepaye;
80              {            $paiement->amounts      = $amounts;   // Tableau de montant
81                $facid = $key;            $paiement->paiementid   = $_POST["paiementid"];
82                $value = trim($value);            $paiement->num_paiement = $_POST["num_paiement"];
83                $amount = round(ereg_replace(",",".",$value), 2);            $paiement->note         = $_POST["comment"];
               if (is_numeric($amount))  
                 {  
                   $total += $amount;  
                 }  
             }  
84                        
85            if ($conf->banque->enabled && $_POST["accountid"])            $paiement_id = $paiement->create($user);
             {  
               // Insertion dans llx_bank  
               $label = "Règlement facture";  
               $acc = new Account($db, $_POST["accountid"]);  
               //paiementid contient "CHQ ou VIR par exemple"  
               $bank_line_id = $acc->addline($paiement->datepaye,  
                                             $paiement->paiementid,  
                                             $label,  
                                             $total,  
                                             $paiement->num_paiement,  
                                             '',  
                                             $user);  
               
86    
87                // Mise a jour fk_bank dans llx_paiement.            if ($paiement_id > 0)
88                // On connait ainsi le paiement qui a généré l'écriture bancaire              {
89                if ($bank_line_id > 0)                // On determine le montant total du paiement
90                  $total=0;
91                  foreach ($paiement->amounts as $key => $value)
92                  {                  {
93                    $paiement->update_fk_bank($bank_line_id);                    $facid = $key;
94                                        $value = trim($value);
95                    // Mise a jour liens (pour chaque facture concernées par le paiement)                    $amount = round(ereg_replace(",",".",$value), 2);
96                    foreach ($paiement->amounts as $key => $value)                    if (is_numeric($amount))
97                      {                      {
98                        $facid = $key;                        $total += $amount;
                       $fac = new Facture($db);  
                       $fac->fetch($facid);  
                       $fac->fetch_client();  
                       $acc->add_url_line($bank_line_id,  
                                          $paiement_id,  
                                          DOL_URL_ROOT.'/compta/paiement/fiche.php?id=',  
                                          "(paiement)");  
                       $acc->add_url_line($bank_line_id,  
                                          $fac->client->id,  
                                          DOL_URL_ROOT.'/compta/fiche.php?socid=',  
                                          $fac->client->nom);  
99                      }                      }
                                     
100                  }                  }
101                else                
102                  if ($conf->banque->enabled && $_POST["accountid"])
103                  {                  {
104                    $error++;                    // Insertion dans llx_bank
105                  }                                $label = "Règlement facture";
106              }                    $acc = new Account($db, $_POST["accountid"]);
107                                //paiementid contient "CHQ ou VIR par exemple"
108          }                    $bank_line_id = $acc->addline($paiement->datepaye,
109        else                                                  $paiement->paiementid,
110          {                                                  $label,
111            $error++;                                                  $total,
112          }                                                  $paiement->num_paiement,
113                                                    '',
114                                                    $user);
115                
116    
117        if ($error == 0)                    // Mise a jour fk_bank dans llx_paiement.
118          {                    // On connait ainsi le paiement qui a généré l'écriture bancaire
119                      if ($bank_line_id > 0)
120                        {
121                          $paiement->update_fk_bank($bank_line_id);
122                          
123                          // Mise a jour liens (pour chaque facture concernées par le paiement)
124                          foreach ($paiement->amounts as $key => $value)
125                            {
126                              $facid = $key;
127                              $fac = new Facture($db);
128                              $fac->fetch($facid);
129                              $fac->fetch_client();
130                              $acc->add_url_line($bank_line_id,
131                                                 $paiement_id,
132                                                 DOL_URL_ROOT.'/compta/paiement/fiche.php?id=',
133                                                 "(paiement)");
134                              $acc->add_url_line($bank_line_id,
135                                                 $fac->client->id,
136                                                 DOL_URL_ROOT.'/compta/fiche.php?socid=',
137                                                 $fac->client->nom);
138                            }
139                          
140                        }
141                      else
142                        {
143                          $error++;
144                        }        
145                    }
146                  
147                }
148              else
149                {
150                  $error++;
151                }
152    
           $loc = DOL_URL_ROOT.'/compta/paiement/fiche.php?id='.$paiement_id;  
             
           $db->commit();  
153                        
154            Header("Location: $loc");            if ($error == 0)
155                {
156                  $loc = DOL_URL_ROOT.'/compta/paiement/fiche.php?id='.$paiement_id;
157                  $db->commit();
158                  Header("Location: $loc");
159                }
160              else
161                {
162                  // Il y a eu erreur
163                  $db->rollback();
164                  $fiche_erreur_message = $langs->trans("ErrorUnknown");
165                }
166          }          }
167        else        else
168          {          {
169            // Il y a eu erreur            $fiche_erreur_message = '<div class="error">Aucun montants indiqués</div>';
           $db->rollback();  
           $fiche_erreur_message = $langs->trans("ErrorUnknown");  
170          }          }
   
171      }      }
172    else    else
173      {      {

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

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