28require
'../../main.inc.php';
29require_once DOL_DOCUMENT_ROOT.
'/core/lib/prelevement.lib.php';
30require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
31require_once DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/rejetprelevement.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
40$langs->loadLangs(array(
"banks",
"categories",
'withdrawals',
'bills'));
43if ($user->socid > 0) {
54$limit =
GETPOST(
'limit',
'int') ?
GETPOST(
'limit',
'int') : $conf->liste_limit;
55$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
56$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
57$page = GETPOSTISSET(
'pageplusone') ? (
GETPOST(
'pageplusone') - 1) :
GETPOST(
"page",
'int');
58if (empty($page) || $page == -1) {
61$offset = $limit * $page;
68include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
71if ($user->socid > 0) {
76if ($type ==
'bank-transfer') {
77 $result =
restrictedArea($user,
'paymentbybanktransfer',
'',
'',
'');
90$thirdpartystatic =
new Societe($db);
91$invoicestatic =
new Facture($db);
96llxHeader(
'', $langs->trans(
"WithdrawalsReceipts"));
99 if ($object->fetch($id, $ref) >= 0) {
101 print
dol_get_fiche_head($head,
'rejects', $langs->trans(
"WithdrawalsReceipts"), -1,
'payment');
103 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/prelevement/orders_list.php?restore_lastsearch_values=1'.($object->type !=
'bank-transfer' ?
'' :
'&type=bank-transfer').
'">'.$langs->trans(
"BackToList").
'</a>';
107 print
'<div class="fichecenter">';
108 print
'<div class="underbanner clearboth"></div>';
109 print
'<table class="border centpercent tableforfield">'.
"\n";
112 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"Date").
'</td><td>'.
dol_print_date($object->datec,
'day').
'</td></tr>';
113 print
'<tr><td>'.$langs->trans(
"Amount").
'</td><td><span class="amount">'.
price($object->amount).
'</span></td></tr>';
115 if (!empty($object->date_trans)) {
116 $muser =
new User($db);
117 $muser->fetch($object->user_trans);
119 print
'<tr><td>'.$langs->trans(
"TransData").
'</td><td>';
121 print
' <span class="opacitymedium">'.$langs->trans(
"By").
'</span> '.$muser->getNomUrl(-1).
'</td></tr>';
122 print
'<tr><td>'.$langs->trans(
"TransMetod").
'</td><td>';
123 print $object->methodes_trans[$object->method_trans];
126 if (!empty($object->date_credit)) {
127 print
'<tr><td>'.$langs->trans(
'CreditDate').
'</td><td>';
136 print
'<div class="underbanner clearboth"></div>';
137 print
'<table class="border centpercent tableforfield">';
141 $fk_bank_account = $object->fk_bank_account;
142 if (empty($fk_bank_account)) {
143 $fk_bank_account = ($object->type ==
'bank-transfer' ?
getDolGlobalInt(
'PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT') :
getDolGlobalInt(
'PRELEVEMENT_ID_BANKACCOUNT'));
145 if ($fk_bank_account > 0) {
146 $result = $acc->fetch($fk_bank_account);
149 $labelofbankfield =
"BankToReceiveWithdraw";
150 if ($object->type ==
'bank-transfer') {
151 $labelofbankfield =
'BankToPayCreditTransfer';
154 print
'<tr><td class="titlefieldcreate">';
155 print $form->textwithpicto($langs->trans(
"BankAccount"), $langs->trans($labelofbankfield));
159 print $acc->getNomUrl(1);
164 $modulepart =
'prelevement';
165 if ($object->type ==
'bank-transfer') {
166 $modulepart =
'paymentbybanktransfer';
169 print
'<tr><td class="titlefieldcreate">';
170 $labelfororderfield =
'WithdrawalFile';
171 if ($object->type ==
'bank-transfer') {
172 $labelfororderfield =
'CreditTransferFile';
174 print $langs->trans($labelfororderfield).
'</td><td>';
176 if (isModEnabled(
'multicompany')) {
177 $labelentity = $conf->entity;
178 $relativepath =
'receipts/'.$object->ref.
'-'.$labelentity.
'.xml';
180 if ($type !=
'bank-transfer') {
181 $dir = $conf->prelevement->dir_output;
183 $dir = $conf->paymentbybanktransfer->dir_output;
186 $relativepath =
'receipts/'.$object->ref.
'.xml';
189 $relativepath =
'receipts/'.$object->ref.
'.xml';
192 print
'<a data-ajax="false" href="'.DOL_URL_ROOT.
'/document.php?type=text/plain&modulepart='.$modulepart.
'&file='.urlencode($relativepath).
'">'.$relativepath;
193 print
img_picto(
'',
'download',
'class="paddingleft"');
195 print
'</td></tr></table>';
208$sql =
"SELECT pl.rowid, pl.amount, pl.statut";
209$sql .=
" , s.rowid as socid, s.nom as name";
210$sql .=
" , pr.motif, pr.afacturer, pr.fk_facture";
211$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_bons as p";
212$sql .=
" , ".MAIN_DB_PREFIX.
"prelevement_lignes as pl";
213$sql .=
" , ".MAIN_DB_PREFIX.
"societe as s";
214$sql .=
" , ".MAIN_DB_PREFIX.
"prelevement_rejet as pr";
215$sql .=
" WHERE p.rowid=".((int) $object->id);
216$sql .=
" AND pl.fk_prelevement_bons = p.rowid";
217$sql .=
" AND p.entity IN (".getEntity(
'facture').
")";
218$sql .=
" AND pl.fk_soc = s.rowid";
219$sql .=
" AND pl.statut = 3 ";
220$sql .=
" AND pr.fk_prelevement_lignes = pl.rowid";
224$sql .=
" ORDER BY pl.amount DESC";
227$nbtotalofrecords =
'';
229 $result = $db->query($sql);
230 $nbtotalofrecords = $db->num_rows($result);
231 if (($page * $limit) > $nbtotalofrecords) {
237$sql .= $db->plimit($limit + 1, $offset);
239$resql = $db->query($sql);
241 $num = $db->num_rows($resql);
243 print_barre_liste($langs->trans(
"Rejects"), $page, $_SERVER[
"PHP_SELF"],
'', $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'');
245 print
"\n<!-- debut table -->\n";
246 print
'<div class="div-table-responsive-no-min">';
247 print
'<table class="noborder centpercent">';
248 print
'<tr class="liste_titre">';
249 print
'<td>'.$langs->trans(
"Line").
'</td><td>'.$langs->trans(
"ThirdParty").
'</td><td class="right">'.$langs->trans(
"Amount").
'</td>';
250 print
'<td>'.$langs->trans(
"Reason").
'</td><td align="center">'.$langs->trans(
"ToBill").
'</td>';
251 print
'<td class="center">';
262 $obj = $db->fetch_object($resql);
264 $thirdpartystatic->id = $obj->socid;
265 $thirdpartystatic->name = $obj->name;
267 if ($obj->fk_facture > 0) {
268 $invoicestatic->fetch($obj->fk_facture);
271 print
'<tr class="oddeven">';
273 print
'<a href="'.DOL_URL_ROOT.
'/compta/prelevement/line.php?id='.$obj->rowid.
'">';
274 print
img_picto(
'',
'statut'.$obj->statut).
' ';
275 print substr(
'000000'.$obj->rowid, -6);
278 if ($type !=
'bank-transfer') {
279 print $thirdpartystatic->getNomUrl(1,
'customer');
281 print $thirdpartystatic->getNomUrl(1,
'supplier');
285 print
'<td class="right"><span class="amount">'.price($obj->amount).
"</span></td>\n";
286 print
'<td>'.dol_escape_htmltag($rej->motifs[$obj->motif]).
'</td>';
288 print
'<td class="center">'.yn($obj->afacturer).
'</td>';
291 print
'<td class="center">';
292 if ($obj->fk_facture > 0) {
293 print $invoicestatic->getNomUrl(1);
299 $total += $obj->amount;
304 print
'<tr><td colspan="6"><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td></tr>';
308 print
'<tr class="liste_total"><td> </td>';
309 print
'<td class="liste_total">'.$langs->trans(
"Total").
'</td>';
310 print
'<td class="right"><span class="amount">'.price($total).
"</span></td>\n";
311 print
'<td colspan="3"> </td>';
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 withdrawal receipts.
Class to manage suppliers invoices.
Class to manage invoices.
Class to manage standing orders rejects.
Class to manage third parties objects (customers, suppliers, prospects...)
Class to manage Dolibarr users.
dol_is_file($pathoffile)
Return if path is a file.
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_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
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).
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
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.
print_barre_liste($titre, $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.
prelevement_prepare_head(BonPrelevement $object)
Prepare array with list of tabs.
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.