29require
'../../main.inc.php';
30require_once DOL_DOCUMENT_ROOT.
'/core/lib/prelevement.lib.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
32require_once DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/rejetprelevement.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
38require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
49$langs->loadLangs(array(
"banks",
"categories",
"companies",
'withdrawals',
'bills'));
52if ($user->socid > 0) {
64$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
65$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
67if (empty($page) || $page == -1) {
70$offset = $limit * $page;
77include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
80$salaryBonPl =
$object->checkIfSalaryBonPrelevement();
83if ($user->socid > 0) {
88if ($type ==
'bank-transfer') {
89 $result =
restrictedArea($user,
'paymentbybanktransfer',
'',
'',
'');
101$thirdpartystatic =
new Societe($db);
102$invoicestatic =
new Facture($db);
107llxHeader(
'', $langs->trans(
"WithdrawalsReceipts"));
109if ($id > 0 || $ref) {
110 if (
$object->fetch($id, $ref) >= 0) {
112 print
dol_get_fiche_head($head,
'rejects', $langs->trans(
"WithdrawalsReceipts"), -1,
'payment');
114 $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>';
116 dol_banner_tab($object,
'ref', $linkback, 1,
'ref',
'ref');
118 print
'<div class="fichecenter">';
119 print
'<div class="underbanner clearboth"></div>';
120 print
'<table class="border centpercent tableforfield">'.
"\n";
123 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"Date").
'</td><td>'.
dol_print_date(
$object->datec,
'day').
'</td></tr>';
124 print
'<tr><td>'.$langs->trans(
"Amount").
'</td><td><span class="amount">'.
price(
$object->amount).
'</span></td></tr>';
126 if (!empty(
$object->date_trans)) {
127 $muser =
new User($db);
128 $muser->fetch(
$object->user_trans);
130 print
'<tr><td>'.$langs->trans(
"TransData").
'</td><td>';
132 print
' <span class="opacitymedium">'.$langs->trans(
"By").
'</span> '.$muser->getNomUrl(-1).
'</td></tr>';
133 print
'<tr><td>'.$langs->trans(
"TransMetod").
'</td><td>';
137 if (!empty(
$object->date_credit)) {
138 print
'<tr><td>'.$langs->trans(
'CreditDate').
'</td><td>';
147 print
'<div class="underbanner clearboth"></div>';
148 print
'<table class="border centpercent tableforfield">';
152 $fk_bank_account =
$object->fk_bank_account;
153 if (empty($fk_bank_account)) {
156 if ($fk_bank_account > 0) {
157 $result = $acc->fetch($fk_bank_account);
160 $labelofbankfield =
"BankToReceiveWithdraw";
161 if (
$object->type ==
'bank-transfer') {
162 $labelofbankfield =
'BankToPayCreditTransfer';
165 print
'<tr><td class="titlefieldcreate">';
166 print $form->textwithpicto($langs->trans(
"BankAccount"), $langs->trans($labelofbankfield));
170 print $acc->getNomUrl(1);
175 $modulepart =
'prelevement';
176 if (
$object->type ==
'bank-transfer') {
177 $modulepart =
'paymentbybanktransfer';
180 print
'<tr><td class="titlefieldcreate">';
181 $labelfororderfield =
'WithdrawalFile';
182 if (
$object->type ==
'bank-transfer') {
183 $labelfororderfield =
'CreditTransferFile';
185 print $langs->trans($labelfororderfield).
'</td><td>';
188 $labelentity = $conf->entity;
189 $relativepath =
'receipts/'.$object->ref.
'-'.$labelentity.
'.xml';
191 if ($type !=
'bank-transfer') {
192 $dir = $conf->prelevement->dir_output;
194 $dir = $conf->paymentbybanktransfer->dir_output;
197 $relativepath =
'receipts/'.$object->ref.
'.xml';
200 $relativepath =
'receipts/'.$object->ref.
'.xml';
203 print
'<a data-ajax="false" href="'.DOL_URL_ROOT.
'/document.php?type=text/plain&modulepart='.$modulepart.
'&file='.urlencode($relativepath).
'">'.$relativepath;
204 print
img_picto(
'',
'download',
'class="paddingleft"');
206 print
'</td></tr></table>';
219$sql =
"SELECT pl.rowid, pl.amount, pl.statut";
220$sql .=
" , s.rowid as socid, s.nom as name";
221$sql .=
" , pr.motif, pr.afacturer, pr.fk_facture";
222$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_bons as p";
223$sql .=
" , ".MAIN_DB_PREFIX.
"prelevement_lignes as pl";
224$sql .=
" , ".MAIN_DB_PREFIX.
"societe as s";
225$sql .=
" , ".MAIN_DB_PREFIX.
"prelevement_rejet as pr";
226$sql .=
" WHERE p.rowid=".((int)
$object->id);
227$sql .=
" AND pl.fk_prelevement_bons = p.rowid";
228$sql .=
" AND p.entity IN (".getEntity(
'facture').
")";
229$sql .=
" AND pl.fk_soc = s.rowid";
230$sql .=
" AND pl.statut = 3";
231$sql .=
" AND pr.fk_prelevement_lignes = pl.rowid";
232$sql .=
" ORDER BY pl.amount DESC";
235$nbtotalofrecords =
'';
237 $result = $db->query($sql);
238 $nbtotalofrecords = $db->num_rows($result);
239 if (($page * $limit) > (
int) $nbtotalofrecords) {
245$sql .= $db->plimit($limit + 1, $offset);
247$resql = $db->query($sql);
249 $num = $db->num_rows($resql);
252 print_barre_liste($langs->trans(
"Rejects"), $page, $_SERVER[
"PHP_SELF"],
'', $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'');
254 $param =
'&id='.((int)
$object->id);
256 print
"\n<!-- debut table -->\n";
257 print
'<div class="div-table-responsive-no-min">';
258 print
'<table class="noborder centpercent">';
259 print
'<tr class="liste_titre">';
261 print_liste_field_titre((!$salaryBonPl ?
"ThirdParty" :
"Employee"), $_SERVER[
"PHP_SELF"],
"s.nom",
'', $param,
'', $sortfield, $sortorder);
262 print_liste_field_titre(
"Amount", $_SERVER[
"PHP_SELF"],
"pl.amount",
'', $param,
'', $sortfield, $sortorder,
'right ');
264 print_liste_field_titre(
"ToBill", $_SERVER[
"PHP_SELF"],
"",
'', $param,
'', $sortfield, $sortorder,
'center ');
275 $obj = $db->fetch_object($resql);
277 $thirdpartystatic->id = $obj->socid;
278 $thirdpartystatic->name = $obj->name;
280 if ($obj->fk_facture > 0) {
281 $invoicestatic->fetch($obj->fk_facture);
284 print
'<tr class="oddeven">';
286 print
'<a href="'.DOL_URL_ROOT.
'/compta/prelevement/line.php?id='.$obj->rowid.
'">';
287 print
img_picto(
'',
'statut'.$obj->statut).
' ';
288 print substr(
'000000'.$obj->rowid, -6);
291 if ($type !=
'bank-transfer') {
292 print $thirdpartystatic->getNomUrl(1,
'customer');
294 print $thirdpartystatic->getNomUrl(1,
'supplier');
298 print
'<td class="right"><span class="amount">'.price($obj->amount).
"</span></td>\n";
299 print
'<td>'.dol_escape_htmltag($rej->motifs[$obj->motif]).
'</td>';
301 print
'<td class="center">'.yn($obj->afacturer).
'</td>';
304 print
'<td class="center">';
305 if ($obj->fk_facture > 0) {
306 print $invoicestatic->getNomUrl(1);
312 $total += $obj->amount;
317 print
'<tr><td colspan="6"><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td></tr>';
321 print
'<tr class="liste_total"><td> </td>';
322 print
'<td class="liste_total">'.$langs->trans(
"Total").
'</td>';
323 print
'<td class="right"><span class="amount">'.price($total).
"</span></td>\n";
324 print
'<td colspan="3"> </td>';
$id
Support class for third parties, contacts, members, users or resources.
if(! $sortfield) if(! $sortorder) $object
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 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_liste_field_titre($name, $file="", $field="", $begin="", $param="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
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, $allowothertags=array())
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, $morecssdiv='')
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.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false, $decorate=0)
Output date in a string format according to outputlangs (or langs if not defined).
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
isModEnabled($module)
Is Dolibarr module enabled.
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.