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&num=$num&ve=$ve&account=$acct->id\">".img_previous()."</a> "; |
$mesprevnext ="<a href=\"releve.php?rel=prev&num=$num&ve=$ve&account=$acct->id\">".img_previous()."</a> "; |
164 |
$mesprevnext.= $langs->trans("AccountStatement")." $num"; |
$mesprevnext.= $langs->trans("AccountStatement")." $num"; |
165 |
$mesprevnext.=" <a href=\"releve.php?rel=next&num=$num&ve=$ve&account=$acct->id\">".img_next()."</a>"; |
$mesprevnext.=" <a href=\"releve.php?rel=next&num=$num&ve=$ve&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> </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> </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&ve=1&rel=$rel&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> </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&ve=1&rel=$rel&account=".$acct->id."\"> </a></td>"; |
212 |
|
print "<td align=\"right\" colspan=\"2\"><b>".$langs->trans("InitialBankBalance")." :</b></td><td align=\"right\"><b>".price($total)."</b></td><td> </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&num='.$num.'&account='.$_GET["account"].'&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&num='.$num.'&account='.$_GET["account"].'&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.'&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>- <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> </td>\n"; |
300 |
|
} |
301 |
|
else |
302 |
|
{ |
303 |
|
$totalc = $totalc + abs($objp->amount); |
304 |
|
print "<td> </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&account=".$acct->id."\">"; |
312 |
|
print img_edit(); |
313 |
|
print "</a></td>"; |
314 |
|
} |
315 |
|
else |
316 |
|
{ |
317 |
|
print "<td align=\"center\"> </td>"; |
318 |
|
} |
319 |
|
print "</tr>"; |
320 |
|
$i++; |
321 |
|
} |
322 |
|
$db->free($result); |
323 |
|
} |
324 |
|
|
325 |
print '<a href="releve.php?action=dvprev&num='.$num.'&account='.$_GET["account"].'&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> </td><td> </td></tr>"; |
|
print strftime("%d/%m/%Y",$objp->dv) ." "; |
|
|
print '<a href="releve.php?action=dvnext&num='.$num.'&account='.$_GET["account"].'&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\"> </td><td align=\"right\" colspan=\"2\"><b>".$langs->trans("EndBankBalance")." :</b></td><td align=\"right\"><b>".price($total)."</b></td><td> </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>- <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> </td>\n"; |
|
|
} |
|
|
else |
|
|
{ |
|
|
$totalc = $totalc + abs($objp->amount); |
|
|
print "<td> </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&account=".$acct->id."\">"; |
|
|
print img_edit(); |
|
|
print "</a></td>"; |
|
|
} |
|
|
else |
|
|
{ |
|
|
print "<td align=\"center\"> </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> </td><td> </td></tr>"; |
|
|
// Ligne Solde |
|
|
print "<tr><td align=\"right\" colspan=\"4\"> </td><td align=\"right\" colspan=\"2\"><b>".$langs->trans("Solde final")." :</b></td><td align=\"right\"><b>".price($total)."</b></td><td> </td></tr>\n"; |
|
|
print "</table></form>\n"; |
|
|
|
|
331 |
} |
} |
332 |
$db->close(); |
$db->close(); |
333 |
|
|