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) {
55$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
56$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
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>';
105 dol_banner_tab($object,
'ref', $linkback, 1,
'ref',
'ref');
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>';
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)) {
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);
244 print_barre_liste($langs->trans(
"Rejects"), $page, $_SERVER[
"PHP_SELF"],
'', $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'');
246 print
"\n<!-- debut table -->\n";
247 print
'<div class="div-table-responsive-no-min">';
248 print
'<table class="noborder centpercent">';
249 print
'<tr class="liste_titre">';
250 print
'<td>'.$langs->trans(
"Line").
'</td><td>'.$langs->trans(
"ThirdParty").
'</td><td class="right">'.$langs->trans(
"Amount").
'</td>';
251 print
'<td>'.$langs->trans(
"Reason").
'</td><td align="center">'.$langs->trans(
"ToBill").
'</td>';
252 print
'<td class="center">';
263 $obj = $db->fetch_object($resql);
265 $thirdpartystatic->id = $obj->socid;
266 $thirdpartystatic->name = $obj->name;
268 if ($obj->fk_facture > 0) {
269 $invoicestatic->fetch($obj->fk_facture);
272 print
'<tr class="oddeven">';
274 print
'<a href="'.DOL_URL_ROOT.
'/compta/prelevement/line.php?id='.$obj->rowid.
'">';
275 print
img_picto(
'',
'statut'.$obj->statut).
' ';
276 print substr(
'000000'.$obj->rowid, -6);
279 if ($type !=
'bank-transfer') {
280 print $thirdpartystatic->getNomUrl(1,
'customer');
282 print $thirdpartystatic->getNomUrl(1,
'supplier');
286 print
'<td class="right"><span class="amount">'.price($obj->amount).
"</span></td>\n";
287 print
'<td>'.dol_escape_htmltag($rej->motifs[$obj->motif]).
'</td>';
289 print
'<td class="center">'.yn($obj->afacturer).
'</td>';
292 print
'<td class="center">';
293 if ($obj->fk_facture > 0) {
294 print $invoicestatic->getNomUrl(1);
300 $total += $obj->amount;
305 print
'<tr><td colspan="6"><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td></tr>';
309 print
'<tr class="liste_total"><td> </td>';
310 print
'<td class="liste_total">'.$langs->trans(
"Total").
'</td>';
311 print
'<td class="right"><span class="amount">'.price($total).
"</span></td>\n";
312 print
'<td colspan="3"> </td>';
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($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
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.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $selectlimitsuffix=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
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_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.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
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.