Entrepôt par défaut directement dans la liste des produits

Bonjour,
Je souhaite afficher l’entrepôt par défaut et ou mieux la liste des entrepôts ou se trouve la pièce directement dans la liste des produits ce qui éviterait de cliquer pour ouvrir la fiche a chaque fois.

Ca n’a pas l’air d’etre prévu de base a ce moment la il est possible de faire un attribut supplémentaire qui irai chercher cette info « lien vers un objet » Inventory:inventory/class/inventory.class.php

Merci d’avance si vous avez une solution.

Rémy

Même besoin actuellement, je cherche le moyen de le faire.
2 possibilités à première vue :

  • soit passer par un extrafield, mais pour pouvoir créer le lien, je bloque car soit il faut que le champ soit déjà renseigné, soit on arriverait qu’à afficher le nom de l’entrepôt sans lien. Me trompes-je ?
  • soit passer par un hook dans mon module de personnalisation de mon dolibarr.

Quelqu’un d’autre a t il une autre suggestion ?

Bonjour,
Finalement j’ai fait un extra field « emplacement » et celui ci je peux l’ajouter !
Et maintenant c’est possible de filtrer comme je voulais.
De toute facon ca n’était pas gérable d’avoir 500 entrepots … :slight_smile:

J’ai commencé à tester avec un extrafield, avec la formule : (($reloadedobj = new Product($db)) && ($reloadedobj->fetchNoCompute($objectoffield->id) > 0) && ($secondloadedobj = new Entrepot($db)) && ($secondloadedobj->fetchNoCompute($reloadedobj->fk_default_warehouse) > 0)) ? $secondloadedobj->label : « Pas d’entrepôt par défaut ».
Dans ma fiche article, j’ai bien le nom de l’entrepôt par défaut qui s’affiche conformément à celui qui est renseigné. En revanche, dans ma liste, l’affichage pour l’ensemble de mes articles est en « Pas d’entrepôt par défaut ». Très bizarre…

Bonjour,

Je ne sais pas quelle est la version de Dolibarr que vous utilisez. Dans la v18, dans ce cas, $objectofffield n’était pas directement disponible. La solution suivante pourrait être utile:

( ($objectoffield = new Product($db)) && ($objectoffield->fetchNoCompute($object->id)) && ($reloadedobj = new Entrepot($db)) && ($reloadedobj->fetchNoCompute($objectoffield->fk_default_warehouse) > 0) ? $reloadedobj->label : '-')

En effet, je viens de trouver ma réponse, il y a eu une correction récente.
Je suis en 18.0.3, et depuis, la correction apportée est dans github

Bon ca marche avec mes entrepôts par défaut en apportant le correctif (en attendant ma prochaine montée de version). En revanche, j’ai d’autres champs calculés qui n’apparaissent pas encore dans ma liste (des quantités, je me demande si le code de core/tpl/extrafields_list_print_fields.tpl.php n’yest pas pour qqch
if ($extrafields->attributes[$extrafieldsobjectkey][‹ computed ›][$key]) {
//global $obj, $object;
//var_dump($extrafields->attributes[$extrafieldsobjectkey][‹ computed ›][$key]);
//var_dump($obj);
//var_dump($extrafields->attributes[$extrafieldsobjectkey][‹ computed ›][$key]);
$objectoffield = $object; //For compatibily with the computed formula
$value = dol_eval($extrafields->attributes[$extrafieldsobjectkey][‹ computed ›][$key], 1, 1, ‹ 0 ›);
if (is_numeric(price2num($value)) && $extrafields->attributes[$extrafieldsobjectkey][‹ totalizable ›][$key]) {
$obj->$tmpkey = price2num($value);
}
//var_dump($value);
}

			$valuetoshow = $extrafields->showOutputField($key, $value, '', $extrafieldsobjectkey);
			$title = dol_string_nohtmltag($valuetoshow);