34require
'../../main.inc.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/payments.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/class/extrafields.class.php';
39require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
42$langs->loadLangs(array(
'banks',
'categories',
'compta',
'bills',
'other'));
43if (isModEnabled(
'adherent')) {
44 $langs->load(
"members");
46if (isModEnabled(
'don')) {
47 $langs->load(
"donations");
49if (isModEnabled(
'loan')) {
52if (isModEnabled(
'salaries')) {
53 $langs->load(
"salaries");
58$rowid =
GETPOST(
"rowid",
'int');
59$accountoldid =
GETPOST(
'account',
'int');
60$accountid =
GETPOST(
'accountid',
'int');
62$action =
GETPOST(
'action',
'aZ09');
63$confirm =
GETPOST(
'confirm',
'alpha');
64$orig_account =
GETPOST(
"orig_account");
65$backtopage =
GETPOST(
'backtopage',
'alpha');
66$cancel =
GETPOST(
'cancel',
'alpha');
69$fieldvalue = (!empty($id) ? $id : (!empty($ref) ? $ref :
''));
70$fieldtype = (!empty($ref) ?
'ref' :
'rowid');
73 $socid = $user->socid;
76$result =
restrictedArea($user,
'banque', $accountoldid,
'bank_account');
77if (!$user->hasRight(
'banque',
'lire') && !$user->hasRight(
'banque',
'consolidate')) {
81$hookmanager->initHooks(array(
'bankline'));
84$extrafields->fetch_name_optionals_label($object->element);
90$parameters = array(
'socid' => $socid);
91$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
97 header(
"Location: ".$backtopage);
103if ($user->hasRight(
'banque',
'consolidate') && $action ==
'donext') {
105 $al->dateo_next(
GETPOST(
"rowid",
'int'));
106} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'doprev') {
108 $al->dateo_previous(
GETPOST(
"rowid",
'int'));
109} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvnext') {
111 $al->datev_next(
GETPOST(
"rowid",
'int'));
112} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvprev') {
114 $al->datev_previous(
GETPOST(
"rowid",
'int'));
117if ($action ==
'confirm_delete_categ' && $confirm ==
"yes" && $user->hasRight(
'banque',
'modifier')) {
118 $cat1 =
GETPOST(
"cat1",
'int');
119 if (!empty($rowid) && !empty($cat1)) {
120 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"bank_class WHERE lineid = ".((int) $rowid).
" AND fk_categ = ".((int) $cat1);
121 if (!$db->query($sql)) {
129if ($user->hasRight(
'banque',
'modifier') && $action ==
"update") {
132 $result = $object->fetch($rowid);
134 dol_syslog(
'Failed to read bank line with id '.$rowid, LOG_WARNING);
135 $object->id = $rowid;
139 $acsource->fetch($accountoldid);
142 if (
GETPOST(
'accountid',
'int') > 0 && !$object->rappro && !$object->getVentilExportCompta()) {
143 $actarget->fetch(
GETPOST(
'accountid',
'int'));
145 $actarget->fetch($accountoldid);
148 if (!($actarget->id > 0)) {
149 setEventMessages($langs->trans(
"ErrorFailedToLoadBankAccount"),
null,
'errors');
153 setEventMessages($langs->trans(
"ErrorCashAccountAcceptsOnlyCashMoney"),
null,
'errors');
163 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
166 if (GETPOSTISSET(
'value')) {
168 $sql .=
" fk_type='".$db->escape(empty($type) && $object->fk_type ==
'SOLD' ?
'SOLD' : $type).
"',";
170 if (GETPOSTISSET(
'num_chq')) {
171 $sql .=
" num_chq='".$db->escape(
GETPOST(
"num_chq")).
"',";
173 if (GETPOSTISSET(
'banque')) {
174 $sql .=
" banque='".$db->escape(
GETPOST(
"banque")).
"',";
176 if (GETPOSTISSET(
'emetteur')) {
177 $sql .=
" emetteur='".$db->escape(
GETPOST(
"emetteur")).
"',";
180 if (!$object->rappro) {
181 if (GETPOSTISSET(
'label')) {
182 $sql .=
" label = '".$db->escape(
GETPOST(
"label")).
"',";
184 if (GETPOSTISSET(
'amount')) {
185 $sql .=
" amount= '".$db->escape($amount).
"',";
187 if (GETPOSTISSET(
'dateomonth')) {
188 $sql .=
" dateo = '".$db->idate($dateop).
"',";
190 if (GETPOSTISSET(
'datevmonth')) {
191 $sql .=
" datev = '".$db->idate($dateval).
"',";
194 $sql .=
" fk_account = ".((int) $actarget->id);
195 $sql .=
" WHERE rowid = ".((int) $object->id);
197 $result = $db->query($sql);
203 $arrayofcategs =
GETPOST(
'custcats',
'array');
204 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"bank_class WHERE lineid = ".((int) $rowid);
205 if (!$db->query($sql)) {
209 if (count($arrayofcategs)) {
210 foreach ($arrayofcategs as $val) {
211 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"bank_class (lineid, fk_categ) VALUES (".((int) $rowid).
", ".((int) $val).
")";
212 if (!$db->query($sql)) {
222 $extrafields->setOptionalsFromPost(
null, $object,
'@GETPOSTISSET');
223 $object->insertExtraFields();
237if ($user->hasRight(
'banque',
'consolidate') && ($action ==
'num_releve' || $action ==
'setreconcile')) {
238 $num_rel = trim(
GETPOST(
"num_rel"));
239 $rappro =
GETPOST(
'reconciled') ? 1 : 0;
242 if ($rappro && empty($num_rel)) {
243 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountStatement")),
null,
'errors');
249 $object->fetch($rowid);
250 $oldNum_rel = $object->num_releve;
251 $id = $object->fk_account;
253 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
254 $sql .=
" SET num_releve = ".($num_rel ?
"'".$db->escape($num_rel).
"'" :
"null");
255 if (empty($num_rel)) {
256 $sql .=
", rappro = 0";
258 $sql .=
", rappro = ".((int) $rappro);
260 $sql .=
" WHERE rowid = ".((int) $rowid);
262 $updatePathFile =
true;
265 dol_syslog(
"line.php update bank line to set the new bank receipt nuber", LOG_DEBUG);
267 $result = $db->query($sql);
294 if ($result && $updatePathFile && $update_dir) {
298 $langs->load(
"errors");
299 setEventMessages($langs->trans(
"ErrorFailToRenameDir", $oldfilepath, $filepath),
null,
'mesgs');
311$form =
new Form($db);
313llxHeader(
'', $langs->trans(
"BankTransaction"));
315$arrayselected = array();
318$cats = $c->containing($rowid, Categorie::TYPE_BANK_LINE);
319if (is_array($cats)) {
320 foreach ($cats as $cat) {
321 $arrayselected[] = $cat->id;
325$head = bankline_prepare_head($rowid);
328$sql =
"SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro,";
329$sql .=
" b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account, b.fk_bordereau as receiptid,";
330$sql .=
" b.emetteur,b.banque";
331$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
332$sql .=
" WHERE rowid=".((int) $rowid);
333$sql .=
" ORDER BY dateo ASC";
334$result = $db->query($sql);
338 if ($db->num_rows($result)) {
339 $objp = $db->fetch_object($result);
341 $total = $total + $objp->amount;
344 $acct->fetch($objp->fk_account);
345 $account = $acct->id;
348 $bankline->fetch($rowid, $ref);
350 $links = $acct->get_url($rowid);
351 $bankline->load_previous_next_ref(
'',
'rowid');
354 if ($action ==
'delete_categ') {
355 print $form->formconfirm($_SERVER[
'PHP_SELF'].
"?rowid=".urlencode($rowid).
"&cat1=".urlencode(
GETPOST(
"fk_categ",
'int')).
"&orig_account=".urlencode($orig_account), $langs->trans(
"RemoveFromRubrique"), $langs->trans(
"RemoveFromRubriqueConfirm"),
"confirm_delete_categ",
'',
'yes', 1);
358 print
'<form name="update" method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$rowid.
'">';
359 print
'<input type="hidden" name="token" value="'.newToken().
'">';
360 print
'<input type="hidden" name="action" value="update">';
361 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
362 print
'<input type="hidden" name="account" value="'.$acct->id.
'">';
364 print
dol_get_fiche_head($head,
'bankline', $langs->trans(
'LineRecord'), 0,
'accountline', 0);
366 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/bank/bankentries_list.php?restore_lastsearch_values=1'.(
GETPOST(
'account',
'int', 1) ?
'&id='.GETPOST(
'account',
'int', 1) :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
371 print
'<div class="fichecenter2">';
373 print
'<div class="underbanner clearboth"></div>';
374 print
'<table class="border centpercent tableforfield">';
379 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"Account").
'</td>';
382 if (($objp->rappro || $bankline->getVentilExportCompta()) && $objp->fk_account > 0) {
383 print $acct->getNomUrl(1,
'transactions',
'reflabel');
385 print
img_picto(
'',
'bank_account',
'class="paddingright"');
386 print $form->select_comptes($acct->id,
'accountid', 0,
'', ($acct->id > 0 ? $acct->id : 1),
'', 0,
'', 1);
393 print
'<tr><td class="tdtop">'.$langs->trans(
"Links").
'</td>';
395 foreach ($links as $key => $val) {
399 if ($links[$key][
'type'] ==
'payment') {
400 require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
402 $paymenttmp->fetch($links[$key][
'url_id']);
403 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
408 print $paymenttmp->getNomUrl(1);
409 } elseif ($links[$key][
'type'] ==
'payment_supplier') {
410 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/paiementfourn.class.php';
412 $paymenttmp->fetch($links[$key][
'url_id']);
413 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
418 print $paymenttmp->getNomUrl(1);
419 } elseif ($links[$key][
'type'] ==
'company') {
421 $societe->fetch($links[$key][
'url_id']);
422 print $societe->getNomUrl(1);
423 } elseif ($links[$key][
'type'] ==
'sc') {
424 print
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$links[$key][
'url_id'].
'">';
425 print
img_object($langs->trans(
'SocialContribution'),
'bill').
' ';
426 print $langs->trans(
"SocialContribution").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
428 } elseif ($links[$key][
'type'] ==
'vat') {
429 print
'<a href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.$links[$key][
'url_id'].
'">';
430 print
img_object($langs->trans(
'VATDeclaration'),
'bill').
' ';
431 print $langs->trans(
"VATDeclaration").($links[$key][
'label'] ?
' '.$links[$key][
'label'] :
'');
433 } elseif ($links[$key][
'type'] ==
'salary') {
434 print
'<a href="'.DOL_URL_ROOT.
'/salaries/card.php?id='.$links[$key][
'url_id'].
'">';
435 print
img_object($langs->trans(
'Salary'),
'bill').
' ';
436 print $langs->trans(
"Salary").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
438 } elseif ($links[$key][
'type'] ==
'payment_sc') {
439 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_sc/card.php?id='.$links[$key][
'url_id'].
'">';
440 print
img_object($langs->trans(
'Payment'),
'payment').
' ';
441 print $langs->trans(
"SocialContributionPayment");
443 } elseif ($links[$key][
'type'] ==
'payment_vat') {
444 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$links[$key][
'url_id'].
'">';
445 print
img_object($langs->trans(
'VATPayment'),
'payment').
' ';
446 print $langs->trans(
"VATPayment");
448 } elseif ($links[$key][
'type'] ==
'payment_salary') {
449 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$links[$key][
'url_id'].
'">';
450 print
img_object($langs->trans(
'PaymentSalary'),
'payment').
' ';
451 print $langs->trans(
"SalaryPayment");
453 } elseif ($links[$key][
'type'] ==
'payment_loan') {
454 print
'<a href="'.DOL_URL_ROOT.
'/loan/payment/card.php?id='.$links[$key][
'url_id'].
'">';
455 print
img_object($langs->trans(
'LoanPayment'),
'payment').
' ';
456 print $langs->trans(
"PaymentLoan");
458 } elseif ($links[$key][
'type'] ==
'loan') {
459 print
'<a href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$links[$key][
'url_id'].
'">';
460 print
img_object($langs->trans(
'Loan'),
'bill').
' ';
461 print $langs->trans(
"Loan");
463 } elseif ($links[$key][
'type'] ==
'member') {
464 print
'<a href="'.DOL_URL_ROOT.
'/adherents/card.php?rowid='.$links[$key][
'url_id'].
'">';
465 print
img_object($langs->trans(
'Member'),
'user').
' ';
466 print $links[$key][
'label'];
468 } elseif ($links[$key][
'type'] ==
'payment_donation') {
469 print
'<a href="'.DOL_URL_ROOT.
'/don/payment/card.php?id='.$links[$key][
'url_id'].
'">';
470 print
img_object($langs->trans(
'Donation'),
'payment').
' ';
471 print $langs->trans(
"DonationPayment");
473 } elseif ($links[$key][
'type'] ==
'banktransfert') {
474 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$links[$key][
'url_id'].
'">';
475 print
img_object($langs->trans(
'Transaction'),
'payment').
' ';
476 print $langs->trans(
"TransactionOnTheOtherAccount");
478 } elseif ($links[$key][
'type'] ==
'user') {
479 print
'<a href="'.DOL_URL_ROOT.
'/user/card.php?id='.$links[$key][
'url_id'].
'">';
480 print
img_object($langs->trans(
'User'),
'user').
' ';
481 print $langs->trans(
"User");
483 } elseif ($links[$key][
'type'] ==
'payment_various') {
484 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/various_payment/card.php?id='.$links[$key][
'url_id'].
'">';
485 print
img_object($langs->trans(
'VariousPayment'),
'payment').
' ';
486 print $langs->trans(
"VariousPayment");
490 print
'<a href="'.$links[$key][
'url'].$links[$key][
'url_id'].
'">';
492 print $links[$key][
'label'];
503 print
"<tr><td>".$langs->trans(
"Type").
" / ".$langs->trans(
"Numero");
504 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
506 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
508 $form->select_types_paiements($objp->fk_type,
"value",
'', 2);
509 print
'<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ?
'' : $objp->num_chq).
'">';
510 if ($objp->receiptid) {
511 include_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
513 $receipt->fetch($objp->receiptid);
514 print
' '.$langs->trans(
"CheckReceipt").
': '.$receipt->getNomUrl(2);
523 print
"<tr><td>".$langs->trans(
"CheckTransmitter");
524 print
' <em>('.$langs->trans(
"ChequeMaker").
')</em>';
526 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
528 print
'<input type="text" class="flat minwidth200" name="emetteur" value="'.(empty($objp->emetteur) ?
'' :
dol_escape_htmltag($objp->emetteur)).
'">';
531 print
'<td>'.$objp->emetteur.
'</td>';
536 print
"<tr><td>".$langs->trans(
"Bank");
537 print
' <em>('.$langs->trans(
"ChequeBank").
')</em>';
539 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
541 print
'<input type="text" class="flat minwidth200" name="banque" value="'.(empty($objp->banque) ?
'' :
dol_escape_htmltag($objp->banque)).
'">';
544 print
'<td>'.dol_escape_htmltag($objp->banque).
'</td>';
549 print
'<tr><td>'.$langs->trans(
"DateOperation").
'</td>';
550 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
552 print $form->selectDate($db->jdate($objp->do),
'dateo',
'',
'',
'',
'update', 1, 0, $objp->rappro);
553 if (!$objp->rappro) {
555 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=doprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
557 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=donext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
569 print
"<tr><td>".$langs->trans(
"DateValue").
"</td>";
570 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
572 print $form->selectDate($db->jdate($objp->dv),
'datev',
'',
'',
'',
'update', 1, 0, $objp->rappro);
573 if (!$objp->rappro) {
575 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
577 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
590 print
"<tr><td>".$langs->trans(
"Label").
"</td>";
591 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
593 print
'<input name="label" class="flat minwidth300" '.($objp->rappro ?
' disabled' :
'').
' value="';
594 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
596 print $langs->trans($reg[1]);
604 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
606 print $langs->trans($reg[1]);
615 print
"<tr><td>".$langs->trans(
"Amount").
"</td>";
616 if ($user->hasRight(
'banque',
'modifier')) {
618 print
'<input name="amount" class="flat maxwidth100" '.($objp->rappro ?
' disabled' :
'').
' value="'.
price($objp->amount).
'"> '.$langs->trans(
"Currency".$acct->currency_code);
622 print
price($objp->amount);
628 if (isModEnabled(
'categorie') && $user->hasRight(
'categorie',
'lire')) {
629 $langs->load(
'categories');
632 print
'<tr><td class="toptd">'.$form->editfieldkey(
'RubriquesTransactions',
'custcats',
'', $object, 0).
'</td><td>';
633 $cate_arbo = $form->select_all_categories(Categorie::TYPE_BANK_LINE,
null,
'parent',
null,
null, 1);
635 $arrayselected = array();
638 $cats = $c->containing($bankline->id, Categorie::TYPE_BANK_LINE);
639 if (is_array($cats)) {
640 foreach ($cats as $cat) {
641 $arrayselected[] = $cat->id;
644 print
img_picto(
'',
'category',
'class="paddingright"').$form->multiselectarray(
'custcats', $cate_arbo, $arrayselected,
null,
null,
null,
null,
"90%");
649 $parameters = array();
650 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $bankline, $action);
651 print $hookmanager->resPrint;
652 if (empty($reshook)) {
653 print $bankline->showOptionals($extrafields, ($objp->rappro ?
'view' :
'create'), $parameters);
686 print
'<div class="center"><input type="submit" class="button" value="'.$langs->trans(
"Update").
'"></div><br>';
693 if ($acct->canBeConciliated() > 0) {
694 print
load_fiche_titre($langs->trans(
"Reconciliation"),
'',
'bank_account');
697 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$objp->rowid.
'">';
698 print
'<input type="hidden" name="token" value="'.newToken().
'">';
699 print
'<input type="hidden" name="action" value="setreconcile">';
700 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
701 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
703 print
'<div class="fichecenter">';
705 print
'<table class="border centpercent">';
707 print
'<tr><td class="titlefieldcreate">'.$form->textwithpicto($langs->trans(
"AccountStatement"), $langs->trans(
"InputReceiptNumber")).
"</td>";
708 if ($user->hasRight(
'banque',
'consolidate')) {
711 print
'<input name="num_rel_bis" id="num_rel_bis" class="flat" type="text" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
712 print
'<input name="num_rel" id="num_rel" class="flat" type="hidden" value="'.$objp->num_releve.
'">';
714 print
'<input name="num_rel" id="num_rel" class="flat" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
716 if ($objp->num_releve) {
717 print
' <a href="'.DOL_URL_ROOT.
'/compta/bank/releve.php?num='.$objp->num_releve.
'&account='.$acct->id.
'">('.$langs->trans(
"AccountStatement").
' '.$objp->num_releve.
')</a>';
721 print
'<td>'.$objp->num_releve.
'</td>';
725 print
'<tr><td><label for="reconciled">'.$langs->trans(
"BankLineConciliated").
'</label></td>';
726 if ($user->hasRight(
'banque',
'consolidate')) {
728 print
'<input type="checkbox" id="reconciled" name="reconciled" class="flat" '.(GETPOSTISSET(
"reconciled") ? (
GETPOST(
"reconciled") ?
' checked="checked"' :
'') : ($objp->rappro ?
' checked="checked"' :
'')).
'">';
731 <script type="text/javascript">
732 jQuery(document).ready(function() {
733 $("#reconciled").click(function(){
734 console.log("We click on checkbox reconciled "+$("#reconciled").prop("checked"));
735 if ($("#reconciled").prop("checked") == false) {
736 console.log("we remove disabled");
737 jQuery("#num_rel_bis").removeAttr("disabled");
738 jQuery("#num_rel").removeAttr("disabled");
739 jQuery("#num_rel_bis").attr("type", "hidden");
740 jQuery("#num_rel").attr("type", "text");
741 jQuery("#num_rel_bis").hide();
742 jQuery("#num_rel").show();
753 print
'<td>'.yn($objp->rappro).
'</td>';
760 print
'<div class="center">';
762 print
'<input type="submit" class="button" value="'.$langs->trans(
"Update").
'">';
765 print
'<input type="submit" name="cancel" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'">';
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage bank accounts.
const TYPE_CASH
Cash account.
Class to manage bank transaction lines.
Class to manage categories.
Class to manage payments for supplier invoices.
Class to manage payments of customer invoices.
Class to manage cheque delivery receipts.
Class to manage third parties objects (customers, suppliers, prospects...)
dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='')
Show tab footer of a card.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed informations (by default a local PHP server timestamp) Re...
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
dol_get_fiche_end($notab=0)
Return tab footer of a card.
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.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs='', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
img_edit_add($titlealt='default', $other='')
Show logo +.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
img_edit_remove($titlealt='default', $other='')
Show logo -.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.