Extrafield, comment récupérer le texte d’une liste?

Bonjour à tous,

Pour des besoins spécifique à mon activité, je voudrais dans certains cas faire apparaitre un attribut supplémentaire sur les produits.
Pour ce faire, j’utilise un extrafield et ça marche nickel, sauf pour un qui est une liste et où je récupère le numéro de l’index au lieu du texte.
Mon attribut s’appelle code, j’ai ajouter les différents code dans une liste de la forme:
1,01
2,02
3,03
En suite j’ai donné la valeur 1 pour le champ visibilité et la valeur 4 pour le champ afficher sur PDF.
Comment faire donc pour récupérer le texte d’un élément d’une liste que l’on a sélectionné pour afficher dans la facture pdf à travers la requete jointure entre la table llx_product_extrafields et llx_extrafields?

J’ai ajouter mon script dans le fichier pdf.lib.php sous la description du produit de cette manière sur la ligne 1645 dans la fonction pdf_getlinedesc.

	$sqlcode = "select code from ".MAIN_DB_PREFIX."product_extrafields where fk_object  = ".$idprod; 
	$resqlcode = $db->query($sqlcode);
	if($resqlcode)
	{
		$objcode = $db->fetch_object($resqlcode);
		$codeprod = $objcode->code ;
		$libelleproduitservice .= '<br>'.'Code : ' .$codeprod ;
	}

Je travail sur dolibarr 16.0.4, OS windows 11, apache 3.3.0
Merci d’avance!

Bonjour,

Une des solutions simples, c’est de faire la liste comme ceci:
01,01
02,02
03,03

Bonjour,
Merci pour votre réponse.
Je pense que je n’ai pas bien expliqué mon cas.

En fait, Oui j’ai essayer cette façon avant mais c’est pas la bonne solution.
J’ai beaucoup trop de code a renommée et j’ai besoin de trouver une autre manière pour afficher la valeur après le nombre.
Elle doit bien être enregistrés en SQL dans une table llx_extrafields, et je pense que j’ai besoin de la bonne requête jointure avec la table llx_product_extrafields!

Merci.

Salut,
Je ne pense pas que tu puisses en SQL, car les param sont enregistrés en dur dans une cell de la table llx_extrafields.
Une des solutions est de récupérer le texte de l’extrafield avec la fonction :
$extrafields->showOutputField qui te permettra à partir du nom de l’extrafield, de l’ID sélectionné et de table_element de récupérer la valeur du texte.

A+