33require
'../../main.inc.php';
41require_once DOL_DOCUMENT_ROOT.
'/core/lib/bank.lib.php';
42require_once DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php';
43require_once DOL_DOCUMENT_ROOT.
'/adherents/class/adherent.class.php';
44require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/chargesociales.class.php';
45require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
46require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/tva.class.php';
47require_once DOL_DOCUMENT_ROOT.
'/fourn/class/paiementfourn.class.php';
48require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
49require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
50require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
51require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
52require_once DOL_DOCUMENT_ROOT.
'/don/class/paymentdonation.class.php';
53require_once DOL_DOCUMENT_ROOT.
'/loan/class/paymentloan.class.php';
54require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/paymentvarious.class.php';
56require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
59$langs->loadLangs(array(
"banks",
"categories",
"companies",
"bills",
"trips",
"donations",
"loan",
"salaries"));
61$action =
GETPOST(
'action',
'aZ09');
64$dvid =
GETPOST(
'dvid',
'alpha');
65$numref =
GETPOST(
'num',
'alpha');
67$brref =
GETPOST(
'brref',
'alpha');
68$oldbankreceipt =
GETPOST(
'oldbankreceipt',
'alpha');
69$newbankreceipt =
GETPOST(
'newbankreceipt',
'alpha');
70$rel =
GETPOST(
"rel",
'alphanohtml');
71$backtopage =
GETPOST(
'backtopage',
'alpha');
74$hookmanager->initHooks(array(
'bankaccountstatement',
'globalcard'));
76if ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvnext' && !empty($dvid)) {
78 $al->datev_next((
int) $dvid);
81if ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvprev' && !empty($dvid)) {
83 $al->datev_previous((
int) $dvid);
88$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
89$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
91if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
95$offset = $limit * $page;
102 $sortfield =
"s.nom";
106if ($id > 0 || !empty($ref)) {
107 $result =
$object->fetch($id, $ref);
113$contextpage =
'banktransactionlist'.(empty(
$object->ref) ?
'' :
'-'.$object->id);
116$fieldid = (!empty($ref) ? $ref :
$id);
117$fieldname = (!empty($ref) ?
'ref' :
'rowid');
119 $socid = $user->socid;
122$result =
restrictedArea($user,
'banque', $fieldid,
'bank_account',
'',
'', $fieldname);
130$sql =
"SELECT b.num_releve as num";
131$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
132$sql .=
" WHERE b.num_releve < '".$db->escape($numref).
"'";
133$sql .=
" AND b.num_releve <> ''";
134$sql .=
" AND b.fk_account = ".((int)
$object->id);
135$sql .=
" ORDER BY b.num_releve DESC";
136$sql .= $db->plimit(1);
138dol_syslog(
"htdocs/compta/bank/releve.php", LOG_DEBUG);
139$resql = $db->query($sql);
141 $numrows = $db->num_rows($resql);
143 $obj = $db->fetch_object($resql);
144 if ($rel ==
'prev') {
147 $foundprevious = $obj->num;
150 dol_print_error($db);
153$sql =
"SELECT b.num_releve as num";
154$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
155$sql .=
" WHERE b.num_releve > '".$db->escape($numref).
"'";
156$sql .=
" AND b.fk_account = ".((int)
$object->id);
157$sql .=
" ORDER BY b.num_releve ASC";
158$sql .= $db->plimit(1);
160dol_syslog(
"htdocs/compta/bank/releve.php", LOG_DEBUG);
161$resql = $db->query($sql);
163 $numrows = $db->num_rows($resql);
165 $obj = $db->fetch_object($resql);
166 if ($rel ==
'next') {
169 $foundnext = $obj->num;
172 dol_print_error($db);
175$sql =
"SELECT b.rowid, b.dateo as do, b.datev as dv,";
176$sql .=
" b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type,";
177$sql .=
" b.fk_bordereau,";
179$sql .=
" ba.rowid as bankid, ba.ref as bankref, ba.label as banklabel";
180$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank_account as ba,";
181$sql .=
" ".MAIN_DB_PREFIX.
"bank as b";
182$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bordereau_cheque as bc ON bc.rowid=b.fk_bordereau';
183$sql .=
" WHERE b.num_releve = '".$db->escape($numref).
"'";
185 $sql .=
" OR b.num_releve is null";
187$sql .=
" AND b.fk_account = ".((int)
$object->id);
188$sql .=
" AND b.fk_account = ba.rowid";
189$sql .=
" AND ba.entity IN (".getEntity(
$object->element).
")";
190$sql .= $db->order(
"b.datev, b.datec",
"ASC");
192$sqlrequestforbankline = $sql;
199if ($action ==
'confirm_editbankreceipt' && !empty($oldbankreceipt) && !empty($newbankreceipt) && $user->hasRight(
'banque',
'consolidate')) {
201 $sqltest =
"SELECT b.rowid FROM ".MAIN_DB_PREFIX.
"bank as b, ".MAIN_DB_PREFIX.
"bank_account as ba";
202 $sqltest .=
" WHERE b.fk_account = ba.rowid AND ba.entity = ".((int)
$conf->entity);
203 $sqltest .=
" AND num_releve = '".$db->escape($newbankreceipt).
"'";
204 $sqltest .= $db->plimit(1);
206 $resql = $db->query($sqltest);
208 $obj = $db->fetch_object($resql);
209 if ($obj && $obj->rowid) {
210 setEventMessages(
'ErrorBankReceiptAlreadyExists',
null,
'errors');
214 dol_print_error($db);
219 $sqlupdate =
"UPDATE ".MAIN_DB_PREFIX.
"bank SET num_releve = '".$db->escape($newbankreceipt).
"'";
220 $sqlupdate .=
" WHERE num_releve = '".$db->escape($oldbankreceipt).
"' AND fk_account = ".((int) $id);
222 $resql = $db->query($sqlupdate);
224 dol_print_error($db);
236$form =
new Form($db);
237$societestatic =
new Societe($db);
242$paymentvatstatic =
new Tva($db);
252if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
253 $param .=
'&contextpage='.$contextpage;
255if ($limit > 0 && $limit !=
$conf->liste_limit) {
256 $param .=
'&limit='.$limit;
259 $param .=
'&id='.urlencode((
string) ($id));
263 $title =
$object->ref.
' - '.$langs->trans(
"AccountStatements");
266 $title = $langs->trans(
"FinancialAccount").
' - '.$langs->trans(
"AccountStatements");
279 $sql =
"SELECT DISTINCT(b.num_releve) as numr";
280 $sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
281 $sql .=
" WHERE b.fk_account = ".((int)
$object->id);
282 $sql .=
" AND b.num_releve IS NOT NULL AND b.num_releve <> '' AND b.num_releve <> '0'";
283 $sql .= $db->order($sortfield, $sortorder);
288 $result = $db->query($sql);
289 $totalnboflines = $db->num_rows($result);
292 $sql .= $db->plimit($limit + 1, $offset);
294 $resql = $db->query($sql);
296 $num = $db->num_rows($resql);
301 print
dol_get_fiche_head($head,
'statement', $langs->trans(
"FinancialAccount"), 0,
'account');
303 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/bank/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
307 dol_banner_tab($object,
'ref', $linkback, 1,
'ref',
'ref', $morehtmlref,
'', 0,
'',
'', 1);
343 $arrayofmassactions = array(
350 $massactionbutton = $form->selectMassAction(
'', $arrayofmassactions);
354 print
'<form name="aaa" action="'.$_SERVER[
"PHP_SELF"].
'" method="POST">';
355 print
'<input type="hidden" name="token" value="'.newToken().
'">';
356 print
'<input type="hidden" name="action" value="confirm_editbankreceipt">';
357 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
358 print
'<input type="hidden" name="account" value="'.$object->id.
'">';
359 print
'<input type="hidden" name="page" value="'.$page.
'">';
361 $param =
"&account=".$object->id.($limit ?
'&limit='.$limit :
'');
362 print_barre_liste($langs->trans(
"AccountStatements"), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton.$morehtml, $num, $totalnboflines,
'', 0,
'',
'', $limit, 0, 0, 1);
364 print
'<table class="noborder centpercent">';
365 print
'<tr class="liste_titre">';
366 print
'<td>'.$langs->trans(
"Ref").
'</td>';
367 print
'<td class="right">'.$langs->trans(
"InitialBankBalance").
'</td>';
368 print
'<td class="right">'.$langs->trans(
"EndBankBalance").
'</td>';
372 $balancestart = array();
375 $imaxinloop = ($limit ? min($num, $limit) : $num);
376 while ($i < $imaxinloop) {
377 $objp = $db->fetch_object($resql);
379 print
'<tr class="oddeven">';
381 if ($action !=
'editbankreceipt' || $objp->numr != $brref) {
382 print
'<a href="releve.php?num='.$objp->numr.
'&account='.
$object->id.
'">'.$objp->numr.
'</a>';
384 print
'<input type="hidden" name="oldbankreceipt" value="'.$objp->numr.
'">';
385 print
'<input type="text" name="newbankreceipt" value="'.$objp->numr.
'">';
386 print
'<input type="submit" class="button smallpaddingimp" name="actionnewbankreceipt" value="'.$langs->trans(
"Save").
'">';
387 print
'<input type="submit" class="button button-cancel smallpaddingimp" name="cancel" value="'.$langs->trans(
"Cancel").
'">';
392 $sql =
"SELECT sum(b.amount) as amount";
393 $sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
394 $sql .=
" WHERE b.num_releve < '".$db->escape($objp->numr).
"'";
395 $sql .=
" AND b.num_releve <> ''";
396 $sql .=
" AND b.fk_account = ".((int)
$object->id);
397 $resqlstart = $db->query($sql);
399 $obj = $db->fetch_object($resqlstart);
400 $balancestart[$objp->numr] = $obj->amount;
401 $db->free($resqlstart);
403 print
'<td class="right"><span class="amount">'.price(
price2num($balancestart[$objp->numr],
'MT'), 0, $langs, 1, -1, -1, empty(
$object->currency_code) ?
$conf->currency :
$object->currency_code).
'</span></td>';
406 $sql =
"SELECT sum(b.amount) as amount";
407 $sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
408 $sql .=
" WHERE b.num_releve = '".$db->escape($objp->numr).
"'";
409 $sql .=
" AND b.fk_account = ".((int)
$object->id);
410 $resqlend = $db->query($sql);
412 $obj = $db->fetch_object($resqlend);
413 $content[$objp->numr] = $obj->amount;
414 $db->free($resqlend);
416 print
'<td class="right"><span class="amount">'.price(
price2num(($balancestart[$objp->numr] + $content[$objp->numr]),
'MT'), 0, $langs, 1, -1, -1, empty(
$object->currency_code) ?
$conf->currency :
$object->currency_code).
'</span></td>';
418 print
'<td class="center">';
419 if ($user->hasRight(
'banque',
'consolidate') && $action !=
'editbankreceipt') {
420 print
'<a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?account='.
$object->id.($page > 0 ?
'&page='.$page :
'').
'&action=editbankreceipt&token='.
newToken().
'&brref='.urlencode($objp->numr).
'">'.img_edit().
'</a>';
431 print
'<tr><td colspan="5"><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td></tr>';
439 dol_print_error($db);
448 print
dol_get_fiche_head($head,
'statement', $langs->trans(
"AccountStatement"), -1,
'account');
452 $morehtmlright .=
'<div class="pagination"><ul>';
453 if ($foundprevious) {
454 $morehtmlright .=
'<li class="pagination"><a class="paginationnext" href="'.$_SERVER[
"PHP_SELF"].
'?num='.urlencode($foundprevious).
'&ve='.urlencode($ve).
'&account='.((int)
$object->id).
'"><i class="fa fa-chevron-left" title="'.
dol_escape_htmltag($langs->trans(
"Previous")).
'"></i></a></li>';
456 $morehtmlright .=
'<li class="pagination"><span class="active">'.$langs->trans(
"AccountStatement").
" ".$numref.
'</span></li>';
458 $morehtmlright .=
'<li class="pagination"><a class="paginationnext" href="'.$_SERVER[
"PHP_SELF"].
'?num='.urlencode($foundnext).
'&ve='.urlencode($ve).
'&account='.((int)
$object->id).
'"><i class="fa fa-chevron-right" title="'.
dol_escape_htmltag($langs->trans(
"Next")).
'"></i></a></li>';
460 $morehtmlright .=
'</ul></div>';
462 $title = $langs->trans(
"AccountStatement").
' '.$numref.
' - '.$langs->trans(
"BankAccount").
' '.
$object->getNomUrl(1,
'receipts');
465 print
'<form method="POST" action="'.dolBuildUrl($_SERVER[
"PHP_SELF"]).
'">';
466 print
'<input type="hidden" name="token" value="'.newToken().
'">';
467 print
'<input type="hidden" name="action" value="add">';
469 print
'<div class="div-table-responsive">';
470 print
'<table class="noborder centpercent">';
471 print
'<tr class="liste_titre">';
472 print
'<td class="center">'.$langs->trans(
"DateOperationShort").
'</td>';
473 print
'<td class="center">'.$langs->trans(
"DateValueShort").
'</td>';
474 print
'<td>'.$langs->trans(
"Type").
'</td>';
475 print
'<td>'.$langs->trans(
"Description").
'</td>';
476 print
'<td class="right" width="60">'.$langs->trans(
"Debit").
'</td>';
477 print
'<td class="right" width="60">'.$langs->trans(
"Credit").
'</td>';
478 print
'<td class="right">'.$langs->trans(
"Balance").
'</td>';
479 print
'<td> </td>';
483 $sql =
"SELECT sum(b.amount) as amount";
484 $sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
485 $sql .=
" WHERE b.num_releve < '".$db->escape($numref).
"'";
486 $sql .=
" AND b.num_releve <> ''";
487 $sql .=
" AND b.fk_account = ".((int)
$object->id);
489 $resql = $db->query($sql);
491 $obj = $db->fetch_object($resql);
492 $total = $obj->amount;
498 $totalc = $totald = 0;
501 $sql = $sqlrequestforbankline;
503 $resql = $db->query($sql);
505 $num = $db->num_rows($resql);
509 print
'<tr class="oddeven"><td colspan="3"></td>';
510 print
'<td colspan="3"><b>'.$langs->trans(
"InitialBankBalance").
" :</b></td>";
511 print
'<td class="right"><b>'.price(
price2num($total,
'MT')).
'</b></td><td> </td>';
515 $objp = $db->fetch_object($resql);
516 $total += $objp->amount;
518 print
'<tr class="oddeven">';
521 print
'<td class="nowrap center">'.dol_print_date($db->jdate($objp->do),
"day").
'</td>';
524 print
'<td valign="center" class="center nowrap">';
525 print
'<span class="spanforajaxedit">'.dol_print_date($db->jdate($objp->dv),
"day").
'</span>';
527 print
'<span class="inline-block">';
528 print
'<a class="ajaxforbankoperationchange reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&num='.urlencode($numref).
'&account='.
$object->id.
'&rowid='.$objp->rowid.
'&dvid='.$objp->rowid.
'">';
529 print img_edit_remove().
"</a> ";
530 print
'<a class="ajaxforbankoperationchange reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&num='.urlencode($numref).
'&account='.
$object->id.
'&rowid='.$objp->rowid.
'&dvid='.$objp->rowid.
'">';
531 print img_edit_add().
"</a>";
536 if ($objp->fk_type ==
'SOLD') {
537 $type_label =
' ';
539 $type_label = ($langs->trans(
"PaymentTypeShort".$objp->fk_type) !=
"PaymentTypeShort".$objp->fk_type) ? $langs->trans(
"PaymentTypeShort".$objp->fk_type) : $objp->fk_type;
542 if ($objp->fk_bordereau > 0) {
543 $remisestatic->id = $objp->fk_bordereau;
544 $remisestatic->ref = $objp->ref;
545 $link =
' '.$remisestatic->getNomUrl(1);
547 print
'<td class="nowrap">'.$type_label.
' '.($objp->num_chq ? $objp->num_chq :
'').$link.
'</td>';
550 print
'<td valign="center">';
551 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$objp->rowid.
'&account='.
$object->id.
'">';
554 preg_match(
'/\((.+)\)/i', $objp->label, $reg);
555 if (!empty($reg[1]) && $langs->trans($reg[1]) != $reg[1]) {
556 print $langs->trans($reg[1]);
566 $links =
$object->get_url($objp->rowid);
567 foreach ($links as $key => $val) {
573 if ($links[$key][
'type'] ==
'payment') {
574 $paymentstatic->id = $links[$key][
'url_id'];
575 $paymentstatic->ref = $langs->trans(
"Payment");
576 print
' '.$paymentstatic->getNomUrl(1);
578 } elseif ($links[$key][
'type'] ==
'payment_supplier') {
579 $paymentsupplierstatic->id = $links[$key][
'url_id'];
580 $paymentsupplierstatic->ref = $langs->trans(
"Payment");
581 print
' '.$paymentsupplierstatic->getNomUrl(1);
583 } elseif ($links[$key][
'type'] ==
'payment_sc') {
584 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_sc/card.php?id='.$links[$key][
'url_id'].
'">';
585 print
' '.img_object($langs->trans(
'ShowPayment'),
'payment').
' ';
586 print $langs->trans(
"SocialContributionPayment");
589 } elseif ($links[$key][
'type'] ==
'payment_vat') {
590 $paymentvatstatic->id = $links[$key][
'url_id'];
591 $paymentvatstatic->ref = $langs->trans(
"Payment");
592 print
' '.$paymentvatstatic->getNomUrl(1);
593 } elseif ($links[$key][
'type'] ==
'payment_salary') {
594 print
'<a href="'.DOL_URL_ROOT.
'/salaries/card.php?id='.$links[$key][
'url_id'].
'">';
595 print
' '.img_object($langs->trans(
'ShowPayment'),
'payment').
' ';
596 print $langs->trans(
"Payment");
599 } elseif ($links[$key][
'type'] ==
'payment_donation') {
600 $paymentdonationstatic->id = $links[$key][
'url_id'];
601 $paymentdonationstatic->ref = $langs->trans(
"Payment");
602 print
' '.$paymentdonationstatic->getNomUrl(1);
604 } elseif ($links[$key][
'type'] ==
'payment_loan') {
605 $paymentloanstatic->id = $links[$key][
'url_id'];
606 $paymentloanstatic->ref = $langs->trans(
"Payment");
607 print
' '.$paymentloanstatic->getNomUrl(1);
609 } elseif ($links[$key][
'type'] ==
'payment_various') {
610 $paymentvariousstatic->id = $links[$key][
'url_id'];
611 $paymentvariousstatic->ref = $langs->trans(
"Payment");
612 print
' '.$paymentvariousstatic->getNomUrl(1);
614 } elseif ($links[$key][
'type'] ==
'banktransfert') {
616 if ($objp->amount > 0) {
617 $banklinestatic->fetch($links[$key][
'url_id']);
618 $bankstatic->id = $banklinestatic->fk_account;
619 $bankstatic->label = $banklinestatic->bank_account_label;
620 print
' ('.$langs->trans(
"from").
' ';
621 print $bankstatic->getNomUrl(1,
'transactions');
622 print
' '.$langs->trans(
"toward").
' ';
623 $bankstatic->id = $objp->bankid;
624 $bankstatic->label = $objp->bankref;
625 print $bankstatic->getNomUrl(1,
'');
628 $bankstatic->id = $objp->bankid;
629 $bankstatic->label = $objp->bankref;
630 print
' ('.$langs->trans(
"from").
' ';
631 print $bankstatic->getNomUrl(1,
'');
632 print
' '.$langs->trans(
"toward").
' ';
633 $banklinestatic->fetch($links[$key][
'url_id']);
634 $bankstatic->id = $banklinestatic->fk_account;
635 $bankstatic->label = $banklinestatic->bank_account_label;
636 print $bankstatic->getNomUrl(1,
'transactions');
639 } elseif ($links[$key][
'type'] ==
'company') {
640 $societestatic->id = $links[$key][
'url_id'];
641 $societestatic->name = $links[$key][
'label'];
642 print $societestatic->getNomUrl(1,
'company', 24);
644 } elseif ($links[$key][
'type'] ==
'member') {
645 print
'<a href="'.DOL_URL_ROOT.
'/adherents/card.php?rowid='.$links[$key][
'url_id'].
'">';
646 print img_object($langs->trans(
'ShowMember'),
'user').
' ';
647 print $links[$key][
'label'];
650 } elseif ($links[$key][
'type'] ==
'user') {
651 print
'<a href="'.DOL_URL_ROOT.
'/user/card.php?id='.$links[$key][
'url_id'].
'">';
652 print img_object($langs->trans(
'ShowUser'),
'user').
' ';
653 print $links[$key][
'label'];
656 } elseif ($links[$key][
'type'] ==
'sc') {
657 print
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$links[$key][
'url_id'].
'">';
658 print img_object($langs->trans(
'ShowBill'),
'bill').
' ';
659 print $langs->trans(
"SocialContribution");
663 print
'<a href="'.$links[$key][
'url'].$links[$key][
'url_id'].
'">';
664 print $links[$key][
'label'];
672 $sql =
"SELECT label";
673 $sql .=
" FROM ".MAIN_DB_PREFIX.
"categorie as ct";
674 $sql .=
", ".MAIN_DB_PREFIX.
"category_bankline as cl";
675 $sql .=
" WHERE ct.rowid = cl.fk_categ";
676 $sql .=
" AND ct.entity = ".((int)
$conf->entity);
677 $sql .=
" AND cl.lineid = ".((int) $objp->rowid);
679 $resc = $db->query($sql);
681 $numc = $db->num_rows($resc);
683 if ($numc && !$newline) {
686 while ($ii < $numc) {
687 $objc = $db->fetch_object($resc);
688 print
"<br>- <i>".$objc->label.
"</i>";
692 dol_print_error($db);
698 if ($objp->amount < 0) {
699 $totald += abs($objp->amount);
700 print
'<td class="nowrap right">'.price($objp->amount * -1).
"</td><td> </td>\n";
702 $totalc += abs($objp->amount);
703 print
'<td> </td><td class="nowrap right">'.price($objp->amount).
"</td>\n";
706 print
'<td class="nowrap right">'.price(
price2num($total,
'MT')).
"</td>\n";
708 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
709 print
'<td class="center"><a class="editfielda reposition" href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$objp->rowid.
'&account='.
$object->id.
'&backtopage='.urlencode($_SERVER[
"PHP_SELF"].
'?account='.
$object->id.
'&num='.urlencode($numref)).
'">';
713 print
"<td class=\"center\"> </td>";
720 dol_print_error($db);
724 print
"\n".
'<tr class="liste_total"><td class="right" colspan="4">'.$langs->trans(
"Total").
' :</td><td class="right">'.
price($totald).
'</td><td class="right">'.
price($totalc).
"</td><td> </td><td> </td></tr>";
728 print
"<td class=\"right\" colspan=\"3\"> </td><td colspan=\"3\"><b>".$langs->trans(
"EndBankBalance").
" :</b></td>";
729 print
'<td class="right"><b>'.price(
price2num($total,
'MT')).
"</b></td><td> </td>";
734 $urlajax = DOL_URL_ROOT.
'/core/ajax/bankconciliate.php?token='.
currentToken();
736 <script type="text/javascript">
738 $("a.ajaxforbankoperationchange").each(function(){
739 var current = $(this);
740 current.click(function()
742 var url = "'.$urlajax.
'&"+current.attr("href").split("?")[1];
743 console.log("We click on ajaxforbankoperationchange url="+url);
744 $.get(url, function(data)
747 current.parent().parent().find(".spanforajaxedit").replaceWith(data);
$id
Support class for third parties, contacts, members, users or resources.
if(! $sortfield) if(! $sortorder) $object
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
account_statement_prepare_head($object, $num)
Prepare array with list of tabs.
bank_prepare_head(Account $object)
Prepare array with list of tabs.
Class to manage bank accounts.
Class to manage bank transaction lines.
Class to manage members of a foundation.
Class for managing the social charges.
Class to manage payments for supplier invoices.
Class to manage payments of customer invoices.
Class to manage payments of donations.
Class to manage payments of loans.
Class to manage various payments.
Class to manage cheque delivery receipts.
Class to manage third parties objects (customers, suppliers, prospects...)
Class to manage VAT - Value-added tax (also known in French as TVA)
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
currentToken()
Return the value of token currently saved into session with name 'token'.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0, $nodefault=0)
Return value of a param into GET or POST supervariable.
GETPOSTINT($paramname, $method=0, $nodefault=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname from a POST of a form.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0, $morecssdiv='')
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $nodie=0, $mode='')
Check permissions of a user to show a page and an object.