27require
'../main.inc.php';
28require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
29require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
30require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
33$langs->load(
"companies");
34if (isModEnabled(
'invoice')) {
35 $langs->load(
"bills");
52$hookmanager->initHooks(array(
'recapcomptacard',
'globalcard'));
56$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
57$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
59if (empty($page) || $page == -1) {
62$offset = $limit * $page;
66 $sortfield =
"f.datef,f.rowid";
74 'f.datef'=>array(
'label'=>
"Date",
'checked'=>1),
79$hookmanager->initHooks(array(
'supplierbalencelist',
'globalcard'));
84$parameters = array(
'socid' => $id);
85$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object);
98$userstatic =
new User($db);
100$title = $langs->trans(
"ThirdParty").
' - '.$langs->trans(
"Summary");
102 $title =
$object->name.
' - '.$langs->trans(
"Summary");
104$help_url =
'EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
111 $param .=
'&socid='.$id;
116 print
dol_get_fiche_head($head,
'customer', $langs->trans(
"ThirdParty"), 0,
'company');
117 dol_banner_tab($object,
'socid',
'', ($user->socid ? 0 : 1),
'rowid',
'nom',
'',
'', 0,
'',
'', 1);
120 if (isModEnabled(
'invoice') && $user->hasRight(
'facture',
'lire')) {
124 print
'<table class="noborder tagtable liste centpercent">';
125 print
'<tr class="liste_titre">';
126 if (!empty($arrayfields[
'f.datef'][
'checked'])) {
127 print_liste_field_titre($arrayfields[
'f.datef'][
'label'], $_SERVER[
"PHP_SELF"],
"f.datef",
"", $param,
'align="center" class="nowrap"', $sortfield, $sortorder);
129 print
'<td>'.$langs->trans(
"Element").
'</td>';
130 print
'<td>'.$langs->trans(
"Status").
'</td>';
131 print
'<td class="right">'.$langs->trans(
"Debit").
'</td>';
132 print
'<td class="right">'.$langs->trans(
"Credit").
'</td>';
133 print
'<td class="right">'.$langs->trans(
"Balance").
'</td>';
134 print
'<td class="right">'.$langs->trans(
"Author").
'</td>';
139 $sql =
"SELECT s.nom, s.rowid as socid, f.ref, f.total_ttc, f.datef as df,";
140 $sql .=
" f.paye as paye, f.fk_statut as statut, f.rowid as facid,";
141 $sql .=
" u.login, u.rowid as userid";
142 $sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s,".MAIN_DB_PREFIX.
"facture as f,".MAIN_DB_PREFIX.
"user as u";
143 $sql .=
" WHERE f.fk_soc = s.rowid AND s.rowid = ".((int)
$object->id);
144 $sql .=
" AND f.entity IN (".getEntity(
'invoice').
")";
145 $sql .=
" AND f.fk_user_valid = u.rowid";
146 $sql .= $db->order($sortfield, $sortorder);
148 $resql = $db->query($sql);
150 $num = $db->num_rows($resql);
153 for ($i = 0; $i < $num; $i++) {
154 $objf = $db->fetch_object($resql);
157 $ret = $fac->fetch($objf->facid);
159 print $fac->error.
"<br>";
162 $totalpaid = $fac->getSommePaiement();
164 $userstatic->id = $objf->userid;
165 $userstatic->login = $objf->login;
168 'fk_facture' => $objf->facid,
169 'date' => $fac->date,
170 'datefieldforsort' => $fac->date.
'-'.$fac->ref,
171 'link' => $fac->getNomUrl(1),
172 'status' => $fac->getLibStatut(2, $totalpaid),
173 'amount' => $fac->total_ttc,
174 'author' => $userstatic->getLoginUrl(1)
177 $parameters = array(
'socid' => $id,
'values' => &$values,
'fac' => $fac,
'userstatic' => $userstatic);
178 $reshook = $hookmanager->executeHooks(
'facdao', $parameters, $object);
186 $sql =
"SELECT p.rowid, p.datep as dp, pf.amount, p.statut,";
187 $sql .=
" p.fk_user_creat, u.login, u.rowid as userid";
188 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiement_facture as pf,";
189 $sql .=
" ".MAIN_DB_PREFIX.
"paiement as p";
190 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u ON p.fk_user_creat = u.rowid";
191 $sql .=
" WHERE pf.fk_paiement = p.rowid";
192 $sql .=
" AND p.entity = ".$conf->entity;
193 $sql .=
" AND pf.fk_facture = ".((int) $fac->id);
194 $sql .=
" ORDER BY p.datep ASC, p.rowid ASC";
196 $resqlp = $db->query($sql);
198 $nump = $db->num_rows($resqlp);
202 $objp = $db->fetch_object($resqlp);
205 $paymentstatic->id = $objp->rowid;
207 $userstatic->id = $objp->userid;
208 $userstatic->login = $objp->login;
211 'fk_paiement' => $objp->rowid,
212 'date' => $db->jdate($objp->dp),
213 'datefieldforsort' => $db->jdate($objp->dp).
'-'.$fac->ref,
214 'link' => $langs->trans(
"Payment").
' '.$paymentstatic->getNomUrl(1),
216 'amount' => -$objp->amount,
217 'author' => $userstatic->getLoginUrl(1)
220 $parameters = array(
'socid' => $id,
'values' => &$values,
'fac' => $fac,
'userstatic' => $userstatic,
'paymentstatic' => $paymentstatic);
221 $reshook = $hookmanager->executeHooks(
'paydao', $parameters, $object);
241 print
'<tr class="oddeven"><td colspan="7">'.$langs->trans(
"NoInvoice").
'</td></tr>';
248 foreach ($TData as &$data1) {
249 $balance += $data1[
'amount'];
250 if (!isset($data1[
'balance'])) {
251 $data1[
'balance'] = 0;
253 $data1[
'balance'] += $balance;
263 foreach ($TData as $data) {
265 if (!empty($data[
'fk_facture'])) {
266 $html_class =
'facid-'.$data[
'fk_facture'];
267 } elseif (!empty($data[
'fk_paiement'])) {
268 $html_class =
'payid-'.$data[
'fk_paiement'];
271 print
'<tr class="oddeven '.$html_class.
'">';
274 if (!empty($data[
'fk_facture'])) {
277 print
'<td class="center" title="'.dol_escape_htmltag($datedetail).
'">';
281 print
'<td>'.$data[
'link'].
"</td>\n";
283 print
'<td class="left">'.$data[
'status'].
'</td>';
285 print
'<td class="right">'.(($data[
'amount'] > 0) ?
price(abs($data[
'amount'])) :
'').
"</td>\n";
287 $totalDebit += ($data[
'amount'] > 0) ? abs($data[
'amount']) : 0;
289 print
'<td class="right">'.(($data[
'amount'] > 0) ?
'' :
price(abs($data[
'amount']))).
"</td>\n";
290 $totalCredit += ($data[
'amount'] > 0) ? 0 : abs($data[
'amount']);
293 print
'<td class="right"><span class="amount">'.price($data[
'balance']).
"</span></td>\n";
296 print
'<td class="nowrap right">';
297 print $data[
'author'];
303 print
'<tr class="liste_total">';
304 print
'<td colspan="3"> </td>';
305 print
'<td class="right">'.price($totalDebit).
'</td>';
306 print
'<td class="right">'.price($totalCredit).
'</td>';
307 print
'<td class="right">'.price(
price2num($totalDebit - $totalCredit,
'MT')).
'</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()
Empty header.
Class to manage invoices.
Class to manage payments of customer invoices.
Class to manage third parties objects (customers, suppliers, prospects...)
Class to manage Dolibarr users.
societe_prepare_head(Societe $object)
Return array of tabs to used on pages for third parties cards.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
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.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
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=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by the value of a given key, which produces ascending (default) or descending out...
print_liste_field_titre($name, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
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.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
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.