29require
'../main.inc.php';
30require_once DOL_DOCUMENT_ROOT.
'/reception/class/reception.class.php';
31require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.commande.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.product.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
39$langs->loadLangs(array(
"sendings",
"receptions",
"deliveries",
'companies',
'bills',
'orders'));
41$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'shipmentlist';
43$socid =
GETPOST(
'socid',
'int');
45$massaction =
GETPOST(
'massaction',
'alpha');
46$toselect =
GETPOST(
'toselect',
'array');
47$optioncss =
GETPOST(
'optioncss',
'alpha');
48$mode =
GETPOST(
'mode',
'alpha');
50$diroutputmassaction = $conf->reception->dir_output.
'/temp/massgeneration/'.$user->id;
52$search_ref_rcp =
GETPOST(
"search_ref_rcp");
53$search_ref_liv =
GETPOST(
'search_ref_liv');
54$search_ref_supplier =
GETPOST(
'search_ref_supplier');
55$search_company =
GETPOST(
"search_company");
56$search_town =
GETPOST(
'search_town',
'alpha');
57$search_zip =
GETPOST(
'search_zip',
'alpha');
58$search_state =
GETPOST(
"search_state");
59$search_country =
GETPOST(
"search_country",
'int');
60$search_type_thirdparty =
GETPOST(
"search_type_thirdparty",
'int');
61$search_date_delivery_startday =
GETPOST(
'search_date_delivery_startday',
'int');
62$search_date_delivery_startmonth =
GETPOST(
'search_date_delivery_startmonth',
'int');
63$search_date_delivery_startyear =
GETPOST(
'search_date_delivery_startyear',
'int');
64$search_date_delivery_endday =
GETPOST(
'search_date_delivery_endday',
'int');
65$search_date_delivery_endmonth =
GETPOST(
'search_date_delivery_endmonth',
'int');
66$search_date_delivery_endyear =
GETPOST(
'search_date_delivery_endyear',
'int');
67$search_date_delivery_start =
dol_mktime(0, 0, 0, $search_date_delivery_startmonth, $search_date_delivery_startday, $search_date_delivery_startyear);
68$search_date_delivery_end =
dol_mktime(23, 59, 59, $search_date_delivery_endmonth, $search_date_delivery_endday, $search_date_delivery_endyear);
69$search_date_create_startday =
GETPOST(
'search_date_create_startday',
'int');
70$search_date_create_startmonth =
GETPOST(
'search_date_create_startmonth',
'int');
71$search_date_create_startyear =
GETPOST(
'search_date_create_startyear',
'int');
72$search_date_create_endday =
GETPOST(
'search_date_create_endday',
'int');
73$search_date_create_endmonth =
GETPOST(
'search_date_create_endmonth',
'int');
74$search_date_create_endyear =
GETPOST(
'search_date_create_endyear',
'int');
75$search_date_create_start =
dol_mktime(0, 0, 0, $search_date_create_startmonth, $search_date_create_startday, $search_date_create_startyear);
76$search_date_create_end =
dol_mktime(23, 59, 59, $search_date_create_endmonth, $search_date_create_endday, $search_date_create_endyear);
77$search_billed =
GETPOST(
"search_billed",
'int');
78$search_status =
GETPOST(
'search_status',
'intcomma');
79$search_all =
GETPOST(
'search_all',
'alphanohtml') ?
GETPOST(
'search_all',
'alphanohtml') :
GETPOST(
'sall',
'alphanohtml');
81$limit =
GETPOST(
'limit',
'int') ?
GETPOST(
'limit',
'int') : $conf->liste_limit;
82$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
83$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
84$page = GETPOSTISSET(
'pageplusone') ? (
GETPOST(
'pageplusone') - 1) :
GETPOST(
"page",
'int');
91if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
95$offset = $limit * $page;
103$hookmanager->initHooks(array(
'receptionlist'));
107$extrafields->fetch_name_optionals_label($object->table_element);
108$search_array_options = $extrafields->getOptionalsFromPost($object->table_element,
'',
'search_');
111$fieldstosearchall = array(
113 's.nom'=>
"ThirdParty",
114 'e.note_public'=>
'NotePublic',
116if (empty($user->socid)) {
117 $fieldstosearchall[
"e.note_private"] =
"NotePrivate";
120$checkedtypetiers = 0;
122 'e.ref'=>array(
'label'=>$langs->trans(
"Ref"),
'checked'=>1),
123 'e.ref_supplier'=>array(
'label'=>$langs->trans(
"RefSupplier"),
'checked'=>1),
124 's.nom'=>array(
'label'=>$langs->trans(
"ThirdParty"),
'checked'=>1),
125 's.town'=>array(
'label'=>$langs->trans(
"Town"),
'checked'=>1),
126 's.zip'=>array(
'label'=>$langs->trans(
"Zip"),
'checked'=>1),
127 'state.nom'=>array(
'label'=>$langs->trans(
"StateShort"),
'checked'=>0),
128 'country.code_iso'=>array(
'label'=>$langs->trans(
"Country"),
'checked'=>0),
129 'typent.code'=>array(
'label'=>$langs->trans(
"ThirdPartyType"),
'checked'=>$checkedtypetiers),
130 'e.date_delivery'=>array(
'label'=>$langs->trans(
"DateDeliveryPlanned"),
'checked'=>1),
131 'e.datec'=>array(
'label'=>$langs->trans(
"DateCreation"),
'checked'=>0,
'position'=>500),
132 'e.tms'=>array(
'label'=>$langs->trans(
"DateModificationShort"),
'checked'=>0,
'position'=>500),
133 'e.fk_statut'=>array(
'label'=>$langs->trans(
"Status"),
'checked'=>1,
'position'=>1000),
134 'e.billed'=>array(
'label'=>$langs->trans(
"Billed"),
'checked'=>1,
'position'=>1000,
'enabled'=>
'getDolGlobalString("WORKFLOW_BILL_ON_RECEPTION") !== "0"')
138include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_array_fields.tpl.php';
146$receptionid =
GETPOST(
'id',
'int');
148 $socid = $user->socid;
157if (
GETPOST(
'cancel',
'alpha')) {
161if (!
GETPOST(
'confirmmassaction',
'alpha') && $massaction !=
'presend' && $massaction !=
'confirm_createbills') {
165$parameters = array(
'socid'=>$socid);
166$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
171include DOL_DOCUMENT_ROOT.
'/core/actions_changeselectedfields.inc.php';
174if (
GETPOST(
'button_removefilter_x',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
175 $search_ref_supplier =
'';
176 $search_ref_rcp =
'';
177 $search_ref_liv =
'';
178 $search_company =
'';
182 $search_country =
'';
183 $search_type_thirdparty =
'';
184 $search_date_delivery_startday =
'';
185 $search_date_delivery_startmonth =
'';
186 $search_date_delivery_startyear =
'';
187 $search_date_delivery_endday =
'';
188 $search_date_delivery_endmonth =
'';
189 $search_date_delivery_endyear =
'';
190 $search_date_delivery_start =
'';
191 $search_date_delivery_end =
'';
192 $search_date_create_startday =
'';
193 $search_date_create_startmonth =
'';
194 $search_date_create_startyear =
'';
195 $search_date_create_endday =
'';
196 $search_date_create_endmonth =
'';
197 $search_date_create_endyear =
'';
198 $search_date_create_start =
'';
199 $search_date_create_end =
'';
203 $search_array_options = array();
206if (empty($reshook)) {
208 $objectclass =
'Reception';
209 $objectlabel =
'Receptions';
210 $permissiontoread = $user->rights->reception->lire;
211 $permissiontoadd = $user->rights->reception->creer;
212 $permissiontodelete = $user->rights->reception->supprimer;
213 $uploaddir = $conf->reception->multidir_output[$conf->entity];
214 include DOL_DOCUMENT_ROOT.
'/core/actions_massactions.inc.php';
216 if ($massaction ==
'confirm_createbills') {
217 $receptions =
GETPOST(
'toselect',
'array');
218 $createbills_onebythird =
GETPOST(
'createbills_onebythird',
'int');
219 $validate_invoices =
GETPOST(
'validate_invoices',
'int');
224 $TFactThird = array();
225 $TFactThirdNbLines = array();
227 $nb_bills_created = 0;
235 foreach ($receptions as $id_reception) {
238 if ($rcp->fetch($id_reception) <= 0 || $rcp->statut == $rcp::STATUS_DRAFT) {
239 $errors[] = $langs->trans(
'StatusOfRefMustBe', $rcp->ref, $langs->transnoentities(
"StatusReceptionValidatedShort"));
245 if (!empty($createbills_onebythird) && !empty($TFactThird[$rcp->socid])) {
247 $objecttmp = $TFactThird[$rcp->socid];
250 $objecttmp->fetchObjectLinked();
251 $rcp->fetchObjectLinked();
252 if (count($rcp->linkedObjectsIds[
'order_supplier']) > 0) {
253 foreach ($rcp->linkedObjectsIds[
'order_supplier'] as $key => $value) {
254 if (empty($objecttmp->linkedObjectsIds[
'order_supplier']) || !in_array($value, $objecttmp->linkedObjectsIds[
'order_supplier'])) {
255 $objecttmp->add_object_linked(
'order_supplier', $value);
260 $cond_reglement_id = 0;
261 $mode_reglement_id = 0;
263 $transport_mode_id = 0;
264 if (!empty($rcp->cond_reglement_id)) {
265 $cond_reglement_id = $rcp->cond_reglement_id;
267 if (!empty($rcp->mode_reglement_id)) {
268 $mode_reglement_id = $rcp->mode_reglement_id;
270 if (!empty($rcp->fk_account)) {
271 $fk_account = $rcp->fk_account;
273 if (!empty($rcp->transport_mode_id)) {
274 $transport_mode_id = $rcp->transport_mode_id;
277 if (empty($cond_reglement_id)
278 || empty($mode_reglement_id)
279 || empty($fk_account)
280 || empty($transport_mode_id)
282 if (!isset($rcp->supplier_order)) {
283 $rcp->fetch_origin();
287 if (!empty($rcp->commandeFournisseur)) {
288 $supplierOrder = $rcp->commandeFournisseur;
289 if (empty($cond_reglement_id) && !empty($supplierOrder->cond_reglement_id)) {
290 $cond_reglement_id = $supplierOrder->cond_reglement_id;
292 if (empty($mode_reglement_id) && !empty($supplierOrder->mode_reglement_id)) {
293 $mode_reglement_id = $supplierOrder->mode_reglement_id;
295 if (empty($fk_account) && !empty($supplierOrder->fk_account)) {
296 $fk_account = $supplierOrder->fk_account;
298 if (empty($transport_mode_id) && !empty($supplierOrder->transport_mode_id)) {
299 $transport_mode_id = $supplierOrder->transport_mode_id;
304 if (!empty($rcp->thirdparty)) {
305 $soc = $rcp->thirdparty;
306 if (empty($cond_reglement_id) && !empty($soc->cond_reglement_supplier_id)) {
307 $cond_reglement_id = $soc->cond_reglement_supplier_id;
309 if (empty($mode_reglement_id) && !empty($soc->mode_reglement_supplier_id)) {
310 $mode_reglement_id = $soc->mode_reglement_supplier_id;
312 if (empty($fk_account) && !empty($soc->fk_account)) {
313 $fk_account = $soc->fk_account;
315 if (empty($transport_mode_id) && !empty($soc->transport_mode_id)) {
316 $transport_mode_id = $soc->transport_mode_id;
322 $objecttmp->socid = $rcp->socid;
323 $objecttmp->type = $objecttmp::TYPE_STANDARD;
324 $objecttmp->cond_reglement_id = $cond_reglement_id;
325 $objecttmp->mode_reglement_id = $mode_reglement_id;
326 $objecttmp->fk_account = $fk_account;
327 $objecttmp->transport_mode_id = $transport_mode_id;
330 $objecttmp->vat_reverse_charge = $soc->vat_reverse_charge;
332 $objecttmp->fk_project = $rcp->fk_project;
334 if (empty($createbills_onebythird)) {
335 $objecttmp->ref_supplier = $rcp->ref;
338 $objecttmp->ref_supplier = $langs->trans(
"Reception").
' '.
dol_print_date(
dol_now(),
'dayhourlog').
'-'.$rcp->socid;
342 if (empty($datefacture)) {
346 $objecttmp->date = $datefacture;
347 $objecttmp->origin =
'reception';
348 $objecttmp->origin_id = $id_reception;
351 if (empty($objecttmp->date_echeance)) {
352 $objecttmp->date_echeance = $objecttmp->calculate_date_lim_reglement();
355 $objecttmp->array_options = $rcp->array_options;
358 $rcp->fetchObjectLinked();
359 if (count($rcp->linkedObjectsIds[
'order_supplier']) > 0) {
360 foreach ($rcp->linkedObjectsIds[
'order_supplier'] as $key => $value) {
361 $objecttmp->linked_objects[
'order_supplier'] = $value;
365 $res = $objecttmp->create($user);
370 $lastref = $objecttmp->ref;
371 $lastid = $objecttmp->id;
373 $TFactThird[$rcp->socid] = $objecttmp;
374 $TFactThirdNbLines[$rcp->socid] = 0;
376 $langs->load(
"errors");
377 $errors[] = $rcp->ref.
' : '.$langs->trans($objecttmp->error);
382 if ($objecttmp->id > 0) {
383 $res = $objecttmp->add_object_linked($objecttmp->origin, $id_reception);
386 $errors[] = $objecttmp->error;
391 $lines = $rcp->lines;
392 if (empty($lines) && method_exists($rcp,
'fetch_lines')) {
394 $lines = $rcp->lines;
398 $num = count($lines);
400 for ($i = 0; $i < $num; $i++) {
401 $desc = ($lines[$i]->desc ? $lines[$i]->desc : $lines[$i]->libelle);
403 if (!empty($createbills_onebythird)) {
407 if ($lines[$i]->subprice < 0) {
410 $discount->fk_soc = $objecttmp->socid;
411 $discount->amount_ht = abs($lines[$i]->total_ht);
412 $discount->amount_tva = abs($lines[$i]->total_tva);
413 $discount->amount_ttc = abs($lines[$i]->total_ttc);
414 $discount->tva_tx = $lines[$i]->tva_tx;
415 $discount->fk_user = $user->id;
416 $discount->description = $desc;
417 $discountid = $discount->create($user);
418 if ($discountid > 0) {
419 $result = $objecttmp->insert_discount($discountid);
428 $product_type = ($lines[$i]->product_type ? $lines[$i]->product_type : 0);
431 if ($lines[$i]->date_debut_prevue) {
432 $date_start = $lines[$i]->date_debut_prevue;
434 if ($lines[$i]->date_debut_reel) {
435 $date_start = $lines[$i]->date_debut_reel;
437 if ($lines[$i]->date_start) {
438 $date_start = $lines[$i]->date_start;
442 if ($lines[$i]->date_fin_prevue) {
443 $date_end = $lines[$i]->date_fin_prevue;
445 if ($lines[$i]->date_fin_reel) {
446 $date_end = $lines[$i]->date_fin_reel;
448 if ($lines[$i]->date_end) {
449 $date_end = $lines[$i]->date_end;
452 if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) {
457 if (method_exists($lines[$i],
'fetch_optionals')) {
458 $lines[$i]->fetch_optionals();
459 $array_options = $lines[$i]->array_options;
462 $objecttmp->context[
'createfromclone'];
466 if (!empty($createbills_onebythird)) {
467 $rang = $TFactThirdNbLines[$rcp->socid];
470 $result = $objecttmp->addline(
472 $lines[$i]->subprice,
474 $lines[$i]->localtax1_tx,
475 $lines[$i]->localtax2_tx,
477 $lines[$i]->fk_product,
478 $lines[$i]->remise_percent,
482 $lines[$i]->info_bits,
491 $lines[$i]->ref_supplier
494 $rcp->add_object_linked(
'facture_fourn_det', $result);
498 if (!empty($createbills_onebythird)) {
499 $TFactThirdNbLines[$rcp->socid]++;
507 if ($result > 0 && $lines[$i]->product_type == 9) {
508 $fk_parent_line = $result;
517 if (!empty($createbills_onebythird) && empty($TFactThird[$rcp->socid])) {
518 $TFactThird[$rcp->socid] = $objecttmp;
520 $TFact[$objecttmp->id] = $objecttmp;
525 $TAllFact = empty($createbills_onebythird) ? $TFact : $TFactThird;
528 if (!$error && $validate_invoices) {
529 $massaction = $action =
'builddoc';
530 foreach ($TAllFact as &$objecttmp) {
531 $result = $objecttmp->validate($user);
538 $id = $objecttmp->id;
539 $lastref = $objecttmp->ref;
544 $upload_dir = $conf->fournisseur->facture->dir_output;
545 $permissiontoadd = ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer);
548 $savobject = $object;
549 $object = $objecttmp;
550 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
551 $object = $savobject;
554 $massaction = $action =
'confirm_createbills';
560 if ($nb_bills_created == 1) {
561 $texttoshow = $langs->trans(
'BillXCreated',
'{s1}');
562 $texttoshow = str_replace(
'{s1}',
'<a href="'.DOL_URL_ROOT.
'/fourn/facture/card.php?id='.urlencode($lastid).
'">'.$lastref.
'</a>', $texttoshow);
565 setEventMessages($langs->trans(
'BillCreated', $nb_bills_created),
null,
'mesgs');
571 $_GET[
"origin"] = $_POST[
"origin"];
572 $_GET[
"originid"] = $_POST[
"originid"];
586$form =
new Form($db);
587$companystatic =
new Societe($db);
593$helpurl =
'EN:Module_Receptions|FR:Module_Receptions|ES:Módulo_Receptiones';
594llxHeader(
'', $langs->trans(
'ListOfReceptions'), $helpurl);
596$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,";
597$sql .=
" s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client,";
598$sql .=
" typent.code as typent_code,";
599$sql .=
" state.code_departement as state_code, state.nom as state_name,";
600$sql .=
" e.date_creation as date_creation, e.tms as date_update";
602if (!empty($extrafields->attributes[$object->table_element][
'label'])) {
603 foreach ($extrafields->attributes[$object->table_element][
'label'] as $key => $val) {
604 $sql .= ($extrafields->attributes[$object->table_element][
'type'][$key] !=
'separate' ?
", ef.".$key.
" as options_".$key :
'');
608$parameters = array();
609$reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
610$sql .= $hookmanager->resPrint;
614$sql .=
" FROM ".MAIN_DB_PREFIX.
"reception as e";
615if (!empty($extrafields->attributes[$object->table_element][
'label']) && is_array($extrafields->attributes[$object->table_element][
'label']) && count($extrafields->attributes[$object->table_element][
'label'])) {
616 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element.
"_extrafields as ef on (e.rowid = ef.fk_object)";
618$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = e.fk_soc";
619$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_country as country on (country.rowid = s.fk_pays)";
620$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_typent as typent on (typent.id = s.fk_typent)";
621$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_departements as state on (state.rowid = s.fk_departement)";
622$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"element_element as ee ON e.rowid = ee.fk_source AND ee.sourcetype = 'reception' AND ee.targettype = 'delivery'";
623$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"delivery as l ON l.rowid = ee.fk_target";
625$parameters = array();
626$reshook = $hookmanager->executeHooks(
'printFieldListFrom', $parameters, $object);
627$sql .= $hookmanager->resPrint;
628$sql .=
" WHERE e.entity IN (".getEntity(
'reception').
")";
630 $sql .=
" AND e.fk_soc = ".((int) $socid);
632if ($search_status !=
'' && $search_status >= 0) {
633 $sql .=
" AND e.fk_statut = ".((int) $search_status);
635if ($search_billed !=
'' && $search_billed >= 0) {
636 $sql .=
' AND e.billed = '.((int) $search_billed);
647if ($search_country) {
648 $sql .=
" AND s.fk_pays IN (".$db->sanitize($search_country).
')';
650if ($search_type_thirdparty !=
'' && $search_type_thirdparty > 0) {
651 $sql .=
" AND s.fk_typent IN (".$db->sanitize($search_type_thirdparty).
')';
653if ($search_date_delivery_start) {
654 $sql .=
" AND e.date_delivery >= '".$db->idate($search_date_delivery_start).
"'";
656if ($search_date_delivery_end) {
657 $sql .=
" AND e.date_delivery <= '".$db->idate($search_date_delivery_end).
"'";
659if ($search_date_create_start) {
660 $sql .=
" AND e.date_creation >= '".$db->idate($search_date_create_start).
"'";
662if ($search_date_create_end) {
663 $sql .=
" AND e.date_creation <= '".$db->idate($search_date_create_end).
"'";
665if ($search_ref_rcp) {
668if ($search_ref_liv) {
671if ($search_company) {
674if ($search_ref_supplier) {
678 $sql .=
natural_search(array_keys($fieldstosearchall), $search_all);
691include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_sql.tpl.php';
693$parameters = array();
694$reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters);
695$sql .= $hookmanager->resPrint;
698$parameters = array();
699$reshook = $hookmanager->executeHooks(
'printFieldListHaving', $parameters, $object);
700$sql .= empty($hookmanager->resPrint) ?
"" :
" HAVING 1=1 ".$hookmanager->resPrint;
702$nbtotalofrecords =
'';
705 $sqlforcount = preg_replace(
'/^'.preg_quote($sqlfields,
'/').
'/',
'SELECT COUNT(*) as nbtotalofrecords', $sql);
706 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
707 $resql = $db->query($sqlforcount);
709 $objforcount = $db->fetch_object($resql);
710 $nbtotalofrecords = $objforcount->nbtotalofrecords;
715 if (($page * $limit) > $nbtotalofrecords) {
723$sql .= $db->order($sortfield, $sortorder);
725 $sql .= $db->plimit($limit + 1, $offset);
729$resql = $db->query($sql);
735$num = $db->num_rows($resql);
739$arrayofselected = is_array($toselect) ? $toselect : array();
743 $param .=
'&mode='.urlencode($mode);
745if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
746 $param .=
'&contextpage='.urlencode($contextpage);
748if ($limit > 0 && $limit != $conf->liste_limit) {
749 $param .=
'&limit='.((int) $limit);
752 $param .=
"&search_all=".urlencode($search_all);
754if ($search_ref_rcp) {
755 $param .=
"&search_ref_rcp=".urlencode($search_ref_rcp);
757if ($search_ref_liv) {
758 $param .=
"&search_ref_liv=".urlencode($search_ref_liv);
760if ($search_company) {
761 $param .=
"&search_company=".urlencode($search_company);
763if ($optioncss !=
'') {
764 $param .=
'&optioncss='.urlencode($optioncss);
766if ($search_billed !=
'' && $search_billed >= 0) {
767 $param .=
"&search_billed=".urlencode($search_billed);
770 $param .=
"&search_town=".urlencode($search_town);
773 $param .=
"&search_zip=".urlencode($search_zip);
776 $param .=
"&search_state=".urlencode($search_state);
778if ($search_status !=
'') {
779 $param .=
"&search_status=".urlencode($search_status);
781if ($search_country) {
782 $param .=
"&search_country=".urlencode($search_country);
784if ($search_type_thirdparty) {
785 $param .=
"&search_type_thirdparty=".urlencode($search_type_thirdparty);
787if ($search_date_delivery_startday) {
788 $param .=
'&search_date_delivery_startday='.urlencode($search_date_delivery_startday);
790if ($search_date_delivery_startmonth) {
791 $param .=
'&search_date_delivery_startmonth='.urlencode($search_date_delivery_startmonth);
793if ($search_date_delivery_startyear) {
794 $param .=
'&search_date_delivery_startyear='.urlencode($search_date_delivery_startyear);
796if ($search_date_delivery_endday) {
797 $param .=
'&search_date_delivery_endday='.urlencode($search_date_delivery_endday);
799if ($search_date_delivery_endmonth) {
800 $param .=
'&search_date_delivery_endmonth='.urlencode($search_date_delivery_endmonth);
802if ($search_date_delivery_endyear) {
803 $param .=
'&search_date_delivery_endyear='.urlencode($search_date_delivery_endyear);
805if ($search_date_create_startday) {
806 $param .=
'&search_date_create_startday='.urlencode($search_date_create_startday);
808if ($search_date_create_startmonth) {
809 $param .=
'&search_date_create_startmonth='.urlencode($search_date_create_startmonth);
811if ($search_date_create_startyear) {
812 $param .=
'&search_date_create_startyear='.urlencode($search_date_create_startyear);
814if ($search_date_create_endday) {
815 $param .=
'&search_date_create_endday='.urlencode($search_date_create_endday);
817if ($search_date_create_endmonth) {
818 $param .=
'&search_date_create_endmonth='.urlencode($search_date_create_endmonth);
820if ($search_date_create_endyear) {
821 $param .=
'&search_date_create_endyear='.urlencode($search_date_create_endyear);
823if ($search_ref_supplier) {
824 $param .=
"&search_ref_supplier=".urlencode($search_ref_supplier);
827if ($search_array_options) {
828 foreach ($search_array_options as $key => $val) {
830 $tmpkey = preg_replace(
'/search_options_/',
'', $key);
831 if (is_array($val) && array_key_exists(
'start', $val) && array_key_exists(
'end', $val)) {
834 $param .=
'&search_options_'.$tmpkey.
'_startyear='.
dol_print_date($val[
'start'],
'%Y');
835 $param .=
'&search_options_'.$tmpkey.
'_startmonth='.
dol_print_date($val[
'start'],
'%m');
836 $param .=
'&search_options_'.$tmpkey.
'_startday='.
dol_print_date($val[
'start'],
'%d');
837 $param .=
'&search_options_'.$tmpkey.
'_starthour='.
dol_print_date($val[
'start'],
'%H');
838 $param .=
'&search_options_'.$tmpkey.
'_startmin='.
dol_print_date($val[
'start'],
'%M');
840 $param .=
'&search_options_'.$tmpkey.
'_endyear='.
dol_print_date($val[
'end'],
'%Y');
841 $param .=
'&search_options_'.$tmpkey.
'_endmonth='.
dol_print_date($val[
'end'],
'%m');
842 $param .=
'&search_options_'.$tmpkey.
'_endday='.
dol_print_date($val[
'end'],
'%d');
843 $param .=
'&search_options_'.$tmpkey.
'_endhour='.
dol_print_date($val[
'end'],
'%H');
844 $param .=
'&search_options_'.$tmpkey.
'_endmin='.
dol_print_date($val[
'end'],
'%M');
848 $param .=
'&search_options_'.$tmpkey.
'='.urlencode($val);
854$arrayofmassactions = array(
858if ($user->hasRight(
'fournisseur',
'facture',
'creer') || $user->hasRight(
'supplier_invoice',
'creer')) {
859 $arrayofmassactions[
'createbills'] = $langs->trans(
"CreateInvoiceForThisReceptions");
861if (in_array($massaction, array(
'presend',
'createbills'))) {
862 $arrayofmassactions = array();
864$massactionbutton = $form->selectMassAction(
'', $arrayofmassactions);
871$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'));
872$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'));
874$newcardbutton .=
dolGetButtonTitle($langs->trans(
'NewReception'),
'',
'fa fa-plus-circle', DOL_URL_ROOT.
'/reception/card.php?action=create2',
'', $user->hasRight(
'reception',
'creer'));
877print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">'.
"\n";
878if ($optioncss !=
'') {
879 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
881print
'<input type="hidden" name="token" value="'.newToken().
'">';
882print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
883print
'<input type="hidden" name="action" value="list">';
884print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
885print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
886print
'<input type="hidden" name="mode" value="'.$mode.
'">';
888print_barre_liste($langs->trans(
'ListOfReceptions'), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords,
'dollyrevert', 0, $newcardbutton,
'', $limit, 0, 0, 1);
890if ($massaction ==
'createbills') {
892 print
'<input type="hidden" name="massaction" value="confirm_createbills">';
894 print
'<table class="noborder" width="100%" >';
896 print
'<td class="titlefieldmiddle">';
897 print $langs->trans(
'DateInvoice');
900 print $form->selectDate(
'',
'',
'',
'',
'',
'', 1, 1);
905 print $langs->trans(
'CreateOneBillByThird');
908 print $form->selectyesno(
'createbills_onebythird',
'', 1);
913 print $langs->trans(
'ValidateInvoices');
917 print $form->selectyesno(
'validate_invoices', 0, 1, 1);
918 print
' ('.$langs->trans(
"AutoValidationNotPossibleWhenStockIsDecreasedOnInvoiceValidation").
')';
920 print $form->selectyesno(
'validate_invoices', 0, 1);
927 print
'<div class="center">';
928 print
'<input type="submit" class="button" id="createbills" name="createbills" value="'.$langs->trans(
'CreateInvoiceForThisReceptions').
'"> ';
929 print
'<input type="submit" class="button button-cancel" id="cancel" name="cancel" value="'.$langs->trans(
"Cancel").
'">';
935 foreach ($fieldstosearchall as $key => $val) {
936 $fieldstosearchall[$key] = $langs->trans($val);
938 print
'<div class="divsearchfieldfilter">'.$langs->trans(
"FilterOnInto", $search_all).join(
', ', $fieldstosearchall).
'</div>';
943if (!empty($moreforfilter)) {
944 print
'<div class="liste_titre liste_titre_bydiv centpercent">';
945 print $moreforfilter;
946 $parameters = array(
'type'=>$type);
947 $reshook = $hookmanager->executeHooks(
'printFieldPreListTitle', $parameters);
948 print $hookmanager->resPrint;
952$varpage = empty($contextpage) ? $_SERVER[
"PHP_SELF"] : $contextpage;
953$selectedfields = $form->multiSelectArrayWithCheckbox(
'selectedfields', $arrayfields, $varpage,
getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN',
''));
954if ($massactionbutton) {
955 $selectedfields .= $form->showCheckAddButtons(
'checkforselect', 1);
958print
'<div class="div-table-responsive">';
959print
'<table class="tagtable liste'.($moreforfilter ?
" listwithfilterbefore" :
"").
'">'.
"\n";
963print
'<tr class="liste_titre_filter">';
966 print
'<td class="liste_titre center maxwidthsearch">';
967 $searchpicto = $form->showFilterButtons(
'left');
972if (!empty($arrayfields[
'e.ref'][
'checked'])) {
973 print
'<td class="liste_titre">';
974 print
'<input class="flat" size="6" type="text" name="search_ref_rcp" value="'.$search_ref_rcp.
'">';
978if (!empty($arrayfields[
'e.ref_supplier'][
'checked'])) {
979 print
'<td class="liste_titre">';
980 print
'<input class="flat" size="6" type="text" name="search_ref_supplier" value="'.$search_ref_supplier.
'">';
984if (!empty($arrayfields[
's.nom'][
'checked'])) {
985 print
'<td class="liste_titre left">';
986 print
'<input class="flat" type="text" size="8" name="search_company" value="'.dol_escape_htmltag($search_company).
'">';
990if (!empty($arrayfields[
's.town'][
'checked'])) {
991 print
'<td class="liste_titre"><input class="flat" type="text" size="6" name="search_town" value="'.$search_town.
'"></td>';
994if (!empty($arrayfields[
's.zip'][
'checked'])) {
995 print
'<td class="liste_titre"><input class="flat" type="text" size="6" name="search_zip" value="'.$search_zip.
'"></td>';
998if (!empty($arrayfields[
'state.nom'][
'checked'])) {
999 print
'<td class="liste_titre">';
1000 print
'<input class="flat" size="4" type="text" name="search_state" value="'.dol_escape_htmltag($search_state).
'">';
1004if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1005 print
'<td class="liste_titre center">';
1006 print $form->select_country($search_country,
'search_country',
'', 0,
'minwidth100imp maxwidth100');
1010if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1011 print
'<td class="liste_titre maxwidthonsmartphone center">';
1012 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);
1016if (!empty($arrayfields[
'e.date_delivery'][
'checked'])) {
1017 print
'<td class="liste_titre center">';
1018 print
'<div class="nowrapfordate">';
1019 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'));
1021 print
'<div class="nowrapfordate">';
1022 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'));
1026if (!empty($arrayfields[
'l.ref'][
'checked'])) {
1028 print
'<td class="liste_titre">';
1029 print
'<input class="flat" type="text" name="search_ref_liv" value="'.dol_escape_htmltag($search_ref_liv).
'"';
1032if (!empty($arrayfields[
'l.date_delivery'][
'checked'])) {
1034 print
'<td class="liste_titre center"> </td>';
1037include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_input.tpl.php';
1040$parameters = array(
'arrayfields'=>$arrayfields);
1041$reshook = $hookmanager->executeHooks(
'printFieldListOption', $parameters);
1042print $hookmanager->resPrint;
1044if (!empty($arrayfields[
'e.datec'][
'checked'])) {
1045 print
'<td class="liste_titre center">';
1046 print
'<div class="nowrapfordate">';
1047 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'));
1049 print
'<div class="nowrapfordate">';
1050 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'));
1055if (!empty($arrayfields[
'e.tms'][
'checked'])) {
1056 print
'<td class="liste_titre">';
1060if (!empty($arrayfields[
'e.fk_statut'][
'checked'])) {
1061 print
'<td class="liste_titre right parentonrightofpage">';
1062 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');
1066if (!empty($arrayfields[
'e.billed'][
'checked'])) {
1067 print
'<td class="liste_titre maxwidthonsmartphone center">';
1068 print $form->selectyesno(
'search_billed', $search_billed, 1, 0, 1);
1073 print
'<td class="liste_titre middle">';
1074 $searchpicto = $form->showFilterButtons();
1080$totalarray = array();
1081$totalarray[
'nbfield'] = 0;
1085print
'<tr class="liste_titre">';
1088 print_liste_field_titre($selectedfields, $_SERVER[
"PHP_SELF"],
"",
'',
'',
'', $sortfield, $sortorder,
'center maxwidthsearch ');
1089 $totalarray[
'nbfield']++;
1091if (!empty($arrayfields[
'e.ref'][
'checked'])) {
1092 print_liste_field_titre($arrayfields[
'e.ref'][
'label'], $_SERVER[
"PHP_SELF"],
"e.ref",
"", $param,
'', $sortfield, $sortorder);
1093 $totalarray[
'nbfield']++;
1095if (!empty($arrayfields[
'e.ref_supplier'][
'checked'])) {
1096 print_liste_field_titre($arrayfields[
'e.ref_supplier'][
'label'], $_SERVER[
"PHP_SELF"],
"e.ref_supplier",
"", $param,
'', $sortfield, $sortorder);
1097 $totalarray[
'nbfield']++;
1099if (!empty($arrayfields[
's.nom'][
'checked'])) {
1100 print_liste_field_titre($arrayfields[
's.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"s.nom",
"", $param,
'', $sortfield, $sortorder,
'left ');
1101 $totalarray[
'nbfield']++;
1103if (!empty($arrayfields[
's.town'][
'checked'])) {
1104 print_liste_field_titre($arrayfields[
's.town'][
'label'], $_SERVER[
"PHP_SELF"],
's.town',
'', $param,
'', $sortfield, $sortorder);
1105 $totalarray[
'nbfield']++;
1107if (!empty($arrayfields[
's.zip'][
'checked'])) {
1108 print_liste_field_titre($arrayfields[
's.zip'][
'label'], $_SERVER[
"PHP_SELF"],
's.zip',
'', $param,
'', $sortfield, $sortorder);
1109 $totalarray[
'nbfield']++;
1111if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1112 print_liste_field_titre($arrayfields[
'state.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"state.nom",
"", $param,
'', $sortfield, $sortorder);
1113 $totalarray[
'nbfield']++;
1115if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1116 print_liste_field_titre($arrayfields[
'country.code_iso'][
'label'], $_SERVER[
"PHP_SELF"],
"country.code_iso",
"", $param,
'', $sortfield, $sortorder,
'center ');
1117 $totalarray[
'nbfield']++;
1119if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1120 print_liste_field_titre($arrayfields[
'typent.code'][
'label'], $_SERVER[
"PHP_SELF"],
"typent.code",
"", $param,
'', $sortfield, $sortorder,
'center ');
1121 $totalarray[
'nbfield']++;
1123if (!empty($arrayfields[
'e.date_delivery'][
'checked'])) {
1124 print_liste_field_titre($arrayfields[
'e.date_delivery'][
'label'], $_SERVER[
"PHP_SELF"],
"e.date_delivery",
"", $param,
'', $sortfield, $sortorder,
'center ');
1125 $totalarray[
'nbfield']++;
1127if (!empty($arrayfields[
'l.ref'][
'checked'])) {
1128 print_liste_field_titre($arrayfields[
'l.ref'][
'label'], $_SERVER[
"PHP_SELF"],
"l.ref",
"", $param,
'', $sortfield, $sortorder);
1129 $totalarray[
'nbfield']++;
1131if (!empty($arrayfields[
'l.date_delivery'][
'checked'])) {
1132 print_liste_field_titre($arrayfields[
'l.date_delivery'][
'label'], $_SERVER[
"PHP_SELF"],
"l.date_delivery",
"", $param,
'', $sortfield, $sortorder,
'center ');
1133 $totalarray[
'nbfield']++;
1136include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_title.tpl.php';
1138$parameters = array(
'arrayfields'=>$arrayfields,
'param'=>$param,
'sortfield'=>$sortfield,
'sortorder'=>$sortorder,
'$totalarray'=>&$totalarray);
1139$reshook = $hookmanager->executeHooks(
'printFieldListTitle', $parameters, $object);
1140print $hookmanager->resPrint;
1141if (!empty($arrayfields[
'e.datec'][
'checked'])) {
1142 print_liste_field_titre($arrayfields[
'e.datec'][
'label'], $_SERVER[
"PHP_SELF"],
"e.date_creation",
"", $param,
'', $sortfield, $sortorder,
'center nowrap ');
1143 $totalarray[
'nbfield']++;
1145if (!empty($arrayfields[
'e.tms'][
'checked'])) {
1146 print_liste_field_titre($arrayfields[
'e.tms'][
'label'], $_SERVER[
"PHP_SELF"],
"e.tms",
"", $param,
'', $sortfield, $sortorder,
'center nowrap ');
1147 $totalarray[
'nbfield']++;
1149if (!empty($arrayfields[
'e.fk_statut'][
'checked'])) {
1150 print_liste_field_titre($arrayfields[
'e.fk_statut'][
'label'], $_SERVER[
"PHP_SELF"],
"e.fk_statut",
"", $param,
'', $sortfield, $sortorder,
'right ');
1151 $totalarray[
'nbfield']++;
1153if (!empty($arrayfields[
'e.billed'][
'checked'])) {
1154 print_liste_field_titre($arrayfields[
'e.billed'][
'label'], $_SERVER[
"PHP_SELF"],
"e.billed",
"", $param,
'', $sortfield, $sortorder,
'center ');
1155 $totalarray[
'nbfield']++;
1159 print_liste_field_titre($selectedfields, $_SERVER[
"PHP_SELF"],
"",
'',
'',
'', $sortfield, $sortorder,
'center maxwidthsearch ');
1160 $totalarray[
'nbfield']++;
1168$savnbfield = $totalarray[
'nbfield'];
1169$totalarray = array();
1170$totalarray[
'nbfield'] = 0;
1171$imaxinloop = ($limit ? min($num, $limit) : $num);
1172while ($i < $imaxinloop) {
1173 $obj = $db->fetch_object($resql);
1178 $reception->id = $obj->rowid;
1179 $reception->ref = $obj->ref;
1181 $reception->statut = $obj->status;
1182 $reception->status = $obj->status;
1183 $reception->socid = $obj->socid;
1184 $reception->billed = $obj->billed;
1186 $reception->fetch_thirdparty();
1188 $object = $reception;
1190 $companystatic->id = $obj->socid;
1191 $companystatic->ref = $obj->name;
1192 $companystatic->name = $obj->name;
1194 if ($mode ==
'kanban') {
1196 print
'<tr class="trkanban"><td colspan="'.$savnbfield.
'">';
1197 print
'<div class="box-flex-container kanban">';
1199 $object->date_delivery = $obj->delivery_date;
1200 $object->town = $obj->town;
1204 if ($massactionbutton || $massaction) {
1206 if (in_array($object->id, $arrayofselected)) {
1210 print $object->getKanbanView(
'', array(
'thirdparty' => $companystatic->getNomUrl(1),
'selected' => $selected));
1211 if ($i == min($num, $limit) - 1) {
1216 print
'<tr class="oddeven">';
1220 print
'<td class="nowrap center">';
1221 if ($massactionbutton || $massaction) {
1223 if (in_array($obj->rowid, $arrayofselected)) {
1226 print
'<input id="cb'.$obj->rowid.
'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.$obj->rowid.
'"'.($selected ?
' checked="checked"' :
'').
'>';
1231 if (!empty($arrayfields[
'e.ref'][
'checked'])) {
1232 print
'<td class="nowraponall">';
1233 print $reception->getNomUrl(1);
1236 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$reception->id;
1237 print $formfile->getDocumentsLink($reception->element, $filename, $filedir);
1241 $totalarray[
'nbfield']++;
1246 if (!empty($arrayfields[
'e.ref_supplier'][
'checked'])) {
1247 print
'<td class="tdoverflowmax200" title="'.dol_escape_htmltag($obj->ref_supplier).
'">';
1251 $totalarray[
'nbfield']++;
1256 if (!empty($arrayfields[
's.nom'][
'checked'])) {
1257 print
'<td class="tdoverflowmax150">';
1258 print $companystatic->getNomUrl(1);
1261 $totalarray[
'nbfield']++;
1265 if (!empty($arrayfields[
's.town'][
'checked'])) {
1266 print
'<td class="nocellnopadd tdoverflowmax200" title="'.dol_escape_htmltag($obj->town).
'">';
1270 $totalarray[
'nbfield']++;
1274 if (!empty($arrayfields[
's.zip'][
'checked'])) {
1275 print
'<td class="nocellnopadd center"">';
1279 $totalarray[
'nbfield']++;
1283 if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1284 print
"<td>".dol_escape_htmltag($obj->state_name).
"</td>\n";
1286 $totalarray[
'nbfield']++;
1290 if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1291 print
'<td class="center">';
1292 $tmparray =
getCountry($obj->fk_pays,
'all');
1296 $totalarray[
'nbfield']++;
1300 if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1301 print
'<td class="center">';
1302 if (!isset($typenArray) || empty($typenArray)) {
1303 $typenArray = $formcompany->typent_array(1);
1305 if (isset($typenArray[$obj->typent_code])) {
1306 print $typenArray[$obj->typent_code];
1310 $totalarray[
'nbfield']++;
1315 if (!empty($arrayfields[
'e.date_delivery'][
'checked'])) {
1316 print
'<td class="center">';
1324 $totalarray[
'nbfield']++;
1328 if (!empty($arrayfields[
'l.ref'][
'checked']) || !empty($arrayfields[
'l.date_delivery'][
'checked'])) {
1329 $reception->fetchObjectLinked($reception->id, $reception->element);
1331 if (count($reception->linkedObjects[
'delivery']) > 0) {
1332 $receiving = reset($reception->linkedObjects[
'delivery']);
1335 if (!empty($arrayfields[
'l.ref'][
'checked'])) {
1338 print !empty($receiving) ? $receiving->getNomUrl($db) :
'';
1342 if (!empty($arrayfields[
'l.date_delivery'][
'checked'])) {
1344 print
'<td class="center">';
1351 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_print_fields.tpl.php';
1354 $parameters = array(
'arrayfields'=>$arrayfields,
'obj'=>$obj,
'i'=>$i,
'totalarray'=>&$totalarray);
1355 $reshook = $hookmanager->executeHooks(
'printFieldListValue', $parameters);
1356 print $hookmanager->resPrint;
1358 if (!empty($arrayfields[
'e.datec'][
'checked'])) {
1359 print
'<td class="center nowraponall">';
1360 print
dol_print_date($db->jdate($obj->date_creation),
'dayhour',
'tzuserrel');
1363 $totalarray[
'nbfield']++;
1367 if (!empty($arrayfields[
'e.tms'][
'checked'])) {
1368 print
'<td class="center nowraponall">';
1369 print
dol_print_date($db->jdate($obj->date_update),
'dayhour',
'tzuserrel');
1372 $totalarray[
'nbfield']++;
1376 if (!empty($arrayfields[
'e.fk_statut'][
'checked'])) {
1377 print
'<td class="right nowrap">'.$reception->LibStatut($obj->status, 5).
'</td>';
1379 $totalarray[
'nbfield']++;
1383 if (!empty($arrayfields[
'e.billed'][
'checked'])) {
1384 print
'<td class="center">'.yn($obj->billed).
'</td>';
1386 $totalarray[
'nbfield']++;
1392 print
'<td class="nowrap center">';
1393 if ($massactionbutton || $massaction) {
1396 if (in_array($obj->rowid, $arrayofselected)) {
1399 print
'<input id="cb'.$obj->rowid.
'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.$obj->rowid.
'"'.($selected ?
' checked="checked"' :
'').
'>';
1404 $totalarray[
'nbfield']++;
1415 foreach ($arrayfields as $key => $val) {
1416 if (!empty($val[
'checked'])) {
1420 print
'<tr><td colspan="'.$colspan.
'" class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</td></tr>';
1424include DOL_DOCUMENT_ROOT.
'/core/tpl/list_print_total.tpl.php';
1426$parameters = array(
'arrayfields'=>$arrayfields,
'totalarray' => $totalarray,
'sql'=>$sql);
1427$reshook = $hookmanager->executeHooks(
'printFieldListFooter', $parameters);
1428print $hookmanager->resPrint;
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=0, $outputlangs='', $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 informations (by default a local PHP server timestamp) Re...
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
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_print_date($time, $format='', $tzoutput='auto', $outputlangs='', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
dol_now($mode='auto')
Return date for now.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by second index function, which produces ascending (default) or descending output...
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.
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.
print_barre_liste($titre, $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.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
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...
publicphonebutton2 phonegreen basiclayout basiclayout TotalHT VATCode TotalVAT TotalLT1 TotalLT2 TotalTTC TotalHT clearboth nowraponall right right takeposterminal SELECT e rowid
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.