38require
'../../main.inc.php';
39require_once DOL_DOCUMENT_ROOT.
'/expensereport/class/paymentexpensereport.class.php';
40require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
41require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
42require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
43require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
46$langs->loadLangs(array(
'trips',
'bills',
'banks',
'compta'));
48$action =
GETPOST(
'action',
'alpha');
49$massaction =
GETPOST(
'massaction',
'alpha');
50$optioncss =
GETPOST(
'optioncss',
'alpha');
51$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'vendorpaymentlist';
52$mode =
GETPOST(
'mode',
'alpha');
58 $socid = $user->socid;
61$search_ref =
GETPOST(
'search_ref',
'alpha');
62$search_date_startday =
GETPOSTINT(
'search_date_startday');
63$search_date_startmonth =
GETPOSTINT(
'search_date_startmonth');
64$search_date_startyear =
GETPOSTINT(
'search_date_startyear');
65$search_date_endday =
GETPOSTINT(
'search_date_endday');
66$search_date_endmonth =
GETPOSTINT(
'search_date_endmonth');
67$search_date_endyear =
GETPOSTINT(
'search_date_endyear');
68$search_date_start =
dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear);
69$search_date_end =
dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear);
70$search_user =
GETPOST(
'search_user',
'alpha');
71$search_payment_type =
GETPOST(
'search_payment_type');
72$search_cheque_num =
GETPOST(
'search_cheque_num',
'alpha');
73$search_bank_account =
GETPOST(
'search_bank_account',
'int');
74$search_amount =
GETPOST(
'search_amount',
'alpha');
77$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
78$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
80if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
84$offset = $limit * $page;
92 $sortfield =
"pndf.datep";
95$search_all = trim(GETPOSTISSET(
"search_all") ?
GETPOST(
"search_all",
'alpha') :
GETPOST(
'sall'));
98$fieldstosearchall = array(
99 'pndf.rowid' =>
"RefPayment",
101 'pndf.num_payment' =>
"Numero",
102 'pndf.amount' =>
"Amount",
106 'pndf.rowid' => array(
'label' =>
"RefPayment",
'checked' => 1,
'position' => 10),
107 'pndf.datep' => array(
'label' =>
"Date",
'checked' => 1,
'position' => 20),
108 'u.login' => array(
'label' =>
"User",
'checked' => 1,
'position' => 30),
109 'c.libelle' => array(
'label' =>
"Type",
'checked' => 1,
'position' => 40),
110 'pndf.num_payment' => array(
'label' =>
"Numero",
'checked' => 1,
'position' => 50,
'tooltip' =>
"ChequeOrTransferNumber"),
111 'ba.label' => array(
'label' =>
"BankAccount",
'checked' => 1,
'position' => 60,
'enable' => (isModEnabled(
"bank"))),
112 'pndf.amount' => array(
'label' =>
"Amount",
'checked' => 1,
'position' => 70),
115'@phan-var-force array<string,array{label:string,checked?:int<0,1>,position?:int,help?:string}> $arrayfields';
118$hookmanager->initHooks(array(
'paymentexpensereportlist'));
123 $socid = $user->socid;
132if (!$user->hasRight(
'expensereport',
'lire')) {
141$childids = $user->getAllChildIds(1);
143$parameters = array(
'socid' => $socid);
144$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
149if (empty($reshook)) {
151 include DOL_DOCUMENT_ROOT.
'/core/actions_changeselectedfields.inc.php';
154 if (
GETPOST(
'button_removefilter_x',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
156 $search_date_startday =
'';
157 $search_date_startmonth =
'';
158 $search_date_startyear =
'';
159 $search_date_endday =
'';
160 $search_date_endmonth =
'';
161 $search_date_endyear =
'';
162 $search_date_start =
'';
163 $search_date_end =
'';
165 $search_payment_type =
'';
166 $search_cheque_num =
'';
167 $search_bank_account =
'';
176$form =
new Form($db);
178$accountstatic =
new Account($db);
179$userstatic =
new User($db);
185$sql =
'SELECT pndf.rowid, pndf.rowid as ref, pndf.datep, pndf.amount as pamount, pndf.num_payment';
186$sql .=
', u.rowid as userid, u.login, u.email, u.lastname, u.firstname, u.photo';
187$sql .=
', c.code as paiement_type, c.libelle as paiement_libelle';
188$sql .=
', ba.rowid as bid, ba.ref as bref, ba.label as blabel, ba.number, ba.account_number as account_number, ba.iban_prefix, ba.bic, ba.currency_code, ba.fk_accountancy_journal as accountancy_journal';
189$sql .=
', SUM(pndf.amount)';
191$parameters = array();
192$reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters, $object, $action);
193$sql .= $hookmanager->resPrint;
194$sql = preg_replace(
'/,\s*$/',
'', $sql);
198$sql .=
' FROM '.MAIN_DB_PREFIX.
'payment_expensereport AS pndf';
199$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'expensereport AS ndf ON ndf.rowid=pndf.fk_expensereport';
200$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'c_paiement AS c ON pndf.fk_typepayment = c.id';
201$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'user AS u ON u.rowid = ndf.fk_user_author';
202$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON pndf.fk_bank = b.rowid';
203$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
204$sql .=
' WHERE ndf.entity IN ('.getEntity(
"expensereport").
')';
207if (!$user->hasRight(
'expensereport',
'readall') && !$user->hasRight(
'expensereport',
'lire_tous')
208 && (!
getDolGlobalString(
'MAIN_USE_ADVANCED_PERMS') || !$user->hasRight(
'expensereport',
'writeall_advance'))) {
209 $sql .=
" AND ndf.fk_user_author IN (".$db->sanitize(implode(
',', $childids)).
")\n";
215if ($search_date_start) {
216 $sql .=
" AND pndf.datep >= '" . $db->idate($search_date_start) .
"'";
218if ($search_date_end) {
219 $sql .=
" AND pndf.datep <= '" . $db->idate($search_date_end) .
"'";
223 $sql .=
natural_search(array(
'u.login',
'u.lastname',
'u.firstname'), $search_user);
225if ($search_payment_type !=
'') {
226 $sql .=
" AND c.code = '".$db->escape($search_payment_type).
"'";
228if ($search_cheque_num !=
'') {
234if ($search_bank_account > 0) {
235 $sql .=
' AND b.fk_account = '.((int) $search_bank_account);
238 $sql .=
natural_search(array_keys($fieldstosearchall), $search_all);
242include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_sql.tpl.php';
244$parameters = array();
245$reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $object, $action);
246$sql .= $hookmanager->resPrint;
248$sql .=
' GROUP BY pndf.rowid, pndf.datep, pndf.amount, pndf.num_payment, u.rowid, u.login, u.email, u.lastname, u.firstname, u.photo, c.code, c.libelle,';
249$sql .=
' ba.rowid, ba.ref, ba.label, ba.number, ba.account_number, ba.iban_prefix, ba.bic, ba.currency_code, ba.fk_accountancy_journal';
252$nbtotalofrecords =
'';
255 $sqlforcount = preg_replace(
'/^'.preg_quote($sqlfields,
'/').
'/',
'SELECT COUNT(*) as nbtotalofrecords', $sql);
256 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
258 $resql = $db->query($sqlforcount);
260 $objforcount = $db->fetch_object($resql);
261 $nbtotalofrecords = $objforcount->nbtotalofrecords;
266 if (($page * $limit) > $nbtotalofrecords) {
274$sql .= $db->order($sortfield, $sortorder);
276 $sql .= $db->plimit($limit + 1, $offset);
279$resql = $db->query($sql);
285$num = $db->num_rows($resql);
293llxHeader(
'', $langs->trans(
'ListPayment'),
'', 0, 0,
'',
'',
'',
'bodyforlist');
295$arrayofselected = is_array($toselect) ? $toselect : array();
299 $param .=
'&mode='.urlencode($mode);
301if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
302 $param .=
'&contextpage='.urlencode($contextpage);
304if ($limit > 0 && $limit != $conf->liste_limit) {
305 $param .=
'&limit='.((int) $limit);
307if ($optioncss !=
'') {
308 $param .=
'&optioncss='.urlencode($optioncss);
312 $param .=
'&search_ref='.urlencode($search_ref);
314if ($search_date_startday) {
315 $param .=
'&search_date_startday='.urlencode((
string) ($search_date_startday));
317if ($search_date_startmonth) {
318 $param .=
'&search_date_startmonth='.urlencode((
string) ($search_date_startmonth));
320if ($search_date_startyear) {
321 $param .=
'&search_date_startyear='.urlencode((
string) ($search_date_startyear));
323if ($search_date_endday) {
324 $param .=
'&search_date_endday='.urlencode((
string) ($search_date_endday));
326if ($search_date_endmonth) {
327 $param .=
'&search_date_endmonth='.urlencode((
string) ($search_date_endmonth));
329if ($search_date_endyear) {
330 $param .=
'&search_date_endyear='.urlencode((
string) ($search_date_endyear));
333 $param .=
'&search_user='.urlencode($search_user);
335if ($search_payment_type) {
336 $param .=
'&search_payment_type='.urlencode($search_payment_type);
338if ($search_cheque_num) {
339 $param .=
'&search_cheque_num='.urlencode($search_cheque_num);
342 $param .=
'&search_amount='.urlencode($search_amount);
344if ($search_bank_account) {
345 $param .=
'&search_bank_account='.urlencode((
string) ($search_bank_account));
349include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_param.tpl.php';
351$parameters = array(
'param' => &$param);
352$reshook = $hookmanager->executeHooks(
'printFieldListSearchParam', $parameters, $object, $action);
353$param .= $hookmanager->resPrint;
356$arrayofmassactions = array(
363if (
GETPOSTINT(
'nomassaction') || in_array($massaction, array(
'presend',
'predelete'))) {
364 $arrayofmassactions = array();
366$massactionbutton = $form->selectMassAction(
'', $arrayofmassactions);
368print
'<form method="POST" id="searchFormList" action="'.$_SERVER[
"PHP_SELF"].
'">'.
"\n";
369if ($optioncss !=
'') {
370 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
372print
'<input type="hidden" name="token" value="'.newToken().
'">';
373print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
374print
'<input type="hidden" name="action" value="list">';
375print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
376print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
377print
'<input type="hidden" name="page" value="'.$page.
'">';
378print
'<input type="hidden" name="contextpage" value="'.$contextpage.
'">';
379print
'<input type="hidden" name="page_y" value="">';
380print
'<input type="hidden" name="mode" value="'.$mode.
'">';
383$newcardbutton .=
dolGetButtonTitle($langs->trans(
'ViewList'),
'',
'fa fa-bars imgforviewmode', $_SERVER[
"PHP_SELF"].
'?mode=common'.preg_replace(
'/(&|\?)*mode=[^&]+/',
'', $param),
'', ((empty($mode) || $mode ==
'common') ? 2 : 1), array(
'morecss' =>
'reposition'));
384$newcardbutton .=
dolGetButtonTitle($langs->trans(
'ViewKanban'),
'',
'fa fa-th-list imgforviewmode', $_SERVER[
"PHP_SELF"].
'?mode=kanban'.preg_replace(
'/(&|\?)*mode=[^&]+/',
'', $param),
'', ($mode ==
'kanban' ? 2 : 1), array(
'morecss' =>
'reposition'));
387print_barre_liste($langs->trans(
'ExpenseReportPayments'), $page, $_SERVER[
'PHP_SELF'], $param, $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'expensereport', 0, $newcardbutton,
'', $limit, 0, 0, 1);
391 foreach ($fieldstosearchall as $key => $val) {
392 $fieldstosearchall[$key] = $langs->trans($val);
393 $setupstring .= $key.
"=".$val.
";";
395 print
'<!-- Search done like if EXPENSEREPORT_PAYMENT_QUICKSEARCH_ON_FIELDS = '.$setupstring.
' -->'.
"\n";
396 print
'<div class="divsearchfieldfilter">'.$langs->trans(
"FilterOnInto", $search_all).implode(
', ', $fieldstosearchall).
'</div>';
401$parameters = array();
402$reshook = $hookmanager->executeHooks(
'printFieldPreListTitle', $parameters, $object, $action);
403if (empty($reshook)) {
404 $moreforfilter .= $hookmanager->resPrint;
406 $moreforfilter = $hookmanager->resPrint;
409if (!empty($moreforfilter)) {
410 print
'<div class="liste_titre liste_titre_bydiv centpercent">';
411 print $moreforfilter;
415$varpage = empty($contextpage) ? $_SERVER[
"PHP_SELF"] : $contextpage;
416$htmlofselectarray = $form->multiSelectArrayWithCheckbox(
'selectedfields', $arrayfields, $varpage,
getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN'));
417$selectedfields = ($mode !=
'kanban' ? $htmlofselectarray :
'');
418$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons(
'checkforselect', 1) :
'');
420print
'<div class="div-table-responsive">';
421print
'<table class="tagtable nobottomiftotal liste'.($moreforfilter ?
" listwithfilterbefore" :
'').
'">';
425print
'<tr class="liste_titre_filter">';
429 print
'<td class="liste_titre center maxwidthsearch">';
430 $searchpicto = $form->showFilterButtons(
'left');
436if (!empty($arrayfields[
'pndf.rowid'][
'checked'])) {
437 print
'<td class="liste_titre left">';
438 print
'<input class="flat" type="text" size="4" name="search_ref" value="'.dol_escape_htmltag($search_ref).
'">';
443if (!empty($arrayfields[
'pndf.datep'][
'checked'])) {
444 print
'<td class="liste_titre center">';
445 print
'<div class="nowrapfordate">';
446 print $form->selectDate($search_date_start ? $search_date_start : -1,
'search_date_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
448 print
'<div class="nowrapfordate">';
449 print $form->selectDate($search_date_end ? $search_date_end : -1,
'search_date_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
455if (!empty($arrayfields[
'u.login'][
'checked'])) {
456 print
'<td class="liste_titre">';
457 print
'<input class="flat width75" type="text" name="search_user" value="'.dol_escape_htmltag($search_user).
'">';
462if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
463 print
'<td class="liste_titre">';
464 $form->select_types_paiements($search_payment_type,
'search_payment_type',
'', 2, 1, 1);
469if (!empty($arrayfields[
'pndf.num_payment'][
'checked'])) {
470 print
'<td class="liste_titre">';
471 print
'<input class="flat" type="text" size="4" name="search_cheque_num" value="'.dol_escape_htmltag($search_cheque_num).
'">';
476if (!empty($arrayfields[
'ba.label'][
'checked'])) {
477 print
'<td class="liste_titre">';
478 $form->select_comptes($search_bank_account,
'search_bank_account', 0,
'', 1);
483if (!empty($arrayfields[
'pndf.amount'][
'checked'])) {
484 print
'<td class="liste_titre right">';
485 print
'<input class="flat" type="text" size="4" name="search_amount" value="'.dol_escape_htmltag($search_amount).
'">';
490$parameters = array(
'arrayfields' => $arrayfields);
491$reshook = $hookmanager->executeHooks(
'printFieldListOption', $parameters);
492print $hookmanager->resPrint;
496 print
'<td class="liste_titre center maxwidthsearch">';
497 $searchpicto = $form->showFilterButtons();
504$totalarray = array();
505$totalarray[
'nbfield'] = 0;
509print
'<tr class="liste_titre">';
512 print_liste_field_titre($selectedfields, $_SERVER[
'PHP_SELF'],
'',
'',
'',
'align="center"', $sortfield, $sortorder,
'maxwidthsearch ');
513 $totalarray[
'nbfield']++;
515if (!empty($arrayfields[
'i'][
'checked'])) {
517 $totalarray[
'nbfield']++;
519if (!empty($arrayfields[
'pndf.rowid'][
'checked'])) {
520 print_liste_field_titre($arrayfields[
'pndf.rowid'][
'label'], $_SERVER[
"PHP_SELF"],
'pndf.rowid',
'', $param,
'', $sortfield, $sortorder);
521 $totalarray[
'nbfield']++;
523if (!empty($arrayfields[
'pndf.datep'][
'checked'])) {
524 print_liste_field_titre($arrayfields[
'pndf.datep'][
'label'], $_SERVER[
"PHP_SELF"],
'pndf.datep',
'', $param,
'', $sortfield, $sortorder,
'center ');
525 $totalarray[
'nbfield']++;
527if (!empty($arrayfields[
'u.login'][
'checked'])) {
528 print_liste_field_titre($arrayfields[
'u.login'][
'label'], $_SERVER[
"PHP_SELF"],
'u.lastname',
'', $param,
'', $sortfield, $sortorder);
529 $totalarray[
'nbfield']++;
531if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
532 print_liste_field_titre($arrayfields[
'c.libelle'][
'label'], $_SERVER[
"PHP_SELF"],
'c.libelle',
'', $param,
'', $sortfield, $sortorder);
533 $totalarray[
'nbfield']++;
535if (!empty($arrayfields[
'pndf.num_payment'][
'checked'])) {
536 print_liste_field_titre($arrayfields[
'pndf.num_payment'][
'label'], $_SERVER[
"PHP_SELF"],
"pndf.num_payment",
'', $param,
'', $sortfield, $sortorder,
'', $arrayfields[
'pndf.num_payment'][
'tooltip']);
537 $totalarray[
'nbfield']++;
539if (!empty($arrayfields[
'ba.label'][
'checked'])) {
540 print_liste_field_titre($arrayfields[
'ba.label'][
'label'], $_SERVER[
"PHP_SELF"],
'ba.label',
'', $param,
'', $sortfield, $sortorder);
541 $totalarray[
'nbfield']++;
543if (!empty($arrayfields[
'pndf.amount'][
'checked'])) {
544 print_liste_field_titre($arrayfields[
'pndf.amount'][
'label'], $_SERVER[
"PHP_SELF"],
'pndf.amount',
'', $param,
'', $sortfield, $sortorder,
'right ');
545 $totalarray[
'nbfield']++;
549$parameters = array(
'arrayfields' => $arrayfields,
'param' => $param,
'sortfield' => $sortfield,
'sortorder' => $sortorder,
'totalarray' => &$totalarray);
550$reshook = $hookmanager->executeHooks(
'printFieldListTitle', $parameters);
551print $hookmanager->resPrint;
554 print_liste_field_titre($selectedfields, $_SERVER[
'PHP_SELF'],
'',
'',
'',
'align="center"', $sortfield, $sortorder,
'maxwidthsearch ');
555 $totalarray[
'nbfield']++;
560foreach ($arrayfields as $column) {
561 if ($column[
'checked']) {
569$savnbfield = $totalarray[
'nbfield'];
570$totalarray = array();
571$totalarray[
'nbfield'] = 0;
572$imaxinloop = ($limit ? min($num, $limit) : $num);
573while ($i < $imaxinloop) {
574 $objp = $db->fetch_object($resql);
579 $paymentexpensereportstatic->id = $objp->rowid;
580 $paymentexpensereportstatic->ref = $objp->ref;
581 $paymentexpensereportstatic->datep = $db->jdate($objp->datep);
582 $paymentexpensereportstatic->amount = $objp->pamount;
583 $paymentexpensereportstatic->fk_typepayment = $objp->paiement_type;
586 $accountstatic->fetch($objp->bid);
587 $paymentexpensereportstatic->fk_bank = $accountstatic->id;
589 $paymentexpensereportstatic->fk_bank = 0;
592 $userstatic->id = $objp->userid;
593 $userstatic->lastname = $objp->lastname;
594 $userstatic->firstname = $objp->firstname;
595 $userstatic->login = $objp->login;
596 $userstatic->email = $objp->email;
597 $userstatic->photo = $objp->photo;
599 if ($mode ==
'kanban') {
601 print
'<tr class="trkanban"><td colspan="'.$savnbfield.
'">';
602 print
'<div class="box-flex-container kanban">';
605 print $paymentexpensereportstatic->getKanbanView(
'', array(
'selected' => in_array($objp->id, $arrayofselected)));
606 if ($i == ($imaxinloop - 1)) {
613 print
'<tr data-rowid="'.$object->id.
'" class="oddeven">';
617 print
'<td class="nowrap center">';
618 if ($massactionbutton || $massaction) {
620 if (in_array(
$object->id, $arrayofselected)) {
623 print
'<input id="cb'.$object->id.
'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.
$object->id.
'"'.($selected ?
' checked="checked"' :
'').
'>';
627 $totalarray[
'nbfield']++;
632 if (!empty($arrayfields[
'i'][
'checked'])) {
633 print
'<td>#'.(($offset * $limit) + $i).
'</td>';
635 $totalarray[
'nbfield']++;
640 if (!empty($arrayfields[
'pndf.rowid'][
'checked'])) {
641 print
'<td class="nowrap">'.$paymentexpensereportstatic->getNomUrl(1).
'</td>';
643 $totalarray[
'nbfield']++;
648 if (!empty($arrayfields[
'pndf.datep'][
'checked'])) {
649 $dateformatforpayment =
'dayhour';
650 print
'<td class="nowrap center">'.dol_print_date($db->jdate($objp->datep), $dateformatforpayment).
'</td>';
652 $totalarray[
'nbfield']++;
657 if (!empty($arrayfields[
'u.login'][
'checked'])) {
659 if ($userstatic->id > 0) {
660 print $userstatic->getNomUrl(-1);
664 $totalarray[
'nbfield']++;
669 if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
670 $payment_type = $langs->trans(
"PaymentType".$objp->paiement_type) !=
"PaymentType".$objp->paiement_type ? $langs->trans(
"PaymentType".$objp->paiement_type) : $objp->paiement_libelle;
671 print
'<td>'.$payment_type.
' '.
dol_trunc($objp->num_payment, 32).
'</td>';
673 $totalarray[
'nbfield']++;
678 if (!empty($arrayfields[
'pndf.num_payment'][
'checked'])) {
679 print
'<td>'.$objp->num_payment.
'</td>';
681 $totalarray[
'nbfield']++;
686 if (!empty($arrayfields[
'ba.label'][
'checked'])) {
689 $accountstatic->id = $objp->bid;
690 $accountstatic->ref = $objp->bref;
691 $accountstatic->label = $objp->blabel;
692 $accountstatic->number = $objp->number;
693 $accountstatic->iban = $objp->iban_prefix;
694 $accountstatic->bic = $objp->bic;
695 $accountstatic->currency_code = $objp->currency_code;
696 $accountstatic->account_number = $objp->account_number;
699 $accountingjournal->fetch($objp->accountancy_journal);
700 $accountstatic->accountancy_journal = $accountingjournal->code;
702 print $accountstatic->getNomUrl(1);
708 $totalarray[
'nbfield']++;
713 if (!empty($arrayfields[
'pndf.amount'][
'checked'])) {
714 print
'<td class="right"><span class="amount">'.price($objp->pamount).
'</span></td>';
716 $totalarray[
'nbfield']++;
718 $totalarray[
'pos'][$checkedCount] =
'amount';
719 if (empty($totalarray[
'val'][
'amount'])) {
720 $totalarray[
'val'][
'amount'] = $objp->pamount;
722 $totalarray[
'val'][
'amount'] += $objp->pamount;
728 print
'<td class="nowrap center">';
729 if ($massactionbutton || $massaction) {
731 if (in_array(
$object->id, $arrayofselected)) {
734 print
'<input id="cb'.$object->id.
'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.
$object->id.
'"'.($selected ?
' checked="checked"' :
'').
'>';
738 $totalarray[
'nbfield']++;
749include DOL_DOCUMENT_ROOT.
'/core/tpl/list_print_total.tpl.php';
754 foreach ($arrayfields as $key => $val) {
755 if (!empty($val[
'checked'])) {
759 print
'<tr><td colspan="'.$colspan.
'"><span class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</span></td></tr>';
764$parameters = array(
'arrayfields' => $arrayfields,
'sql' => $sql);
765$reshook = $hookmanager->executeHooks(
'printFieldListFooter', $parameters, $object, $action);
766print $hookmanager->resPrint;
768print
'</table>'.
"\n";
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
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.
Class to manage accounting journals.
Class to manage payments of expense report.
Class to manage Dolibarr users.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dolGetButtonTitle($label, $helpText='', $iconClass='fa fa-file', $url='', $id='', $status=1, $params=array())
Function dolGetButtonTitle : this kind of buttons are used in title in list.
natural_search($fields, $value, $mode=0, $nofirstand=0)
Generate natural SQL search string for a criteria (this criteria can be tested on one or several fiel...
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by the value of a given key, which produces ascending (default) or descending out...
print_liste_field_titre($name, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $hideselectlimit=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
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.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
dol_trunc($string, $size=40, $trunc='right', $stringencoding='UTF-8', $nodot=0, $display=0)
Truncate a string to a particular length adding '…' if string larger than length.
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.