30require
'../../main.inc.php';
31require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/ligneprelevement.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/rejetprelevement.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
46$langs->loadlangs(array(
'banks',
'categories',
'bills',
'companies',
'withdrawals'));
49$action =
GETPOST(
'action',
'aZ09');
56$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
57$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
59if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
63$offset = $limit * $page;
67if ($sortorder ==
"") {
70if ($sortfield ==
"") {
71 $sortfield =
"pl.fk_soc";
75if ($type ==
'bank-transfer') {
76 $result =
restrictedArea($user,
'paymentbybanktransfer',
'',
'',
'');
81if ($type ==
'bank-transfer') {
82 $permissiontoadd = $user->hasRight(
'paymentbybanktransfer',
'create');
84 $permissiontoadd = $user->hasRight(
'prelevement',
'bons',
'creer');
94if ($action ==
'confirm_rejet' && $permissiontoadd) {
95 if (
GETPOST(
"confirm") ==
'yes') {
101 if (empty($daterej)) {
103 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Date")),
null,
'errors');
104 } elseif ($daterej >
dol_now()) {
106 $langs->load(
"error");
107 setEventMessages($langs->transnoentities(
"ErrorDateMustBeBeforeToday"),
null,
'errors');
110 if (
GETPOST(
'motif',
'alpha') == 0) {
112 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"RefusedReason")),
null,
'errors');
118 if ($lipre->fetch($id) == 0) {
121 $result = $rej->create($user, $id,
GETPOSTINT(
'motif'), $daterej, $lipre->bon_rowid,
GETPOSTINT(
'facturer'));
124 header(
"Location: line.php?id=".urlencode((
string) ($id)).
'&type='.urlencode((
string) ($type)));
132 header(
"Location: line.php?id=".urlencode((
string) ($id)).
'&type='.urlencode((
string) ($type)));
142$form =
new Form($db);
144if ($type ==
'bank-transfer') {
145 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
148 require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
149 $invoicestatic =
new Facture($db);
152$title = $langs->trans(
"WithdrawalsLine");
153if ($type ==
'bank-transfer') {
154 $title = $langs->trans(
"CreditTransferLine");
162$head[$h][0] = DOL_URL_ROOT.
'/compta/prelevement/line.php?id='.((int) $id).
'&type='.urlencode($type);
163$head[$h][1] = $title;
164$hselected = (string) $h;
171 if ($lipre->fetch($id) >= 0) {
173 $bon->fetch($lipre->bon_rowid);
177 print
'<table class="border centpercent tableforfield">';
179 print
'<tr><td class="titlefield">'.$langs->trans(
"Ref").
'</td><td>';
180 print
$id.
'</td></tr>';
182 if ($type ==
'bank-transfer') {
183 print
'<tr><td class="titlefield">'.$langs->trans(
"BankTransfers").
'</td><td>';
185 print
'<tr><td class="titlefield">'.$langs->trans(
"WithdrawalsReceipts").
'</td><td>';
188 print $bon->getNomUrl(1).
'</td></tr>';
190 print
'<tr><td>'.$langs->trans(
"Date").
'</td><td>'.
dol_print_date($bon->datec,
'day').
'</td></tr>';
192 print
'<tr><td>'.$langs->trans(
"Amount").
'</td><td><span class="amount">'.
price($lipre->amount).
'</span></td></tr>';
194 print
'<tr><td>'.$langs->trans(
"Status").
'</td><td>'.$lipre->LibStatut($lipre->statut, 1).
'</td></tr>';
196 if ($lipre->statut == 3) {
198 $resf = $rej->fetch($lipre->id);
200 print
'<tr><td>'.$langs->trans(
"RefusedReason").
'</td><td>'.$rej->motif.
'</td></tr>';
202 print
'<tr><td>'.$langs->trans(
"RefusedData").
'</td><td>';
203 if ($rej->date_rejet == 0) {
205 print $langs->trans(
"Unknown");
211 print
'<tr><td>'.$langs->trans(
"RefusedInvoicing").
'</td><td>'.$rej->invoicing.
'</td></tr>';
213 print
'<tr><td>'.$resf.
'</td></tr>';
224 if ($action ==
'rejet' && $user->hasRight(
'prelevement',
'bons',
'credit')) {
226 $soc->fetch($lipre->socid);
230 print
'<form name="confirm_rejet" method="post" action="'.DOL_URL_ROOT.
'/compta/prelevement/line.php?id='.
$id.
'">';
231 print
'<input type="hidden" name="token" value="'.newToken().
'">';
232 print
'<input type="hidden" name="action" value="confirm_rejet">';
233 print
'<input type="hidden" name="type" value="'.$type.
'">';
235 print
'<div class="div-table-responsive-no-min">';
236 print
'<table class="noborder centpercent">';
238 print
'<tr class="liste_titre">';
239 print
'<td>'.$langs->trans(
"WithdrawalRefused").
'</td>';
244 print
'<tr><td class="valid">'.$langs->trans(
"WithdrawalRefusedConfirm").
' '.$soc->name.
' ?</td>';
245 print
'<td class="valid">';
246 print $form->selectyesno(
"confirm", 1, 0);
250 print
'<tr><td class="fieldrequired valid">'.$langs->trans(
"RefusedData").
'</td>';
251 print
'<td class="valid">';
252 print $form->selectDate(
'',
'', 0, 0, 0,
"confirm_rejet");
256 print
'<tr><td class="fieldrequired valid">'.$langs->trans(
"RefusedReason").
'</td>';
257 print
'<td class="valid">';
258 print $form->selectarray(
"motif", $rej->motifs, GETPOSTISSET(
'motif') ?
GETPOSTINT(
'motif') :
'');
262 print
'<tr><td class="fieldrequired valid">';
263 print $form->textwithpicto($langs->trans(
"RefusedInvoicing"), $langs->trans(
"DirectDebitRefusedInvoicingDesc"));
265 print
'<td class="valid">';
266 print $form->selectarray(
"facturer", $rej->labelsofinvoicing, GETPOSTISSET(
'facturer') ?
GETPOSTINT(
'facturer') :
'', 0);
273 print
'<div class="center"><input type="submit" class="button button-save" value='.$langs->trans(
"Confirm").
'></div>';
280 print
'<div class="tabsAction">';
283 if (is_object($bon) && $bon->statut == BonPrelevement::STATUS_CREDITED) {
284 if ($lipre->statut == 2) {
285 if ($user->hasRight(
'prelevement',
'bons',
'credit')) {
286 print
'<a class="butActionDelete" href="line.php?action=rejet&type='.$type.
'&id='.$lipre->id.
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
288 print
'<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans(
"NotAllowed").
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
292 print
'<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans(
"NotPossibleForThisStatusOfWithdrawReceiptORLine").
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
301 $sql =
"SELECT pf.rowid";
302 $sql .=
" ,f.rowid as facid, f.ref as ref, f.total_ttc, f.paye, f.fk_statut";
303 $sql .=
" , s.rowid as socid, s.nom as name";
307 $sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_bons as p";
308 $sql .=
" , ".MAIN_DB_PREFIX.
"prelevement_lignes as pl";
309 $sql .=
" , ".MAIN_DB_PREFIX.
"prelevement as pf";
310 if ($type ==
'bank-transfer') {
311 $sql .=
" , ".MAIN_DB_PREFIX.
"facture_fourn as f";
313 $sql .=
" , ".MAIN_DB_PREFIX.
"facture as f";
315 $sql .=
" , ".MAIN_DB_PREFIX.
"societe as s";
316 $sql .=
" WHERE pf.fk_prelevement_lignes = pl.rowid";
317 $sql .=
" AND pl.fk_prelevement_bons = p.rowid";
318 $sql .=
" AND f.fk_soc = s.rowid";
319 if ($type ==
'bank-transfer') {
320 $sql .=
" AND pf.fk_facture_fourn = f.rowid";
322 $sql .=
" AND pf.fk_facture = f.rowid";
324 $sql .=
" AND f.entity IN (".getEntity(
'invoice').
")";
325 $sql .=
" AND pl.rowid = ".((int) $id);
327 $sql .=
" AND s.rowid = ".((int) $socid);
331 $nbtotalofrecords =
'';
334 $sqlforcount = preg_replace(
'/^'.preg_quote($sqlfields,
'/').
'/',
'SELECT COUNT(*) as nbtotalofrecords', $sql);
335 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
336 $resql = $db->query($sqlforcount);
338 $objforcount = $db->fetch_object($resql);
339 $nbtotalofrecords = $objforcount->nbtotalofrecords;
344 if (($page * $limit) > $nbtotalofrecords) {
351 $result = $db->query($sql);
353 $sql .= $db->order($sortfield, $sortorder);
354 $sql .= $db->plimit(
$conf->liste_limit + 1, $offset);
356 $result = $db->query($sql);
359 $num = $db->num_rows($result);
362 $urladd =
"&id=".urlencode((
string) ($id));
363 $title = $langs->trans(
"Bills");
364 if ($type ==
'bank-transfer') {
365 $title = $langs->trans(
"SupplierInvoices");
368 print_barre_liste($title, $page,
"factures.php", $urladd, $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'');
370 print
"\n<!-- debut table -->\n";
371 print
'<table class="noborder" width="100%" cellpadding="4">';
372 print
'<tr class="liste_titre">';
373 print
'<td>'.$langs->trans(
"Invoice").
'</td>';
374 print
'<td>'.$langs->trans(
"ThirdParty").
'</td>';
375 print
'<td class="right">'.$langs->trans(
"Amount").
'</td><td class="right">'.$langs->trans(
"Status").
'</td>';
380 while ($i < min($num,
$conf->liste_limit)) {
381 $obj = $db->fetch_object($result);
383 print
'<tr class="oddeven"><td>';
385 print
'<a href="'.DOL_URL_ROOT.
'/compta/facture/card.php?facid='.$obj->facid.
'">';
386 print
img_object($langs->trans(
"ShowBill"),
"bill");
389 if ($type ==
'bank-transfer') {
390 print
'<a href="'.DOL_URL_ROOT.
'/fourn/facture/card.php?facid='.$obj->facid.
'">'.$obj->ref.
"</a></td>\n";
392 print
'<a href="'.DOL_URL_ROOT.
'/compta/facture/card.php?facid='.$obj->facid.
'">'.$obj->ref.
"</a></td>\n";
395 if ($type ==
'bank-transfer') {
396 print
'<td><a href="'.DOL_URL_ROOT.
'/fourn/card.php?socid='.$obj->socid.
'">';
398 print
'<td><a href="'.DOL_URL_ROOT.
'/comm/card.php?socid='.$obj->socid.
'">';
400 print
img_object($langs->trans(
"ShowCompany"),
"company").
' '.$obj->name.
"</a></td>\n";
402 print
'<td class="right"><span class="amount">'.price($obj->total_ttc).
"</span></td>\n";
404 print
'<td class="right">';
405 $invoicestatic->fetch($obj->facid);
406 print $invoicestatic->getLibStatut(5);
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.
Class to manage withdrawal receipts.
Class to manage suppliers invoices.
Class to manage invoices.
Class to manage withdrawals.
Class to manage standing orders rejects.
Class to manage third parties objects (customers, suppliers, prospects...)
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...
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
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.
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.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $allowothertags=array())
Show a picto called object_picto (generic function)
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_now($mode='auto')
Return date for now.
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...
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
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.