31require
'../main.inc.php';
32require_once DOL_DOCUMENT_ROOT.
'/reception/class/reception.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.commande.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.product.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
39require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
41$langs->loadLangs(array(
"sendings",
"receptions",
"deliveries",
'companies',
'bills',
'orders'));
43$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'shipmentlist';
47$action =
GETPOST(
'action',
'alpha');
48$massaction =
GETPOST(
'massaction',
'alpha');
49$toselect =
GETPOST(
'toselect',
'array');
50$optioncss =
GETPOST(
'optioncss',
'alpha');
51$mode =
GETPOST(
'mode',
'alpha');
54$search_ref_rcp =
GETPOST(
"search_ref_rcp");
55$search_ref_liv =
GETPOST(
'search_ref_liv');
56$search_ref_supplier =
GETPOST(
'search_ref_supplier');
57$search_company =
GETPOST(
"search_company");
58$search_town =
GETPOST(
'search_town',
'alpha');
59$search_zip =
GETPOST(
'search_zip',
'alpha');
60$search_state =
GETPOST(
"search_state");
61$search_country =
GETPOST(
"search_country",
'aZ09');
62$search_type_thirdparty =
GETPOST(
"search_type_thirdparty",
'intcomma');
63$search_date_delivery_startday =
GETPOSTINT(
'search_date_delivery_startday');
64$search_date_delivery_startmonth =
GETPOSTINT(
'search_date_delivery_startmonth');
65$search_date_delivery_startyear =
GETPOSTINT(
'search_date_delivery_startyear');
66$search_date_delivery_endday =
GETPOSTINT(
'search_date_delivery_endday');
67$search_date_delivery_endmonth =
GETPOSTINT(
'search_date_delivery_endmonth');
68$search_date_delivery_endyear =
GETPOSTINT(
'search_date_delivery_endyear');
69$search_date_delivery_start =
dol_mktime(0, 0, 0, $search_date_delivery_startmonth, $search_date_delivery_startday, $search_date_delivery_startyear);
70$search_date_delivery_end =
dol_mktime(23, 59, 59, $search_date_delivery_endmonth, $search_date_delivery_endday, $search_date_delivery_endyear);
71$search_date_create_startday =
GETPOSTINT(
'search_date_create_startday');
72$search_date_create_startmonth =
GETPOSTINT(
'search_date_create_startmonth');
73$search_date_create_startyear =
GETPOSTINT(
'search_date_create_startyear');
74$search_date_create_endday =
GETPOSTINT(
'search_date_create_endday');
75$search_date_create_endmonth =
GETPOSTINT(
'search_date_create_endmonth');
76$search_date_create_endyear =
GETPOSTINT(
'search_date_create_endyear');
77$search_date_create_start =
dol_mktime(0, 0, 0, $search_date_create_startmonth, $search_date_create_startday, $search_date_create_startyear);
78$search_date_create_end =
dol_mktime(23, 59, 59, $search_date_create_endmonth, $search_date_create_endday, $search_date_create_endyear);
79$search_billed =
GETPOST(
"search_billed",
'intcomma');
80$search_status =
GETPOST(
'search_status',
'intcomma');
81$search_all =
GETPOST(
'search_all',
'alphanohtml') ?
GETPOST(
'search_all',
'alphanohtml') :
GETPOST(
'sall',
'alphanohtml');
84$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
85$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
93if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
97$offset = $limit * $page;
101$diroutputmassaction = $conf->reception->multidir_output[$conf->entity].
'/temp/massgeneration/'.$user->id;
105$hookmanager->initHooks(array(
'receptionlist'));
109$extrafields->fetch_name_optionals_label(
$object->table_element);
110$search_array_options = $extrafields->getOptionalsFromPost(
$object->table_element,
'',
'search_');
113$fieldstosearchall = array(
115 'e.ref_supplier'=>
"RefSupplier",
116 's.nom' =>
"ThirdParty",
117 'e.note_public' =>
'NotePublic',
119if (empty($user->socid)) {
120 $fieldstosearchall[
"e.note_private"] =
"NotePrivate";
123$checkedtypetiers = 0;
125 'e.ref' => array(
'label' => $langs->trans(
"Ref"),
'checked' => 1),
126 'e.ref_supplier' => array(
'label' => $langs->trans(
"RefSupplier"),
'checked' => 1),
127 's.nom' => array(
'label' => $langs->trans(
"ThirdParty"),
'checked' => 1),
128 's.town' => array(
'label' => $langs->trans(
"Town"),
'checked' => 1),
129 's.zip' => array(
'label' => $langs->trans(
"Zip"),
'checked' => 1),
130 'state.nom' => array(
'label' => $langs->trans(
"StateShort"),
'checked' => 0),
131 'country.code_iso' => array(
'label' => $langs->trans(
"Country"),
'checked' => 0),
132 'typent.code' => array(
'label' => $langs->trans(
"ThirdPartyType"),
'checked' => $checkedtypetiers),
133 'e.date_delivery' => array(
'label' => $langs->trans(
"DateDeliveryPlanned"),
'checked' => 1),
134 'e.datec' => array(
'label' => $langs->trans(
"DateCreation"),
'checked' => 0,
'position' => 500),
135 'e.tms' => array(
'label' => $langs->trans(
"DateModificationShort"),
'checked' => 0,
'position' => 500),
136 'e.fk_statut' => array(
'label' => $langs->trans(
"Status"),
'checked' => 1,
'position' => 1000),
137 'e.billed' => array(
'label' => $langs->trans(
"Billed"),
'checked' => 1,
'position' => 1000,
'enabled' =>
'getDolGlobalString("WORKFLOW_BILL_ON_RECEPTION") !== "0"')
141include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_array_fields.tpl.php';
145'@phan-var-force array<string,array{label:string,checked?:int<0,1>,position?:int,help?:string}> $arrayfields';
152 $socid = $user->socid;
161if (
GETPOST(
'cancel',
'alpha')) {
165if (!
GETPOST(
'confirmmassaction',
'alpha') && $massaction !=
'presend' && $massaction !=
'confirm_createbills') {
169$parameters = array(
'socid' => $socid,
'arrayfields' => &$arrayfields);
170$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
175include DOL_DOCUMENT_ROOT.
'/core/actions_changeselectedfields.inc.php';
178if (
GETPOST(
'button_removefilter_x',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
179 $search_ref_supplier =
'';
180 $search_ref_rcp =
'';
181 $search_ref_liv =
'';
182 $search_company =
'';
186 $search_country =
'';
187 $search_type_thirdparty =
'';
188 $search_date_delivery_startday =
'';
189 $search_date_delivery_startmonth =
'';
190 $search_date_delivery_startyear =
'';
191 $search_date_delivery_endday =
'';
192 $search_date_delivery_endmonth =
'';
193 $search_date_delivery_endyear =
'';
194 $search_date_delivery_start =
'';
195 $search_date_delivery_end =
'';
196 $search_date_create_startday =
'';
197 $search_date_create_startmonth =
'';
198 $search_date_create_startyear =
'';
199 $search_date_create_endday =
'';
200 $search_date_create_endmonth =
'';
201 $search_date_create_endyear =
'';
202 $search_date_create_start =
'';
203 $search_date_create_end =
'';
207 $search_array_options = array();
210if (empty($reshook)) {
212 $objectclass =
'Reception';
213 $objectlabel =
'Receptions';
214 $permissiontoread = $user->hasRight(
'reception',
'lire');
215 $permissiontoadd = $user->hasRight(
'reception',
'creer');
216 $permissiontodelete = $user->hasRight(
'reception',
'supprimer');
217 $uploaddir = $conf->reception->multidir_output[$conf->entity];
218 include DOL_DOCUMENT_ROOT.
'/core/actions_massactions.inc.php';
220 if ($massaction ==
'confirm_createbills' && ($user->hasRight(
"fournisseur",
"facture",
"creer") || $user->hasRight(
"supplier_invoice",
"creer"))) {
221 $receptions =
GETPOST(
'toselect',
'array');
222 $createbills_onebythird =
GETPOSTINT(
'createbills_onebythird');
223 $validate_invoices =
GETPOSTINT(
'validate_invoices');
228 $TFactThird = array();
229 $TFactThirdNbLines = array();
231 $nb_bills_created = 0;
239 foreach ($receptions as $id_reception) {
242 if ($rcp->fetch($id_reception) <= 0 || $rcp->statut == $rcp::STATUS_DRAFT) {
243 $errors[] = $langs->trans(
'StatusOfRefMustBe', $rcp->ref, $langs->transnoentities(
"StatusReceptionValidatedShort"));
249 if (!empty($createbills_onebythird) && !empty($TFactThird[$rcp->socid])) {
251 $objecttmp = $TFactThird[$rcp->socid];
254 $objecttmp->fetchObjectLinked();
255 $rcp->fetchObjectLinked();
256 if (count($rcp->linkedObjectsIds[
'order_supplier']) > 0) {
257 foreach ($rcp->linkedObjectsIds[
'order_supplier'] as $key => $value) {
258 if (empty($objecttmp->linkedObjectsIds[
'order_supplier']) || !in_array($value, $objecttmp->linkedObjectsIds[
'order_supplier'])) {
259 $objecttmp->add_object_linked(
'order_supplier', $value);
264 $cond_reglement_id = 0;
265 $mode_reglement_id = 0;
267 $transport_mode_id = 0;
268 if (!empty($rcp->cond_reglement_id)) {
269 $cond_reglement_id = $rcp->cond_reglement_id;
271 if (!empty($rcp->mode_reglement_id)) {
272 $mode_reglement_id = $rcp->mode_reglement_id;
274 if (!empty($rcp->fk_account)) {
275 $fk_account = $rcp->fk_account;
277 if (!empty($rcp->transport_mode_id)) {
278 $transport_mode_id = $rcp->transport_mode_id;
281 if (empty($cond_reglement_id)
282 || empty($mode_reglement_id)
283 || empty($fk_account)
284 || empty($transport_mode_id)
286 if (!isset($rcp->supplier_order)) {
287 $rcp->fetch_origin();
291 if (!empty($rcp->origin_object)) {
292 $supplierOrder = $rcp->origin_object;
293 if (empty($cond_reglement_id) && !empty($supplierOrder->cond_reglement_id)) {
294 $cond_reglement_id = $supplierOrder->cond_reglement_id;
296 if (empty($mode_reglement_id) && !empty($supplierOrder->mode_reglement_id)) {
297 $mode_reglement_id = $supplierOrder->mode_reglement_id;
299 if (empty($fk_account) && !empty($supplierOrder->fk_account)) {
300 $fk_account = $supplierOrder->fk_account;
302 if (empty($transport_mode_id) && !empty($supplierOrder->transport_mode_id)) {
303 $transport_mode_id = $supplierOrder->transport_mode_id;
308 if (!empty($rcp->thirdparty)) {
309 $soc = $rcp->thirdparty;
310 if (empty($cond_reglement_id) && !empty($soc->cond_reglement_supplier_id)) {
311 $cond_reglement_id = $soc->cond_reglement_supplier_id;
313 if (empty($mode_reglement_id) && !empty($soc->mode_reglement_supplier_id)) {
314 $mode_reglement_id = $soc->mode_reglement_supplier_id;
316 if (empty($fk_account) && !empty($soc->fk_account)) {
317 $fk_account = $soc->fk_account;
319 if (empty($transport_mode_id) && !empty($soc->transport_mode_id)) {
320 $transport_mode_id = $soc->transport_mode_id;
326 $objecttmp->socid = $rcp->socid;
327 $objecttmp->type = $objecttmp::TYPE_STANDARD;
328 $objecttmp->cond_reglement_id = $cond_reglement_id;
329 $objecttmp->mode_reglement_id = $mode_reglement_id;
330 $objecttmp->fk_account = $fk_account;
331 $objecttmp->transport_mode_id = $transport_mode_id;
334 $objecttmp->vat_reverse_charge = $soc->vat_reverse_charge;
336 $objecttmp->fk_project = $rcp->fk_project;
338 if (empty($createbills_onebythird)) {
339 $objecttmp->ref_supplier = $rcp->ref;
342 $objecttmp->ref_supplier = $langs->trans(
"Reception").
' '.
dol_print_date(
dol_now(),
'dayhourlog').
'-'.$rcp->socid;
346 if (empty($datefacture)) {
350 $objecttmp->date = $datefacture;
351 $objecttmp->origin =
'reception';
352 $objecttmp->origin_id = $id_reception;
355 if (empty($objecttmp->date_echeance)) {
356 $objecttmp->date_echeance = $objecttmp->calculate_date_lim_reglement();
359 $objecttmp->array_options = $rcp->array_options;
362 $rcp->fetchObjectLinked();
363 if (count($rcp->linkedObjectsIds[
'order_supplier']) > 0) {
364 foreach ($rcp->linkedObjectsIds[
'order_supplier'] as $key => $value) {
365 $objecttmp->linked_objects[
'order_supplier'] = $value;
369 $res = $objecttmp->create($user);
374 $lastref = $objecttmp->ref;
375 $lastid = $objecttmp->id;
377 $TFactThird[$rcp->socid] = $objecttmp;
378 $TFactThirdNbLines[$rcp->socid] = 0;
380 $langs->load(
"errors");
381 $errors[] = $rcp->ref.
' : '.$langs->trans($objecttmp->error);
386 if ($objecttmp->id > 0) {
387 $res = $objecttmp->add_object_linked($objecttmp->origin, $id_reception);
390 $errors[] = $objecttmp->error;
395 $lines = $rcp->lines;
396 if (empty($lines) && method_exists($rcp,
'fetch_lines')) {
398 $lines = $rcp->lines;
402 $num = count($lines);
404 for ($i = 0; $i < $num; $i++) {
405 $desc = ($lines[$i]->desc ? $lines[$i]->desc : $lines[$i]->libelle);
407 if (!empty($createbills_onebythird)) {
411 if ($lines[$i]->subprice < 0) {
414 $discount->fk_soc = $objecttmp->socid;
415 $discount->socid = $objecttmp->socid;
416 $discount->amount_ht = abs($lines[$i]->total_ht);
417 $discount->amount_tva = abs($lines[$i]->total_tva);
418 $discount->amount_ttc = abs($lines[$i]->total_ttc);
419 $discount->tva_tx = $lines[$i]->tva_tx;
420 $discount->fk_user = $user->id;
421 $discount->description = $desc;
422 $discountid = $discount->create($user);
423 if ($discountid > 0) {
424 $result = $objecttmp->insert_discount($discountid);
433 $product_type = ($lines[$i]->product_type ? $lines[$i]->product_type : 0);
436 if ($lines[$i]->date_debut_prevue) {
437 $date_start = $lines[$i]->date_debut_prevue;
439 if ($lines[$i]->date_debut_reel) {
440 $date_start = $lines[$i]->date_debut_reel;
442 if ($lines[$i]->date_start) {
443 $date_start = $lines[$i]->date_start;
447 if ($lines[$i]->date_fin_prevue) {
448 $date_end = $lines[$i]->date_fin_prevue;
450 if ($lines[$i]->date_fin_reel) {
451 $date_end = $lines[$i]->date_fin_reel;
453 if ($lines[$i]->date_end) {
454 $date_end = $lines[$i]->date_end;
457 if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) {
462 if (method_exists($lines[$i],
'fetch_optionals')) {
463 $lines[$i]->fetch_optionals();
464 $array_options = $lines[$i]->array_options;
467 $objecttmp->context[
'createfromclone'] =
'createfromclone';
471 if (!empty($createbills_onebythird)) {
472 $rang = $TFactThirdNbLines[$rcp->socid];
475 $result = $objecttmp->addline(
477 $lines[$i]->subprice,
479 $lines[$i]->localtax1_tx,
480 $lines[$i]->localtax2_tx,
482 $lines[$i]->fk_product,
483 $lines[$i]->remise_percent,
487 $lines[$i]->info_bits,
496 $lines[$i]->ref_supplier
499 $rcp->add_object_linked(
'facture_fourn_det', $result);
503 if (!empty($createbills_onebythird)) {
504 $TFactThirdNbLines[$rcp->socid]++;
512 if ($result > 0 && $lines[$i]->product_type == 9) {
513 $fk_parent_line = $result;
522 if (!empty($createbills_onebythird) && empty($TFactThird[$rcp->socid])) {
523 $TFactThird[$rcp->socid] = $objecttmp;
525 $TFact[$objecttmp->id] = $objecttmp;
530 $TAllFact = empty($createbills_onebythird) ? $TFact : $TFactThird;
533 if (!$error && $validate_invoices) {
534 $massaction = $action =
'builddoc';
535 foreach ($TAllFact as &$objecttmp) {
536 $result = $objecttmp->validate($user);
543 $id = $objecttmp->id;
544 $lastref = $objecttmp->ref;
549 $upload_dir = $conf->fournisseur->facture->dir_output;
550 $permissiontoadd = ($user->hasRight(
'fournisseur',
'facture',
'creer') || $user->hasRight(
'supplier_invoice',
'creer'));
555 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
559 $massaction = $action =
'confirm_createbills';
565 if ($nb_bills_created == 1) {
566 $texttoshow = $langs->trans(
'BillXCreated',
'{s1}');
567 $texttoshow = str_replace(
'{s1}',
'<a href="'.DOL_URL_ROOT.
'/fourn/facture/card.php?id='.urlencode((
string) ($lastid)).
'">'.$lastref.
'</a>', $texttoshow);
570 setEventMessages($langs->trans(
'BillCreated', $nb_bills_created),
null,
'mesgs');
576 $_GET[
"origin"] = $_POST[
"origin"];
577 $_GET[
"originid"] = $_POST[
"originid"];
591$form =
new Form($db);
592$companystatic =
new Societe($db);
598$helpurl =
'EN:Module_Receptions|FR:Module_Receptions|ES:Módulo_Receptiones';
599llxHeader(
'', $langs->trans(
'ListOfReceptions'), $helpurl,
'', 0, 0,
'',
'',
'',
'bodyforlist mod-reception page-list');
601$sql =
"SELECT e.rowid, e.ref, e.ref_supplier, e.date_reception as date_reception, e.date_delivery as delivery_date, l.date_delivery as date_reception2, e.fk_statut as status, e.billed,";
602$sql .=
" s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client,";
603$sql .=
" typent.code as typent_code,";
604$sql .=
" state.code_departement as state_code, state.nom as state_name,";
605$sql .=
" e.date_creation as date_creation, e.tms as date_modification";
607if (!empty($extrafields->attributes[
$object->table_element][
'label'])) {
608 foreach ($extrafields->attributes[
$object->table_element][
'label'] as $key => $val) {
609 $sql .= ($extrafields->attributes[
$object->table_element][
'type'][$key] !=
'separate' ?
", ef.".$key.
" as options_".$key :
'');
613$parameters = array();
614$reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
615$sql .= $hookmanager->resPrint;
619$sql .=
" FROM ".MAIN_DB_PREFIX.
"reception as e";
620if (!empty($extrafields->attributes[
$object->table_element][
'label']) && is_array($extrafields->attributes[
$object->table_element][
'label']) && count($extrafields->attributes[
$object->table_element][
'label'])) {
621 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element.
"_extrafields as ef on (e.rowid = ef.fk_object)";
623$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = e.fk_soc";
624$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_country as country on (country.rowid = s.fk_pays)";
625$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_typent as typent on (typent.id = s.fk_typent)";
626$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_departements as state on (state.rowid = s.fk_departement)";
627$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"element_element as ee ON e.rowid = ee.fk_source AND ee.sourcetype = 'reception' AND ee.targettype = 'delivery'";
628$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"delivery as l ON l.rowid = ee.fk_target";
630$parameters = array();
631$reshook = $hookmanager->executeHooks(
'printFieldListFrom', $parameters, $object);
632$sql .= $hookmanager->resPrint;
633$sql .=
" WHERE e.entity IN (".getEntity(
'reception').
")";
635 $sql .=
" AND e.fk_soc = ".((int) $socid);
637if ($search_status !=
'' && $search_status >= 0) {
638 $sql .=
" AND e.fk_statut = ".((int) $search_status);
640if ($search_billed !=
'' && $search_billed >= 0) {
641 $sql .=
' AND e.billed = '.((int) $search_billed);
652if ($search_country) {
653 $sql .=
" AND s.fk_pays IN (".$db->sanitize($search_country).
')';
655if ($search_type_thirdparty !=
'' && $search_type_thirdparty > 0) {
656 $sql .=
" AND s.fk_typent IN (".$db->sanitize($search_type_thirdparty).
')';
658if ($search_date_delivery_start) {
659 $sql .=
" AND e.date_delivery >= '".$db->idate($search_date_delivery_start).
"'";
661if ($search_date_delivery_end) {
662 $sql .=
" AND e.date_delivery <= '".$db->idate($search_date_delivery_end).
"'";
664if ($search_date_create_start) {
665 $sql .=
" AND e.date_creation >= '".$db->idate($search_date_create_start).
"'";
667if ($search_date_create_end) {
668 $sql .=
" AND e.date_creation <= '".$db->idate($search_date_create_end).
"'";
670if ($search_ref_rcp) {
673if ($search_ref_liv) {
676if ($search_company) {
679if ($search_ref_supplier) {
683 $sql .=
natural_search(array_keys($fieldstosearchall), $search_all);
696include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_sql.tpl.php';
698$parameters = array();
699$reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters);
700$sql .= $hookmanager->resPrint;
703$parameters = array();
704$reshook = $hookmanager->executeHooks(
'printFieldListHaving', $parameters, $object);
705$sql .= empty($hookmanager->resPrint) ?
"" :
" HAVING 1=1 ".$hookmanager->resPrint;
707$nbtotalofrecords =
'';
710 $sqlforcount = preg_replace(
'/^'.preg_quote($sqlfields,
'/').
'/',
'SELECT COUNT(*) as nbtotalofrecords', $sql);
711 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
712 $resql = $db->query($sqlforcount);
714 $objforcount = $db->fetch_object($resql);
715 $nbtotalofrecords = $objforcount->nbtotalofrecords;
720 if (($page * $limit) > $nbtotalofrecords) {
728$sql .= $db->order($sortfield, $sortorder);
730 $sql .= $db->plimit($limit + 1, $offset);
734$resql = $db->query($sql);
740$num = $db->num_rows($resql);
744$arrayofselected = is_array($toselect) ? $toselect : array();
748 $param .=
'&mode='.urlencode($mode);
750if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
751 $param .=
'&contextpage='.urlencode($contextpage);
753if ($limit > 0 && $limit != $conf->liste_limit) {
754 $param .=
'&limit='.((int) $limit);
757 $param .=
"&search_all=".urlencode($search_all);
759if ($search_ref_rcp) {
760 $param .=
"&search_ref_rcp=".urlencode($search_ref_rcp);
762if ($search_ref_liv) {
763 $param .=
"&search_ref_liv=".urlencode($search_ref_liv);
765if ($search_company) {
766 $param .=
"&search_company=".urlencode($search_company);
768if ($optioncss !=
'') {
769 $param .=
'&optioncss='.urlencode($optioncss);
771if ($search_billed !=
'' && $search_billed >= 0) {
772 $param .=
"&search_billed=".urlencode((
string) ($search_billed));
775 $param .=
"&search_town=".urlencode($search_town);
778 $param .=
"&search_zip=".urlencode($search_zip);
781 $param .=
"&search_state=".urlencode($search_state);
783if ($search_status !=
'') {
784 $param .=
"&search_status=".urlencode($search_status);
786if ($search_country) {
787 $param .=
"&search_country=".urlencode((
string) ($search_country));
789if ($search_type_thirdparty) {
790 $param .=
"&search_type_thirdparty=".urlencode((
string) ($search_type_thirdparty));
792if ($search_date_delivery_startday) {
793 $param .=
'&search_date_delivery_startday='.urlencode((
string) ($search_date_delivery_startday));
795if ($search_date_delivery_startmonth) {
796 $param .=
'&search_date_delivery_startmonth='.urlencode((
string) ($search_date_delivery_startmonth));
798if ($search_date_delivery_startyear) {
799 $param .=
'&search_date_delivery_startyear='.urlencode((
string) ($search_date_delivery_startyear));
801if ($search_date_delivery_endday) {
802 $param .=
'&search_date_delivery_endday='.urlencode((
string) ($search_date_delivery_endday));
804if ($search_date_delivery_endmonth) {
805 $param .=
'&search_date_delivery_endmonth='.urlencode((
string) ($search_date_delivery_endmonth));
807if ($search_date_delivery_endyear) {
808 $param .=
'&search_date_delivery_endyear='.urlencode((
string) ($search_date_delivery_endyear));
810if ($search_date_create_startday) {
811 $param .=
'&search_date_create_startday='.urlencode((
string) ($search_date_create_startday));
813if ($search_date_create_startmonth) {
814 $param .=
'&search_date_create_startmonth='.urlencode((
string) ($search_date_create_startmonth));
816if ($search_date_create_startyear) {
817 $param .=
'&search_date_create_startyear='.urlencode((
string) ($search_date_create_startyear));
819if ($search_date_create_endday) {
820 $param .=
'&search_date_create_endday='.urlencode((
string) ($search_date_create_endday));
822if ($search_date_create_endmonth) {
823 $param .=
'&search_date_create_endmonth='.urlencode((
string) ($search_date_create_endmonth));
825if ($search_date_create_endyear) {
826 $param .=
'&search_date_create_endyear='.urlencode((
string) ($search_date_create_endyear));
828if ($search_ref_supplier) {
829 $param .=
"&search_ref_supplier=".urlencode($search_ref_supplier);
832if ($search_array_options) {
833 foreach ($search_array_options as $key => $val) {
835 $tmpkey = preg_replace(
'/search_options_/',
'', $key);
836 if (is_array($val) && array_key_exists(
'start', $val) && array_key_exists(
'end', $val)) {
839 $param .=
'&search_options_'.$tmpkey.
'_startyear='.
dol_print_date($val[
'start'],
'%Y');
840 $param .=
'&search_options_'.$tmpkey.
'_startmonth='.
dol_print_date($val[
'start'],
'%m');
841 $param .=
'&search_options_'.$tmpkey.
'_startday='.
dol_print_date($val[
'start'],
'%d');
842 $param .=
'&search_options_'.$tmpkey.
'_starthour='.
dol_print_date($val[
'start'],
'%H');
843 $param .=
'&search_options_'.$tmpkey.
'_startmin='.
dol_print_date($val[
'start'],
'%M');
845 $param .=
'&search_options_'.$tmpkey.
'_endyear='.
dol_print_date($val[
'end'],
'%Y');
846 $param .=
'&search_options_'.$tmpkey.
'_endmonth='.
dol_print_date($val[
'end'],
'%m');
847 $param .=
'&search_options_'.$tmpkey.
'_endday='.
dol_print_date($val[
'end'],
'%d');
848 $param .=
'&search_options_'.$tmpkey.
'_endhour='.
dol_print_date($val[
'end'],
'%H');
849 $param .=
'&search_options_'.$tmpkey.
'_endmin='.
dol_print_date($val[
'end'],
'%M');
853 $param .=
'&search_options_'.$tmpkey.
'='.urlencode($val);
859$arrayofmassactions = array(
860 'builddoc' =>
img_picto(
'',
'pdf',
'class="pictofixedwidth"').$langs->trans(
"PDFMerge"),
864if ($user->hasRight(
'fournisseur',
'facture',
'creer') || $user->hasRight(
'supplier_invoice',
'creer')) {
865 $arrayofmassactions[
'createbills'] = $langs->trans(
"CreateInvoiceForThisReceptions");
867if (in_array($massaction, array(
'presend',
'createbills'))) {
868 $arrayofmassactions = array();
870$massactionbutton = $form->selectMassAction(
'', $arrayofmassactions);
877$newcardbutton .=
dolGetButtonTitle($langs->trans(
'ViewList'),
'',
'fa fa-bars imgforviewmode', $_SERVER[
"PHP_SELF"].
'?mode=common'.preg_replace(
'/(&|\?)*mode=[^&]+/',
'', $param),
'', ((empty($mode) || $mode ==
'common') ? 2 : 1), array(
'morecss' =>
'reposition'));
878$newcardbutton .=
dolGetButtonTitle($langs->trans(
'ViewKanban'),
'',
'fa fa-th-list imgforviewmode', $_SERVER[
"PHP_SELF"].
'?mode=kanban'.preg_replace(
'/(&|\?)*mode=[^&]+/',
'', $param),
'', ($mode ==
'kanban' ? 2 : 1), array(
'morecss' =>
'reposition'));
880$newcardbutton .=
dolGetButtonTitle($langs->trans(
'NewReception'),
'',
'fa fa-plus-circle', DOL_URL_ROOT.
'/reception/card.php?action=create2',
'', $user->hasRight(
'reception',
'creer'));
883print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">'.
"\n";
884if ($optioncss !=
'') {
885 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
887print
'<input type="hidden" name="token" value="'.newToken().
'">';
888print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
889print
'<input type="hidden" name="action" value="list">';
890print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
891print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
892print
'<input type="hidden" name="mode" value="'.$mode.
'">';
895print_barre_liste($langs->trans(
'ListOfReceptions'), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords,
'dollyrevert', 0, $newcardbutton,
'', $limit, 0, 0, 1);
897if ($massaction ==
'createbills') {
899 print
'<input type="hidden" name="massaction" value="confirm_createbills">';
901 print
'<table class="noborder" width="100%" >';
903 print
'<td class="titlefieldmiddle">';
904 print $langs->trans(
'DateInvoice');
907 print $form->selectDate(
'',
'', 0, 0, 0,
'', 1, 1);
912 print $langs->trans(
'CreateOneBillByThird');
915 print $form->selectyesno(
'createbills_onebythird',
'', 1);
920 print $langs->trans(
'ValidateInvoices');
924 print $form->selectyesno(
'validate_invoices', 0, 1, 1);
925 print
' ('.$langs->trans(
"AutoValidationNotPossibleWhenStockIsDecreasedOnInvoiceValidation").
')';
927 print $form->selectyesno(
'validate_invoices', 0, 1);
934 print
'<div class="center">';
935 print
'<input type="submit" class="button" id="createbills" name="createbills" value="'.$langs->trans(
'CreateInvoiceForThisReceptions').
'"> ';
936 print
'<input type="submit" class="button button-cancel" id="cancel" name="cancel" value="'.$langs->trans(
"Cancel").
'">';
942 foreach ($fieldstosearchall as $key => $val) {
943 $fieldstosearchall[$key] = $langs->trans($val);
945 print
'<div class="divsearchfieldfilter">'.$langs->trans(
"FilterOnInto", $search_all).implode(
', ', $fieldstosearchall).
'</div>';
950if (!empty($moreforfilter)) {
951 print
'<div class="liste_titre liste_titre_bydiv centpercent">';
952 print $moreforfilter;
953 $parameters = array(
'type' => $type);
954 $reshook = $hookmanager->executeHooks(
'printFieldPreListTitle', $parameters);
955 print $hookmanager->resPrint;
959$varpage = empty($contextpage) ? $_SERVER[
"PHP_SELF"] : $contextpage;
960$selectedfields = $form->multiSelectArrayWithCheckbox(
'selectedfields', $arrayfields, $varpage,
getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN'));
961if ($massactionbutton) {
962 $selectedfields .= $form->showCheckAddButtons(
'checkforselect', 1);
965print
'<div class="div-table-responsive">';
966print
'<table class="tagtable liste'.($moreforfilter ?
" listwithfilterbefore" :
"").
'">'.
"\n";
970print
'<tr class="liste_titre_filter">';
973 print
'<td class="liste_titre center maxwidthsearch">';
974 $searchpicto = $form->showFilterButtons(
'left');
979if (!empty($arrayfields[
'e.ref'][
'checked'])) {
980 print
'<td class="liste_titre">';
981 print
'<input class="flat" size="6" type="text" name="search_ref_rcp" value="'.$search_ref_rcp.
'">';
985if (!empty($arrayfields[
'e.ref_supplier'][
'checked'])) {
986 print
'<td class="liste_titre">';
987 print
'<input class="flat" size="6" type="text" name="search_ref_supplier" value="'.$search_ref_supplier.
'">';
991if (!empty($arrayfields[
's.nom'][
'checked'])) {
992 print
'<td class="liste_titre left">';
993 print
'<input class="flat" type="text" size="8" name="search_company" value="'.dol_escape_htmltag($search_company).
'">';
997if (!empty($arrayfields[
's.town'][
'checked'])) {
998 print
'<td class="liste_titre"><input class="flat" type="text" size="6" name="search_town" value="'.$search_town.
'"></td>';
1001if (!empty($arrayfields[
's.zip'][
'checked'])) {
1002 print
'<td class="liste_titre"><input class="flat" type="text" size="6" name="search_zip" value="'.$search_zip.
'"></td>';
1005if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1006 print
'<td class="liste_titre">';
1007 print
'<input class="flat" size="4" type="text" name="search_state" value="'.dol_escape_htmltag($search_state).
'">';
1011if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1012 print
'<td class="liste_titre center">';
1013 print $form->select_country($search_country,
'search_country',
'', 0,
'minwidth100imp maxwidth100');
1017if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1018 print
'<td class="liste_titre maxwidthonsmartphone center">';
1019 print $form->selectarray(
"search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 1, 0, 0,
'', 0, 0, 0, (!
getDolGlobalString(
'SOCIETE_SORT_ON_TYPEENT') ?
'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT),
'', 1);
1023if (!empty($arrayfields[
'e.date_delivery'][
'checked'])) {
1024 print
'<td class="liste_titre center">';
1025 print
'<div class="nowrapfordate">';
1026 print $form->selectDate($search_date_delivery_start ? $search_date_delivery_start : -1,
'search_date_delivery_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
1028 print
'<div class="nowrapfordate">';
1029 print $form->selectDate($search_date_delivery_end ? $search_date_delivery_end : -1,
'search_date_delivery_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
1033if (!empty($arrayfields[
'l.ref'][
'checked'])) {
1035 print
'<td class="liste_titre">';
1036 print
'<input class="flat" type="text" name="search_ref_liv" value="'.dol_escape_htmltag($search_ref_liv).
'"';
1039if (!empty($arrayfields[
'l.date_delivery'][
'checked'])) {
1041 print
'<td class="liste_titre center"> </td>';
1044include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_input.tpl.php';
1047$parameters = array(
'arrayfields' => $arrayfields);
1048$reshook = $hookmanager->executeHooks(
'printFieldListOption', $parameters);
1049print $hookmanager->resPrint;
1051if (!empty($arrayfields[
'e.datec'][
'checked'])) {
1052 print
'<td class="liste_titre center">';
1053 print
'<div class="nowrapfordate">';
1054 print $form->selectDate($search_date_create_start ? $search_date_create_start : -1,
'search_date_create_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
1056 print
'<div class="nowrapfordate">';
1057 print $form->selectDate($search_date_create_end ? $search_date_create_end : -1,
'search_date_create_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
1062if (!empty($arrayfields[
'e.tms'][
'checked'])) {
1063 print
'<td class="liste_titre">';
1067if (!empty($arrayfields[
'e.fk_statut'][
'checked'])) {
1068 print
'<td class="liste_titre right parentonrightofpage">';
1069 print $form->selectarray(
'search_status', array(
'0' => $langs->trans(
'StatusReceptionDraftShort'),
'1' => $langs->trans(
'StatusReceptionValidatedShort'),
'2' => $langs->trans(
'StatusReceptionProcessedShort')), $search_status, 1, 0, 0,
'', 0, 0, 0,
'',
'search_status width100 onrightofpage');
1073if (!empty($arrayfields[
'e.billed'][
'checked'])) {
1074 print
'<td class="liste_titre maxwidthonsmartphone center">';
1075 print $form->selectyesno(
'search_billed', $search_billed, 1, 0, 1);
1080 print
'<td class="liste_titre middle">';
1081 $searchpicto = $form->showFilterButtons();
1087$totalarray = array();
1088$totalarray[
'nbfield'] = 0;
1092print
'<tr class="liste_titre">';
1095 print_liste_field_titre($selectedfields, $_SERVER[
"PHP_SELF"],
"",
'',
'',
'', $sortfield, $sortorder,
'center maxwidthsearch ');
1096 $totalarray[
'nbfield']++;
1098if (!empty($arrayfields[
'e.ref'][
'checked'])) {
1099 print_liste_field_titre($arrayfields[
'e.ref'][
'label'], $_SERVER[
"PHP_SELF"],
"e.ref",
"", $param,
'', $sortfield, $sortorder);
1100 $totalarray[
'nbfield']++;
1102if (!empty($arrayfields[
'e.ref_supplier'][
'checked'])) {
1103 print_liste_field_titre($arrayfields[
'e.ref_supplier'][
'label'], $_SERVER[
"PHP_SELF"],
"e.ref_supplier",
"", $param,
'', $sortfield, $sortorder);
1104 $totalarray[
'nbfield']++;
1106if (!empty($arrayfields[
's.nom'][
'checked'])) {
1107 print_liste_field_titre($arrayfields[
's.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"s.nom",
"", $param,
'', $sortfield, $sortorder,
'left ');
1108 $totalarray[
'nbfield']++;
1110if (!empty($arrayfields[
's.town'][
'checked'])) {
1111 print_liste_field_titre($arrayfields[
's.town'][
'label'], $_SERVER[
"PHP_SELF"],
's.town',
'', $param,
'', $sortfield, $sortorder);
1112 $totalarray[
'nbfield']++;
1114if (!empty($arrayfields[
's.zip'][
'checked'])) {
1115 print_liste_field_titre($arrayfields[
's.zip'][
'label'], $_SERVER[
"PHP_SELF"],
's.zip',
'', $param,
'', $sortfield, $sortorder);
1116 $totalarray[
'nbfield']++;
1118if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1119 print_liste_field_titre($arrayfields[
'state.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"state.nom",
"", $param,
'', $sortfield, $sortorder);
1120 $totalarray[
'nbfield']++;
1122if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1123 print_liste_field_titre($arrayfields[
'country.code_iso'][
'label'], $_SERVER[
"PHP_SELF"],
"country.code_iso",
"", $param,
'', $sortfield, $sortorder,
'center ');
1124 $totalarray[
'nbfield']++;
1126if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1127 print_liste_field_titre($arrayfields[
'typent.code'][
'label'], $_SERVER[
"PHP_SELF"],
"typent.code",
"", $param,
'', $sortfield, $sortorder,
'center ');
1128 $totalarray[
'nbfield']++;
1130if (!empty($arrayfields[
'e.date_delivery'][
'checked'])) {
1131 print_liste_field_titre($arrayfields[
'e.date_delivery'][
'label'], $_SERVER[
"PHP_SELF"],
"e.date_delivery",
"", $param,
'', $sortfield, $sortorder,
'center ');
1132 $totalarray[
'nbfield']++;
1134if (!empty($arrayfields[
'l.ref'][
'checked'])) {
1135 print_liste_field_titre($arrayfields[
'l.ref'][
'label'], $_SERVER[
"PHP_SELF"],
"l.ref",
"", $param,
'', $sortfield, $sortorder);
1136 $totalarray[
'nbfield']++;
1138if (!empty($arrayfields[
'l.date_delivery'][
'checked'])) {
1139 print_liste_field_titre($arrayfields[
'l.date_delivery'][
'label'], $_SERVER[
"PHP_SELF"],
"l.date_delivery",
"", $param,
'', $sortfield, $sortorder,
'center ');
1140 $totalarray[
'nbfield']++;
1143include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_title.tpl.php';
1145$parameters = array(
'arrayfields' => $arrayfields,
'param' => $param,
'sortfield' => $sortfield,
'sortorder' => $sortorder,
'$totalarray' => &$totalarray);
1146$reshook = $hookmanager->executeHooks(
'printFieldListTitle', $parameters, $object);
1147print $hookmanager->resPrint;
1148if (!empty($arrayfields[
'e.datec'][
'checked'])) {
1149 print_liste_field_titre($arrayfields[
'e.datec'][
'label'], $_SERVER[
"PHP_SELF"],
"e.date_creation",
"", $param,
'', $sortfield, $sortorder,
'center nowrap ');
1150 $totalarray[
'nbfield']++;
1152if (!empty($arrayfields[
'e.tms'][
'checked'])) {
1153 print_liste_field_titre($arrayfields[
'e.tms'][
'label'], $_SERVER[
"PHP_SELF"],
"e.tms",
"", $param,
'', $sortfield, $sortorder,
'center nowrap ');
1154 $totalarray[
'nbfield']++;
1156if (!empty($arrayfields[
'e.fk_statut'][
'checked'])) {
1157 print_liste_field_titre($arrayfields[
'e.fk_statut'][
'label'], $_SERVER[
"PHP_SELF"],
"e.fk_statut",
"", $param,
'', $sortfield, $sortorder,
'right ');
1158 $totalarray[
'nbfield']++;
1160if (!empty($arrayfields[
'e.billed'][
'checked'])) {
1161 print_liste_field_titre($arrayfields[
'e.billed'][
'label'], $_SERVER[
"PHP_SELF"],
"e.billed",
"", $param,
'', $sortfield, $sortorder,
'center ');
1162 $totalarray[
'nbfield']++;
1166 print_liste_field_titre($selectedfields, $_SERVER[
"PHP_SELF"],
"",
'',
'',
'', $sortfield, $sortorder,
'center maxwidthsearch ');
1167 $totalarray[
'nbfield']++;
1175$savnbfield = $totalarray[
'nbfield'];
1176$totalarray = array();
1177$totalarray[
'nbfield'] = 0;
1178$imaxinloop = ($limit ? min($num, $limit) : $num);
1179while ($i < $imaxinloop) {
1180 $obj = $db->fetch_object($resql);
1185 $reception->id = $obj->rowid;
1186 $reception->ref = $obj->ref;
1188 $reception->statut = $obj->status;
1189 $reception->status = $obj->status;
1190 $reception->socid = $obj->socid;
1191 $reception->billed = $obj->billed;
1193 $reception->fetch_thirdparty();
1197 $companystatic->id = $obj->socid;
1198 $companystatic->ref = $obj->name;
1199 $companystatic->name = $obj->name;
1201 if ($mode ==
'kanban') {
1203 print
'<tr class="trkanban"><td colspan="'.$savnbfield.
'">';
1204 print
'<div class="box-flex-container kanban">';
1206 $object->date_delivery = $obj->delivery_date;
1211 if ($massactionbutton || $massaction) {
1213 if (in_array(
$object->id, $arrayofselected)) {
1217 print
$object->getKanbanView(
'', array(
'thirdparty' => $companystatic->getNomUrl(1),
'selected' => $selected));
1218 if ($i == min($num, $limit) - 1) {
1223 print
'<tr class="oddeven">';
1227 print
'<td class="nowrap center">';
1228 if ($massactionbutton || $massaction) {
1230 if (in_array($obj->rowid, $arrayofselected)) {
1233 print
'<input id="cb'.$obj->rowid.
'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.$obj->rowid.
'"'.($selected ?
' checked="checked"' :
'').
'>';
1238 if (!empty($arrayfields[
'e.ref'][
'checked'])) {
1239 print
'<td class="nowraponall">';
1240 print $reception->getNomUrl(1);
1243 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$reception->id;
1244 print $formfile->getDocumentsLink($reception->element, $filename, $filedir);
1248 $totalarray[
'nbfield']++;
1253 if (!empty($arrayfields[
'e.ref_supplier'][
'checked'])) {
1254 print
'<td class="tdoverflowmax200" title="'.dol_escape_htmltag($obj->ref_supplier).
'">';
1258 $totalarray[
'nbfield']++;
1263 if (!empty($arrayfields[
's.nom'][
'checked'])) {
1264 print
'<td class="tdoverflowmax150">';
1265 print $companystatic->getNomUrl(1);
1268 $totalarray[
'nbfield']++;
1272 if (!empty($arrayfields[
's.town'][
'checked'])) {
1273 print
'<td class="nocellnopadd tdoverflowmax200" title="'.dol_escape_htmltag($obj->town).
'">';
1277 $totalarray[
'nbfield']++;
1281 if (!empty($arrayfields[
's.zip'][
'checked'])) {
1282 print
'<td class="nocellnopadd center"">';
1286 $totalarray[
'nbfield']++;
1290 if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1291 print
"<td>".dol_escape_htmltag($obj->state_name).
"</td>\n";
1293 $totalarray[
'nbfield']++;
1297 if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1298 print
'<td class="center">';
1299 $tmparray =
getCountry($obj->fk_pays,
'all');
1303 $totalarray[
'nbfield']++;
1307 if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1308 print
'<td class="center">';
1309 if (!isset($typenArray) || empty($typenArray)) {
1310 $typenArray = $formcompany->typent_array(1);
1312 if (isset($typenArray[$obj->typent_code])) {
1313 print $typenArray[$obj->typent_code];
1317 $totalarray[
'nbfield']++;
1322 if (!empty($arrayfields[
'e.date_delivery'][
'checked'])) {
1323 print
'<td class="center">';
1331 $totalarray[
'nbfield']++;
1335 if (!empty($arrayfields[
'l.ref'][
'checked']) || !empty($arrayfields[
'l.date_delivery'][
'checked'])) {
1336 $reception->fetchObjectLinked($reception->id, $reception->element);
1338 if (count($reception->linkedObjects[
'delivery']) > 0) {
1339 $receiving = reset($reception->linkedObjects[
'delivery']);
1342 if (!empty($arrayfields[
'l.ref'][
'checked'])) {
1345 print !empty($receiving) ? $receiving->getNomUrl($db) :
'';
1349 if (!empty($arrayfields[
'l.date_delivery'][
'checked'])) {
1351 print
'<td class="center">';
1358 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_print_fields.tpl.php';
1361 $parameters = array(
'arrayfields' => $arrayfields,
'obj' => $obj,
'i' => $i,
'totalarray' => &$totalarray);
1362 $reshook = $hookmanager->executeHooks(
'printFieldListValue', $parameters);
1363 print $hookmanager->resPrint;
1365 if (!empty($arrayfields[
'e.datec'][
'checked'])) {
1366 print
'<td class="center nowraponall">';
1367 print
dol_print_date($db->jdate($obj->date_creation),
'dayhour',
'tzuserrel');
1370 $totalarray[
'nbfield']++;
1374 if (!empty($arrayfields[
'e.tms'][
'checked'])) {
1375 print
'<td class="center nowraponall">';
1376 print
dol_print_date($db->jdate($obj->date_modification),
'dayhour',
'tzuserrel');
1379 $totalarray[
'nbfield']++;
1383 if (!empty($arrayfields[
'e.fk_statut'][
'checked'])) {
1384 print
'<td class="right nowrap">'.$reception->LibStatut($obj->status, 5).
'</td>';
1386 $totalarray[
'nbfield']++;
1390 if (!empty($arrayfields[
'e.billed'][
'checked'])) {
1391 print
'<td class="center">'.yn($obj->billed).
'</td>';
1393 $totalarray[
'nbfield']++;
1399 print
'<td class="nowrap center">';
1400 if ($massactionbutton || $massaction) {
1403 if (in_array($obj->rowid, $arrayofselected)) {
1406 print
'<input id="cb'.$obj->rowid.
'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.$obj->rowid.
'"'.($selected ?
' checked="checked"' :
'').
'>';
1411 $totalarray[
'nbfield']++;
1422 foreach ($arrayfields as $key => $val) {
1423 if (!empty($val[
'checked'])) {
1427 print
'<tr><td colspan="'.$colspan.
'" class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</td></tr>';
1431include DOL_DOCUMENT_ROOT.
'/core/tpl/list_print_total.tpl.php';
1433$parameters = array(
'arrayfields' => $arrayfields,
'totalarray' => $totalarray,
'sql' => $sql);
1434$reshook = $hookmanager->executeHooks(
'printFieldListFooter', $parameters);
1435print $hookmanager->resPrint;
1443$hidegeneratedfilelistifempty = 1;
1444if ($massaction ==
'builddoc' || $action ==
'remove_file' || $show_files) {
1445 $hidegeneratedfilelistifempty = 0;
1449$urlsource = $_SERVER[
'PHP_SELF'].
'?sortfield='.$sortfield.
'&sortorder='.$sortorder;
1450$urlsource .= str_replace(
'&',
'&', $param);
1452$filedir = $diroutputmassaction;
1453$genallowed = $user->hasRight(
'reception',
'lire');
1454$delallowed = $user->hasRight(
'reception',
'creer');
1457print $formfile->showdocuments(
'massfilesarea_receipts',
'', $filedir, $urlsource, 0, $delallowed,
'', 1, 1, 0, 48, 1, $param, $title,
'',
'',
'',
null, $hidegeneratedfilelistifempty);
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 absolute discounts.
Class to manage suppliers invoices.
Class to manage receptions.
Class to manage third parties objects (customers, suppliers, prospects...)
getCountry($searchkey, $withcode='', $dbtouse=null, $outputlangs=null, $entconv=1, $searchlabel='')
Return country label, code or id from an id, code or label.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
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.
dolGetButtonTitle($label, $helpText='', $iconClass='fa fa-file', $url='', $id='', $status=1, $params=array())
Function dolGetButtonTitle : this kind of buttons are used in title in list.
natural_search($fields, $value, $mode=0, $nofirstand=0)
Generate natural SQL search string for a criteria (this criteria can be tested on one or several fiel...
dol_now($mode='auto')
Return date for now.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
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.
dol_concatdesc($text1, $text2, $forxml=false, $invert=false)
Concat 2 descriptions with a new line between them (second operand after first one with appropriate n...
dolGetButtonTitleSeparator($moreClass="")
Add space between dolGetButtonTitle.
print_barre_liste($title, $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.
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_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
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.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...
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.