29require
'../main.inc.php';
37require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.commande.class.php';
38require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
39require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
42$langs->loadLangs(array(
"suppliers",
"orders",
"companies"));
46if ($user->isExternalUser()) {
47 $socid = $user->isExternalUser();
60llxHeader(
"", $langs->trans(
"SuppliersArea"),
'',
'', 0, 0,
'',
'',
'',
'mod-fourn-facture page-index');
67print
'<div class="fichecenter"><div class="fichethirdleft">';
71$sql =
"SELECT count(cf.rowid), cf.fk_statut";
72$sql .=
" FROM ".MAIN_DB_PREFIX.
"commande_fournisseur as cf,";
73$sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
74if (!$user->hasRight(
"societe",
"client",
"voir") && !$socid) {
75 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe_commerciaux as sc ON s.rowid = sc.fk_soc";
77$sql .=
" WHERE cf.fk_soc = s.rowid ";
78if (!$user->hasRight(
"societe",
"client",
"voir") && !$socid) {
79 $sql .=
" AND sc.fk_user = ".((int) $user->id);
81$sql .=
" AND cf.entity = ".$conf->entity;
82$sql .=
" GROUP BY cf.fk_statut";
84$resql =
$db->query($sql);
86 $num =
$db->num_rows($resql);
89 print
'<table class="noborder centpercent">';
90 print
'<tr class="liste_titre"><td>'.$langs->trans(
"Orders").
'</td><td class="center">'.$langs->trans(
"Nb").
'</td><td> </td>';
94 $row =
$db->fetch_row($resql);
96 print
'<tr class="oddeven">';
97 print
'<td>'.$commandestatic->LibStatut($row[1]).
'</td>';
98 print
'<td class="center">'.$row[0].
'</td>';
99 print
'<td class="center"><a href="'.DOL_URL_ROOT.
'/fourn/commande/list.php?statut='.$row[1].
'">'.$commandestatic->LibStatut($row[1], 3).
'</a></td>';
114 $langs->load(
"orders");
116 $sql =
"SELECT cf.rowid, cf.ref, cf.total_ttc,";
117 $sql .=
" s.nom as name, s.rowid as socid";
118 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande_fournisseur as cf";
119 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
120 if (!$user->hasRight(
"societe",
"client",
"voir") && !$socid) {
121 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe_commerciaux as sc ON s.rowid = sc.fk_soc";
123 $sql .=
" WHERE cf.fk_soc = s.rowid";
124 if (!$user->hasRight(
"societe",
"client",
"voir") && !$socid) {
125 $sql .=
" AND sc.fk_user = ".((int) $user->id);
127 $sql .=
" AND cf.entity = ".$conf->entity;
128 $sql .=
" AND cf.fk_statut = 0";
130 $sql .=
" AND cf.fk_soc = ".((int) $socid);
133 $resql =
$db->query($sql);
136 $num =
$db->num_rows($resql);
138 print
'<table class="noborder centpercent">';
139 print
'<tr class="liste_titre">';
140 print
'<td colspan="3">'.$langs->trans(
"DraftOrders").
'<span class="badge marginleftonlyshort">'.$num.
'</span></td></tr>';
144 $obj =
$db->fetch_object($resql);
146 print
'<tr class="oddeven"><td class="nowrap">';
147 $commandestatic->id = $obj->rowid;
148 $commandestatic->ref = $obj->ref;
149 print $commandestatic->getNomUrl(1,
'', 16);
151 print
'<td class="nowrap">';
152 $companystatic->id = $obj->socid;
153 $companystatic->name = $obj->name;
154 $companystatic->client = 0;
155 print $companystatic->getNomUrl(1,
'', 16);
157 print
'<td class="right nowrap">'.price($obj->total_ttc).
'</td></tr>';
159 $total += $obj->total_ttc;
162 print
'<tr class="liste_total"><td>'.$langs->trans(
"Total").
'</td><td colspan="2" class="right">'.
price($total).
"</td></tr>";
171if (
isModEnabled(
"supplier_invoice") && ($user->hasRight(
'fournisseur',
'facture',
'lire') || $user->hasRight(
'supplier_invoice',
'read'))) {
172 $sql =
"SELECT ff.ref_supplier, ff.rowid, ff.total_ttc, ff.type";
173 $sql .=
", s.nom as name, s.rowid as socid";
174 $sql .=
" FROM ".MAIN_DB_PREFIX.
"facture_fourn as ff";
175 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
176 if (!$user->hasRight(
"societe",
"client",
"voir") && !$socid) {
177 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe_commerciaux as sc ON s.rowid = sc.fk_soc";
179 $sql .=
" WHERE s.rowid = ff.fk_soc";
180 if (!$user->hasRight(
"societe",
"client",
"voir") && !$socid) {
181 $sql .=
" AND sc.fk_user = ".((int) $user->id);
183 $sql .=
" AND ff.entity = ".$conf->entity;
184 $sql .=
" AND ff.fk_statut = 0";
186 $sql .=
" AND f.fk_soc = ".((int) $socid);
189 $resql =
$db->query($sql);
192 $num =
$db->num_rows($resql);
194 print
'<table class="noborder centpercent">';
195 print
'<tr class="liste_titre">';
196 print
'<td colspan="3">'.$langs->trans(
"DraftBills").
'<span class="badge marginleftonlyshort">'.$num.
'</span></td></tr>';
200 while ($i < $num && $i < 20) {
201 $obj =
$db->fetch_object($resql);
203 print
'<tr class="oddeven"><td class="nowrap">';
204 $facturestatic->ref = $obj->ref;
205 $facturestatic->id = $obj->rowid;
206 $facturestatic->type = $obj->type;
207 print $facturestatic->getNomUrl(1,
'');
209 print
'<td class="nowrap">';
210 $companystatic->id = $obj->socid;
211 $companystatic->name = $obj->name;
212 $companystatic->client = 0;
213 print $companystatic->getNomUrl(1,
'', 16);
215 print
'<td class="right">'.price($obj->total_ttc).
'</td>';
217 $tot_ttc += $obj->total_ttc;
221 print
'<tr class="liste_total"><td class="left">'.$langs->trans(
"Total").
'</td>';
222 print
'<td colspan="2" class="right">'.price($tot_ttc).
'</td>';
235print
'</div><div class="fichetwothirdright">';
242$sql =
"SELECT s.rowid as socid, s.nom as name, s.town, s.datec, s.tms, s.prefix_comm, s.code_fournisseur";
244 $sql .=
", spe.accountancy_code_supplier as code_compta_fournisseur";
246 $sql .=
", s.code_compta_fournisseur";
248$sql .=
", st.libelle as stcomm";
249$sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
251 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int)
$conf->entity);
253$sql .=
", ".MAIN_DB_PREFIX.
"c_stcomm as st";
254if (!$user->hasRight(
"societe",
"client",
"voir") && !$socid) {
255 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
257$sql .=
" WHERE s.fk_stcomm = st.id";
258$sql .=
" AND s.fournisseur = 1";
259$sql .=
" AND s.entity IN (".getEntity(
'societe').
")";
260if (!$user->hasRight(
"societe",
"client",
"voir") && !$socid) {
261 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
264 $sql .=
" AND s.rowid = ".((int) $socid);
266$sql .=
" ORDER BY s.tms DESC";
267$sql .=
$db->plimit($max, 0);
269$resql =
$db->query($sql);
271 $langs->load(
"boxes");
272 $num =
$db->num_rows($resql);
275 print
'<table class="noborder centpercent">';
276 print
'<tr class="liste_titre">';
277 print
'<td colspan="2">'.$langs->trans(
"BoxTitleLastSuppliers", min($max, $num)).
"</td>\n";
278 print
'<td class="right">'.$langs->trans(
"DateModification").
"</td>\n";
281 while ($obj =
$db->fetch_object($resql)) {
282 print
'<tr class="oddeven">';
283 print
'<td><a href="card.php?socid='.$obj->socid.
'">'.
img_object($langs->trans(
"ShowSupplier"),
"company").
'</a>';
284 print
" <a href=\"card.php?socid=".$obj->socid.
"\">".$obj->name.
"</a></td>\n";
285 print
'<td class="left">'.$obj->code_fournisseur.
' </td>';
286 print
'<td class="right">'.dol_print_date(
$db->jdate($obj->tms),
'day').
'</td>';
300$companystatic->LoadSupplierCateg();
303if (count($companystatic->SupplierCategories)) {
306 print
'<table class="liste centpercent">';
307 print
'<tr class="liste_titre"><td colspan="2">';
308 print $langs->trans(
"Category");
309 print
"</td></tr>\n";
311 foreach ($companystatic->SupplierCategories as $rowid => $label) {
312 print
'<tr class="oddeven">'.
"\n";
314 $categstatic->id = (int) $rowid;
315 $categstatic->ref = $label;
316 $categstatic->label = $label;
317 print $categstatic->getNomUrl(1);
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 categories.
Class to manage predefined suppliers products.
Class to manage suppliers invoices.
Class to manage third parties objects (customers, suppliers, prospects...)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $allowothertags=array())
Show a picto called object_picto (generic function)
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_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
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.