29require
'../../main.inc.php';
30require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
31require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/ligneprelevement.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/rejetprelevement.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
37$langs->loadlangs(array(
'banks',
'categories',
'bills',
'companies',
'withdrawals'));
40$action =
GETPOST(
'action',
'aZ09');
42$socid =
GETPOST(
'socid',
'int');
46$limit =
GETPOST(
'limit',
'int') ?
GETPOST(
'limit',
'int') : $conf->liste_limit;
47$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
48$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
49$page = GETPOSTISSET(
'pageplusone') ? (
GETPOST(
'pageplusone') - 1) :
GETPOST(
"page",
'int');
50if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
54$offset = $limit * $page;
58if ($sortorder ==
"") {
61if ($sortfield ==
"") {
62 $sortfield =
"pl.fk_soc";
66if ($type ==
'bank-transfer') {
67 $result =
restrictedArea($user,
'paymentbybanktransfer',
'',
'',
'');
72if ($type ==
'bank-transfer') {
73 $permissiontoadd = $user->hasRight(
'paymentbybanktransfer',
'create');
75 $permissiontoadd = $user->hasRight(
'prelevement',
'bons',
'creer');
85if ($action ==
'confirm_rejet' && $permissiontoadd) {
86 if (
GETPOST(
"confirm") ==
'yes') {
87 if (
GETPOST(
'remonth',
'int')) {
91 if (empty($daterej)) {
93 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Date")),
null,
'errors');
94 } elseif ($daterej >
dol_now()) {
96 $langs->load(
"error");
97 setEventMessages($langs->transnoentities(
"ErrorDateMustBeBeforeToday"),
null,
'errors');
100 if (
GETPOST(
'motif',
'alpha') == 0) {
102 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"RefusedReason")),
null,
'errors');
108 if ($lipre->fetch($id) == 0) {
111 $rej->create($user, $id,
GETPOST(
'motif',
'alpha'), $daterej, $lipre->bon_rowid,
GETPOST(
'facturer',
'int'));
113 header(
"Location: line.php?id=".urlencode($id).
'&type='.urlencode($type));
120 header(
"Location: line.php?id=".urlencode($id).
'&type='.urlencode($type));
130$form =
new Form($db);
132if ($type ==
'bank-transfer') {
133 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
136 require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
137 $invoicestatic =
new Facture($db);
140$title = $langs->trans(
"WithdrawalsLine");
141if ($type ==
'bank-transfer') {
142 $title = $langs->trans(
"CreditTransferLine");
150$head[$h][0] = DOL_URL_ROOT.
'/compta/prelevement/line.php?id='.((int) $id).
'&type='.urlencode($type);
151$head[$h][1] = $title;
158 if ($lipre->fetch($id) >= 0) {
160 $bon->fetch($lipre->bon_rowid);
164 print
'<table class="border centpercent tableforfield">';
166 print
'<tr><td class="titlefield">'.$langs->trans(
"Ref").
'</td><td>';
167 print $id.
'</td></tr>';
169 if ($type ==
'bank-transfer') {
170 print
'<tr><td class="titlefield">'.$langs->trans(
"BankTransfers").
'</td><td>';
172 print
'<tr><td class="titlefield">'.$langs->trans(
"WithdrawalsReceipts").
'</td><td>';
175 print $bon->getNomUrl(1).
'</td></tr>';
177 print
'<tr><td>'.$langs->trans(
"Date").
'</td><td>'.
dol_print_date($bon->datec,
'day').
'</td></tr>';
179 print
'<tr><td>'.$langs->trans(
"Amount").
'</td><td><span class="amount">'.
price($lipre->amount).
'</span></td></tr>';
181 print
'<tr><td>'.$langs->trans(
"Status").
'</td><td>'.$lipre->LibStatut($lipre->statut, 1).
'</td></tr>';
183 if ($lipre->statut == 3) {
185 $resf = $rej->fetch($lipre->id);
187 print
'<tr><td>'.$langs->trans(
"RefusedReason").
'</td><td>'.$rej->motif.
'</td></tr>';
189 print
'<tr><td>'.$langs->trans(
"RefusedData").
'</td><td>';
190 if ($rej->date_rejet == 0) {
192 print $langs->trans(
"Unknown");
198 print
'<tr><td>'.$langs->trans(
"RefusedInvoicing").
'</td><td>'.$rej->invoicing.
'</td></tr>';
200 print
'<tr><td>'.$resf.
'</td></tr>';
210 if ($action ==
'rejet' && $user->rights->prelevement->bons->credit) {
212 $soc->fetch($lipre->socid);
216 print
'<form name="confirm_rejet" method="post" action="line.php?id='.$id.
'">';
217 print
'<input type="hidden" name="token" value="'.newToken().
'">';
218 print
'<input type="hidden" name="action" value="confirm_rejet">';
219 print
'<input type="hidden" name="type" value="'.$type.
'">';
220 print
'<table class="noborder centpercent">';
222 print
'<tr class="liste_titre">';
223 print
'<td colspan="3">'.$langs->trans(
"WithdrawalRefused").
'</td></tr>';
226 print
'<tr><td class="valid">'.$langs->trans(
"WithdrawalRefusedConfirm").
' '.$soc->name.
' ?</td>';
227 print
'<td colspan="2" class="valid">';
228 print $form->selectyesno(
"confirm", 1, 0);
232 print
'<tr><td class="fieldrequired valid">'.$langs->trans(
"RefusedData").
'</td>';
233 print
'<td colspan="2" class="valid">';
234 print $form->selectDate(
'',
'',
'',
'',
'',
"confirm_rejet");
238 print
'<tr><td class="fieldrequired valid">'.$langs->trans(
"RefusedReason").
'</td>';
239 print
'<td class="valid">';
240 print $form->selectarray(
"motif", $rej->motifs, GETPOSTISSET(
'motif') ?
GETPOST(
'motif',
'int') :
'');
244 print
'<tr><td class="valid">'.$langs->trans(
"RefusedInvoicing").
'</td>';
245 print
'<td class="valid" colspan="2">';
246 print $form->selectarray(
"facturer", $rej->facturer, GETPOSTISSET(
'facturer') ?
GETPOST(
'facturer',
'int') :
'');
248 print
'</table><br>';
251 print
'<div class="center"><input type="submit" class="button button-save" value='.$langs->trans(
"Confirm").
'></div>';
258 print
'<div class="tabsAction">';
261 if ($bon->statut == BonPrelevement::STATUS_CREDITED) {
262 if ($lipre->statut == 2) {
263 if ($user->rights->prelevement->bons->credit) {
264 print
'<a class="butActionDelete" href="line.php?action=rejet&type='.$type.
'&id='.$lipre->id.
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
266 print
'<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans(
"NotAllowed").
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
270 print
'<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans(
"NotPossibleForThisStatusOfWithdrawReceiptORLine").
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
279 $sql =
"SELECT pf.rowid";
280 $sql .=
" ,f.rowid as facid, f.ref as ref, f.total_ttc, f.paye, f.fk_statut";
281 $sql .=
" , s.rowid as socid, s.nom as name";
282 $sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_bons as p";
283 $sql .=
" , ".MAIN_DB_PREFIX.
"prelevement_lignes as pl";
284 $sql .=
" , ".MAIN_DB_PREFIX.
"prelevement as pf";
285 if ($type ==
'bank-transfer') {
286 $sql .=
" , ".MAIN_DB_PREFIX.
"facture_fourn as f";
288 $sql .=
" , ".MAIN_DB_PREFIX.
"facture as f";
290 $sql .=
" , ".MAIN_DB_PREFIX.
"societe as s";
291 $sql .=
" WHERE pf.fk_prelevement_lignes = pl.rowid";
292 $sql .=
" AND pl.fk_prelevement_bons = p.rowid";
293 $sql .=
" AND f.fk_soc = s.rowid";
294 if ($type ==
'bank-transfer') {
295 $sql .=
" AND pf.fk_facture_fourn = f.rowid";
297 $sql .=
" AND pf.fk_facture = f.rowid";
299 $sql .=
" AND f.entity IN (".getEntity(
'invoice').
")";
300 $sql .=
" AND pl.rowid = ".((int) $id);
302 $sql .=
" AND s.rowid = ".((int) $socid);
304 $sql .= $db->order($sortfield, $sortorder);
305 $sql .= $db->plimit($conf->liste_limit + 1, $offset);
307 $result = $db->query($sql);
310 $num = $db->num_rows($result);
313 $urladd =
"&id=".urlencode($id);
315 print_barre_liste($langs->trans(
"Bills"), $page,
"factures.php", $urladd, $sortfield, $sortorder,
'', $num, 0,
'');
317 print
"\n<!-- debut table -->\n";
318 print
'<table class="noborder" width="100%" cellpadding="4">';
319 print
'<tr class="liste_titre">';
320 print
'<td>'.$langs->trans(
"Invoice").
'</td>';
321 print
'<td>'.$langs->trans(
"ThirdParty").
'</td>';
322 print
'<td class="right">'.$langs->trans(
"Amount").
'</td><td class="right">'.$langs->trans(
"Status").
'</td>';
327 while ($i < min($num, $conf->liste_limit)) {
328 $obj = $db->fetch_object($result);
330 print
'<tr class="oddeven"><td>';
332 print
'<a href="'.DOL_URL_ROOT.
'/compta/facture/card.php?facid='.$obj->facid.
'">';
333 print
img_object($langs->trans(
"ShowBill"),
"bill");
336 if ($type ==
'bank-transfer') {
337 print
'<a href="'.DOL_URL_ROOT.
'/fourn/facture/card.php?facid='.$obj->facid.
'">'.$obj->ref.
"</a></td>\n";
339 print
'<a href="'.DOL_URL_ROOT.
'/compta/facture/card.php?facid='.$obj->facid.
'">'.$obj->ref.
"</a></td>\n";
342 if ($type ==
'bank-transfer') {
343 print
'<td><a href="'.DOL_URL_ROOT.
'/fourn/card.php?socid='.$obj->socid.
'">';
345 print
'<td><a href="'.DOL_URL_ROOT.
'/comm/card.php?socid='.$obj->socid.
'">';
347 print
img_object($langs->trans(
"ShowCompany"),
"company").
' '.$obj->name.
"</a></td>\n";
349 print
'<td class="right"><span class="amount">'.price($obj->total_ttc).
"</span></td>\n";
351 print
'<td class="right">';
352 $invoicestatic->fetch($obj->facid);
353 print $invoicestatic->getLibStatut(5);
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
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 informations (by default a local PHP server timestamp) Re...
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...
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).
dol_now($mode='auto')
Return date for now.
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.
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.
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.