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')) {
88 $daterej = mktime(2, 0, 0,
GETPOST(
'remonth',
'int'),
GETPOST(
'reday',
'int'),
GETPOST(
'reyear',
'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 print
'<tr><td class="titlefield">'.$langs->trans(
"WithdrawalsReceipts").
'</td><td>';
170 print $bon->getNomUrl(1).
'</td></tr>';
172 print
'<tr><td>'.$langs->trans(
"Date").
'</td><td>'.
dol_print_date($bon->datec,
'day').
'</td></tr>';
174 print
'<tr><td>'.$langs->trans(
"Amount").
'</td><td><span class="amount">'.
price($lipre->amount).
'</span></td></tr>';
176 print
'<tr><td>'.$langs->trans(
"Status").
'</td><td>'.$lipre->LibStatut($lipre->statut, 1).
'</td></tr>';
178 if ($lipre->statut == 3) {
180 $resf = $rej->fetch($lipre->id);
182 print
'<tr><td>'.$langs->trans(
"RefusedReason").
'</td><td>'.$rej->motif.
'</td></tr>';
184 print
'<tr><td>'.$langs->trans(
"RefusedData").
'</td><td>';
185 if ($rej->date_rejet == 0) {
187 print $langs->trans(
"Unknown");
193 print
'<tr><td>'.$langs->trans(
"RefusedInvoicing").
'</td><td>'.$rej->invoicing.
'</td></tr>';
195 print
'<tr><td>'.$resf.
'</td></tr>';
205 if ($action ==
'rejet' && $user->rights->prelevement->bons->credit) {
207 $soc->fetch($lipre->socid);
211 print
'<form name="confirm_rejet" method="post" action="line.php?id='.$id.
'">';
212 print
'<input type="hidden" name="token" value="'.newToken().
'">';
213 print
'<input type="hidden" name="action" value="confirm_rejet">';
214 print
'<input type="hidden" name="type" value="'.$type.
'">';
215 print
'<table class="noborder centpercent">';
217 print
'<tr class="liste_titre">';
218 print
'<td colspan="3">'.$langs->trans(
"WithdrawalRefused").
'</td></tr>';
221 print
'<tr><td class="valid">'.$langs->trans(
"WithdrawalRefusedConfirm").
' '.$soc->name.
' ?</td>';
222 print
'<td colspan="2" class="valid">';
223 print $form->selectyesno(
"confirm", 1, 0);
227 print
'<tr><td class="fieldrequired valid">'.$langs->trans(
"RefusedData").
'</td>';
228 print
'<td colspan="2" class="valid">';
229 print $form->selectDate(
'',
'',
'',
'',
'',
"confirm_rejet");
233 print
'<tr><td class="fieldrequired valid">'.$langs->trans(
"RefusedReason").
'</td>';
234 print
'<td class="valid">';
235 print $form->selectarray(
"motif", $rej->motifs, GETPOSTISSET(
'motif') ?
GETPOST(
'motif',
'int') :
'');
239 print
'<tr><td class="valid">'.$langs->trans(
"RefusedInvoicing").
'</td>';
240 print
'<td class="valid" colspan="2">';
241 print $form->selectarray(
"facturer", $rej->facturer, GETPOSTISSET(
'facturer') ?
GETPOST(
'facturer',
'int') :
'');
243 print
'</table><br>';
246 print
'<div class="center"><input type="submit" class="button button-save" value='.$langs->trans(
"Confirm").
'></div>';
253 print
'<div class="tabsAction">';
256 if ($bon->statut == BonPrelevement::STATUS_CREDITED) {
257 if ($lipre->statut == 2) {
258 if ($user->rights->prelevement->bons->credit) {
259 print
'<a class="butActionDelete" href="line.php?action=rejet&type='.$type.
'&id='.$lipre->id.
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
261 print
'<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans(
"NotAllowed").
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
265 print
'<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans(
"NotPossibleForThisStatusOfWithdrawReceiptORLine").
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
274 $sql =
"SELECT pf.rowid";
275 $sql .=
" ,f.rowid as facid, f.ref as ref, f.total_ttc, f.paye, f.fk_statut";
276 $sql .=
" , s.rowid as socid, s.nom as name";
277 $sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_bons as p";
278 $sql .=
" , ".MAIN_DB_PREFIX.
"prelevement_lignes as pl";
279 $sql .=
" , ".MAIN_DB_PREFIX.
"prelevement as pf";
280 if ($type ==
'bank-transfer') {
281 $sql .=
" , ".MAIN_DB_PREFIX.
"facture_fourn as f";
283 $sql .=
" , ".MAIN_DB_PREFIX.
"facture as f";
285 $sql .=
" , ".MAIN_DB_PREFIX.
"societe as s";
286 $sql .=
" WHERE pf.fk_prelevement_lignes = pl.rowid";
287 $sql .=
" AND pl.fk_prelevement_bons = p.rowid";
288 $sql .=
" AND f.fk_soc = s.rowid";
289 if ($type ==
'bank-transfer') {
290 $sql .=
" AND pf.fk_facture_fourn = f.rowid";
292 $sql .=
" AND pf.fk_facture = f.rowid";
294 $sql .=
" AND f.entity IN (".getEntity(
'invoice').
")";
295 $sql .=
" AND pl.rowid = ".((int) $id);
297 $sql .=
" AND s.rowid = ".((int) $socid);
299 $sql .= $db->order($sortfield, $sortorder);
300 $sql .= $db->plimit($conf->liste_limit + 1, $offset);
302 $result = $db->query($sql);
305 $num = $db->num_rows($result);
308 $urladd =
"&id=".urlencode($id);
310 print_barre_liste($langs->trans(
"Bills"), $page,
"factures.php", $urladd, $sortfield, $sortorder,
'', $num, 0,
'');
312 print
"\n<!-- debut table -->\n";
313 print
'<table class="noborder" width="100%" cellpadding="4">';
314 print
'<tr class="liste_titre">';
315 print
'<td>'.$langs->trans(
"Invoice").
'</td>';
316 print
'<td>'.$langs->trans(
"ThirdParty").
'</td>';
317 print
'<td class="right">'.$langs->trans(
"Amount").
'</td><td class="right">'.$langs->trans(
"Status").
'</td>';
322 while ($i < min($num, $conf->liste_limit)) {
323 $obj = $db->fetch_object($result);
325 print
'<tr class="oddeven"><td>';
327 print
'<a href="'.DOL_URL_ROOT.
'/compta/facture/card.php?facid='.$obj->facid.
'">';
328 print
img_object($langs->trans(
"ShowBill"),
"bill");
331 if ($type ==
'bank-transfer') {
332 print
'<a href="'.DOL_URL_ROOT.
'/fourn/facture/card.php?facid='.$obj->facid.
'">'.$obj->ref.
"</a></td>\n";
334 print
'<a href="'.DOL_URL_ROOT.
'/compta/facture/card.php?facid='.$obj->facid.
'">'.$obj->ref.
"</a></td>\n";
337 if ($type ==
'bank-transfer') {
338 print
'<td><a href="'.DOL_URL_ROOT.
'/fourn/card.php?socid='.$obj->socid.
'">';
340 print
'<td><a href="'.DOL_URL_ROOT.
'/comm/card.php?socid='.$obj->socid.
'">';
342 print
img_object($langs->trans(
"ShowCompany"),
"company").
' '.$obj->name.
"</a></td>\n";
344 print
'<td class="right"><span class="amount">'.price($obj->total_ttc).
"</span></td>\n";
346 print
'<td class="right">';
347 $invoicestatic->fetch($obj->facid);
348 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_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.