diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php
index 95ea2bfe46c..63071794caa 100644
--- a/htdocs/compta/resultat/clientfourn.php
+++ b/htdocs/compta/resultat/clientfourn.php
@@ -52,6 +52,17 @@ if ($user->societe_id > 0) $socid = $user->societe_id;
if (! empty($conf->comptabilite->enabled)) $result=restrictedArea($user,'compta','','','resultat');
if (! empty($conf->accounting->enabled)) $result=restrictedArea($user,'accounting','','','comptarapport');
+$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit;
+$sortfield = GETPOST("sortfield",'alpha');
+$sortorder = GETPOST("sortorder",'alpha');
+$page = GETPOST("page",'int');
+if ($page == -1) { $page = 0; }
+$offset = $limit * $page;
+$pageprev = $page - 1;
+$pagenext = $page + 1;
+if (! $sortfield) $sortfield='s.nom, s.rowid';
+if (! $sortorder) $sortorder='ASC';
+
// Date range
$year=GETPOST("year");
if (empty($year))
@@ -150,12 +161,23 @@ $hselected = 'report';
report_header($name,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array('modecompta'=>$modecompta),$calcmode);
// Show report array
+$param='&modecompta='.$modecompta;
+if ($date_startday) $param.='&date_startday='.$date_startday;
+if ($date_startmonth) $param.='&date_startmonth='.$date_startmonth;
+if ($date_startyear) $param.='&date_startyear='.$date_startyear;
+if ($date_endday) $param.='&date_endday='.$date_endday;
+if ($date_endmonth) $param.='&date_endmonth='.$date_endmonth;
+if ($date_endyear) $param.='&date_endyear='.$date_startyear;
+
print '
';
print '';
-print '| | | ';
+print_liste_field_titre('');
+print_liste_field_titre($langs->trans("Name"), $_SERVER["PHP_SELF"],'s.nom, s.rowid','',$param,'',$sortfield,$sortorder);
if ($modecompta == 'CREANCES-DETTES')
- print "".$langs->trans("AmountHT")." | ";
-print "".$langs->trans("AmountTTC")." | ";
+{
+ print_liste_field_titre($langs->trans("AmountHT"), $_SERVER["PHP_SELF"],'amount_ht','',$param,'align="right"',$sortfield,$sortorder);
+}
+print_liste_field_titre($langs->trans("AmountTTC"), $_SERVER["PHP_SELF"],'amount_ttc','',$param,'align="right"',$sortfield,$sortorder);
print "
\n";
/*
@@ -197,7 +219,7 @@ else
$sql.= " AND f.entity = ".$conf->entity;
if ($socid) $sql.= " AND f.fk_soc = ".$socid;
$sql.= " GROUP BY s.nom, s.rowid";
-$sql.= " ORDER BY s.nom, s.rowid";
+$sql.= $db->order($sortfield, $sortorder);
dol_syslog("get customer invoices", LOG_DEBUG);
$result = $db->query($sql);
@@ -323,7 +345,7 @@ else
$sql.= " AND f.entity = ".$conf->entity;
if ($socid) $sql.= " AND f.fk_soc = ".$socid;
$sql .= " GROUP BY s.nom, s.rowid";
-$sql .= " ORDER BY s.nom, s.rowid";
+$sql.= $db->order($sortfield, $sortorder);
print '| '.$langs->trans("SuppliersInvoices").' |
';
@@ -408,7 +430,11 @@ else
}
$sql.= " AND cs.entity = ".$conf->entity;
$sql.= " GROUP BY c.libelle, c.id";
-$sql.= " ORDER BY c.libelle, c.id";
+$newsortfield = $sortfield;
+if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'c.libelle, c.id';
+if ($newsortfield == 'amount_ht') $newsortfield = 'amount';
+if ($newsortfield == 'amount_ttc') $newsortfield = 'amount';
+$sql.= $db->order($newsortfield, $sortorder);
dol_syslog("get social contributions deductible=0", LOG_DEBUG);
$result=$db->query($sql);
@@ -468,8 +494,6 @@ if ($modecompta == 'CREANCES-DETTES')
if (! empty($date_start) && ! empty($date_end))
$sql.= " AND cs.date_ech >= '".$db->idate($date_start)."' AND cs.date_ech <= '".$db->idate($date_end)."'";
$sql.= " AND cs.entity = ".$conf->entity;
- $sql.= " GROUP BY c.libelle, c.id";
- $sql.= " ORDER BY c.libelle, c.id";
}
else
{
@@ -483,9 +507,13 @@ else
if (! empty($date_start) && ! empty($date_end))
$sql.= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'";
$sql.= " AND cs.entity = ".$conf->entity;
- $sql.= " GROUP BY c.libelle, c.id";
- $sql.= " ORDER BY c.libelle, c.id";
}
+$sql.= " GROUP BY c.libelle, c.id";
+$newsortfield = $sortfield;
+if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'c.libelle, c.id';
+if ($newsortfield == 'amount_ht') $newsortfield = 'amount';
+if ($newsortfield == 'amount_ttc') $newsortfield = 'amount';
+$sql.= $db->order($newsortfield, $sortorder);
dol_syslog("get social contributions deductible=1", LOG_DEBUG);
$result=$db->query($sql);
@@ -569,8 +597,12 @@ if (! empty($conf->salaries->enabled))
$sql.= " AND $column >= '".$db->idate($date_start)."' AND $column <= '".$db->idate($date_end)."'";
$sql.= " GROUP BY u.rowid, u.firstname, u.lastname, p.fk_user, p.label, dm";
- $sql.= " ORDER BY u.firstname";
-
+ $newsortfield = $sortfield;
+ if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'u.firstname, u.lastname';
+ if ($newsortfield == 'amount_ht') $newsortfield = 'amount';
+ if ($newsortfield == 'amount_ttc') $newsortfield = 'amount';
+ $sql.= $db->order($newsortfield, $sortorder);
+
dol_syslog("get payment salaries");
$result=$db->query($sql);
$subtotal_ht = 0;
@@ -638,7 +670,7 @@ if (! empty($conf->expensereport->enabled))
$column='p.date_valid';
} else {
- $sql = "SELECT p.rowid, p.ref, u.rowid as userid, u.firstname, u.lastname, date_format(pe.datep,'%Y-%m') as dm, sum(p.total_ht) as amount_ht,sum(p.total_ttc) as amount_ttc";
+ $sql = "SELECT p.rowid, p.ref, u.rowid as userid, u.firstname, u.lastname, date_format(pe.datep,'%Y-%m') as dm, sum(p.total_ht) as amount_ht, sum(p.total_ttc) as amount_ttc";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as p";
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid=p.fk_user_author";
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."payment_expensereport as pe ON pe.fk_expensereport = p.rowid";
@@ -652,55 +684,59 @@ if (! empty($conf->expensereport->enabled))
print '| '.$langs->trans("ExpenseReport").' |
';
if (! empty($date_start) && ! empty($date_end))
+ {
$sql.= " AND $column >= '".$db->idate($date_start)."' AND $column <= '".$db->idate($date_end)."'";
+ }
+
+ $sql.= " GROUP BY u.rowid, p.rowid, p.ref, u.firstname, u.lastname, dm";
+ $newsortfield = $sortfield;
+ if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'p.ref';
+ $sql.= $db->order($newsortfield, $sortorder);
- $sql.= " GROUP BY u.rowid, p.rowid, p.ref, u.firstname, u.lastname, dm";
- $sql.= " ORDER BY p.ref";
-
- dol_syslog("get expense report outcome");
- $result=$db->query($sql);
- $subtotal_ht = 0;
- $subtotal_ttc = 0;
- if ($result)
+ dol_syslog("get expense report outcome");
+ $result=$db->query($sql);
+ $subtotal_ht = 0;
+ $subtotal_ttc = 0;
+ if ($result)
+ {
+ $num = $db->num_rows($result);
+ $var=true;
+ if ($num)
{
- $num = $db->num_rows($result);
- $var=true;
- if ($num)
+ while ($obj = $db->fetch_object($result))
{
- while ($obj = $db->fetch_object($result))
- {
- $total_ht -= $obj->amount_ht;
- $total_ttc -= $obj->amount_ttc;
- $subtotal_ht += $obj->amount_ht;
- $subtotal_ttc += $obj->amount_ttc;
+ $total_ht -= $obj->amount_ht;
+ $total_ttc -= $obj->amount_ttc;
+ $subtotal_ht += $obj->amount_ht;
+ $subtotal_ttc += $obj->amount_ttc;
- $var = !$var;
- print "| | ";
-
- print "".$langs->trans("ExpenseReport")." userid."\">".$obj->firstname." ".$obj->lastname." | \n";
-
- if ($modecompta == 'CREANCES-DETTES') print ''.price(-$obj->amount_ht).' | ';
- print ''.price(-$obj->amount_ttc).' | ';
- print '
';
- }
- }
- else
- {
$var = !$var;
print "| | ";
- print ''.$langs->trans("None").' | ';
+
+ print "".$langs->trans("ExpenseReport")." userid."\">".$obj->firstname." ".$obj->lastname." | \n";
+
+ if ($modecompta == 'CREANCES-DETTES') print ''.price(-$obj->amount_ht).' | ';
+ print ''.price(-$obj->amount_ttc).' | ';
print '
';
}
}
else
{
- dol_print_error($db);
- }
- print '';
- if ($modecompta == 'CREANCES-DETTES')
- print '| '.price(-$subtotal_ht).' | ';
- print ''.price(-$subtotal_ttc).' | ';
+ $var = !$var;
+ print "
| | ";
+ print ''.$langs->trans("None").' | ';
print '
';
+ }
+ }
+ else
+ {
+ dol_print_error($db);
+ }
+ print '';
+ if ($modecompta == 'CREANCES-DETTES')
+ print '| '.price(-$subtotal_ht).' | ';
+ print ''.price(-$subtotal_ttc).' | ';
+ print '
';
}
/*
@@ -720,7 +756,11 @@ if (! empty($conf->don->enabled))
if (! empty($date_start) && ! empty($date_end))
$sql.= " AND p.datedon >= '".$db->idate($date_start)."' AND p.datedon <= '".$db->idate($date_end)."'";
$sql.= " GROUP BY p.societe, p.firstname, p.lastname, dm";
- $sql.= " ORDER BY p.societe, p.firstname, p.lastname, dm";
+ $newsortfield = $sortfield;
+ if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'p.societe, p.firstname, p.lastname, dm';
+ if ($newsortfield == 'amount_ht') $newsortfield = 'amount';
+ if ($newsortfield == 'amount_ttc') $newsortfield = 'amount';
+ $sql.= $db->order($newsortfield, $sortorder);
dol_syslog("get dunning");
$result=$db->query($sql);
@@ -795,7 +835,11 @@ if ($modecompta == 'CREANCES-DETTES')
$sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
$sql.= " AND f.entity = ".$conf->entity;
$sql.= " GROUP BY dm";
- $sql.= " ORDER BY dm";
+ $newsortfield = $sortfield;
+ if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'dm';
+ if ($newsortfield == 'amount_ht') $newsortfield = 'amount';
+ if ($newsortfield == 'amount_ttc') $newsortfield = 'amount';
+ $sql.= $db->order($newsortfield, $sortorder);
dol_syslog("get vat to pay", LOG_DEBUG);
$result=$db->query($sql);
@@ -840,7 +884,11 @@ if ($modecompta == 'CREANCES-DETTES')
$sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
$sql.= " AND f.entity = ".$conf->entity;
$sql.= " GROUP BY dm";
- $sql.= " ORDER BY dm";
+ $newsortfield = $sortfield;
+ if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'dm';
+ if ($newsortfield == 'amount_ht') $newsortfield = 'amount';
+ if ($newsortfield == 'amount_ttc') $newsortfield = 'amount';
+ $sql.= $db->order($newsortfield, $sortorder);
dol_syslog("get vat received back", LOG_DEBUG);
$result=$db->query($sql);
@@ -884,7 +932,11 @@ else
$sql.= " AND t.datev >= '".$db->idate($date_start)."' AND t.datev <= '".$db->idate($date_end)."'";
$sql.= " AND t.entity = ".$conf->entity;
$sql.= " GROUP BY dm";
- $sql.= " ORDER BY dm";
+ $newsortfield = $sortfield;
+ if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'dm';
+ if ($newsortfield == 'amount_ht') $newsortfield = 'amount';
+ if ($newsortfield == 'amount_ttc') $newsortfield = 'amount';
+ $sql.= $db->order($newsortfield, $sortorder);
dol_syslog("get vat really paid", LOG_DEBUG);
$result=$db->query($sql);
@@ -925,7 +977,11 @@ else
$sql.= " AND t.datev >= '".$db->idate($date_start)."' AND t.datev <= '".$db->idate($date_end)."'";
$sql.= " AND t.entity = ".$conf->entity;
$sql.= " GROUP BY dm";
- $sql.= " ORDER BY dm";
+ $newsortfield = $sortfield;
+ if ($newsortfield == 's.nom, s.rowid') $newsortfield = 'dm';
+ if ($newsortfield == 'amount_ht') $newsortfield = 'amount';
+ if ($newsortfield == 'amount_ttc') $newsortfield = 'amount';
+ $sql.= $db->order($newsortfield, $sortorder);
dol_syslog("get vat really received back", LOG_DEBUG);
$result=$db->query($sql);