Liste issue d'une table

Bonjour,
Dans le module Adhérent, j’aimerais associer un adhérent à une ou plusieurs « fiches » « parent ».
J’ai pour cela, prévu de saisir la fiche du parent comme un adhérent avec un type particulier.
J’aimerais créer un attribut supplémentaire (liste issue d’une table) pour justement associer un adhérent mineur à la « fiche » de son père et/ou de sa mère.

1/ Je n’arrive pas à trouver d’aide sur la syntaxe de récupération de cette liste
pourriez-vous m’orienter ?

2/ Est-il possible de faire apparaître dans le résultat de cette liste : Prénom, Nom, Téléphone ?

3/ Avez-vous été confronté à cette problématique (associer un parent à un adhérent) ?
Si oui, avez-vous utilisé une liste issue d’une table ou trouvé une solution différente ?

Merci de vos réponses

Bonjour,

Il est possible d’ajouter un attribut supplémentaire de type ‹ liste issue d’une table › qui permet d’avoir le comportement voulu (si j’ai bien compris la demande).

La syntaxe de ‹ liste issue d’une table › est obscure et l’info bulle n’aide guère … Dans le cas donné la syntaxe de récupération de la demande serait (après tâtonnement) de cette forme :
adherent:lastname|firstname|phone:rowid:: where fk_adherent_type=XXXXX
où les XXXXXX correspondent au type d’adhérent que l’on peut trouver dans la table llx_adherent_type ou dans la page ‹ types d’adhérents › (/dolibarr/adherents/type.php).

Cordialement

Florent Maillard

Bonjour Florent,
Merci de votre réponse. Elle va déjà plus loin de ce que j’avais pu faire.
Il apparaît bien une information dans ma liste déroulante mais (Not defined) pour chaque occurrence trouvée dans la BdD.

J’ai supprimé la clause WHERE et j’ai le même résultat (plus d’occurrences forcément) (Not defined).

On est sur la bonne voie il me semble. Est-ce que ça fonctionnait chez vous ?

Je me suis débrouillé
J’ai créé une vue, ce qui me permet de formater le texte de sortie du type id -> NOM Prenom numTel
Ca fonctionne parfaitement.
Merci Florent de m’avoir mis sur la voie

Bonjour,

Moi aussi j’aurais besoin d’utiliser un champ de ce type.
J’ai ma fiche de prospects, et j’aimerais ajouter un champ « source » qui me permettrait de savoir l’origine de ces prospects.
Mais je n’ai pas de table « source » dans la base.
Ma question: dois-je créer cette table « manuellement », dans phpmyadmin ? Ou est-ce qu’il y a un endroit dans l’appli qui permette de le faire ?

Et une fois cette table créée, est-ce que je dois ajouter les enregistrements manuellement ou y a-t-il un endroit pour le faire dans dolibarr ? (cette question découle directement de la 1ère en fait)

Merci de votre aide.

Bonjour
La réponse est oui dans votre cas, mais il existe un module que j’ai développé (customTabs) qui permet de créer des ‹ dictionnaires › sous forme de liste ou d’ensemble de variable.
L’avantage de cette solution est de pouvoir gérer ce type de table directement dans dolibarr.

La documentation de customTabs n’est pas à jour sur ce sujet, je vais faire le nécessaire

Merci de votre réponse. J’utiliserai certainement votre module dans le futur, mais pour l’instant je lance mon activité et je n’ai pas de budget. Je vais donc devoir faire ça à la main.

J’ai donc créé ma table llx_c_source avec les champs:
rowid
libelle
active

Et dans la case « valeur » de la liste issur d’une case, j’ai mis ça:

llx_c_source:libelle:rowid::where active=‹ 1 ›

Et pourtant, lorsque j’ouvre ma fiche prospect, j’ai bien le champ source, mais la liste est vide.

Pourriez-vous me dire pourquoi ?J’ai certainement fait quelque chose de travers, mais je ne vois pas quoi.

Un grand merci.

de mémoire, il n’eest pas nécessaire de saisir le where

Lorsque je ne mets pas de where, ça ne fonctionne pas non plus.
En outre, le where m’est utile puisque je ne veux afficher que les sources dont le champ active vaut 1.

N’y a-t-il pas une doc là-dessus ?

essayer cela :
llx_c_source:libelle:rowid::active=1

1 « J'aime »

En fait j’ai vu un message d’erreur s’afficher: apparemment le script cherchait une table llx_llx_c_source…
Donc j’ai corrigé et j’ai mis:
c_source:libelle:rowid::where active=‹ 1 ›

Et là, ça a marché !

1 « J'aime »

Juste pour information, est ce que la création d’un attribut supplémentaire avec liste provenance table n’est pas effacée dans la vue, propale, commande … lors d’une mise à jour de Dolibarr
Merci d’avance

Bonjour,

Je me permets de faire remonter ce sujet, pour (encore) un soucis d’Extrafield -> Liste issue d’une table.

Sur Dolibarr 3.6.2.

Je souhaite tout bonnement avoir un Extrafield qui affiche la liste des sociétés, filtrée avec critère fk_typent=101 (un Type de société dont j’ai ajouté la définition dans le Dictionnaire).

J’ai fais le tour de toutes les syntaxes imaginables, mais impossible de filtrer la liste.

En toute logique, la ligne qui suit aurait du marcher : societe:nom:rowid::fk_typent=101

J’ai essayé également : societe:nom:rowid::fk_typent=‹ 101 › // societe:nom:rowid:: fk_typent=‹ 101 › // societe:nom:rowid:: where fk_typent=‹ 101 › // etc.

Une bonne âme pour m’aider ?

Bonjour,
Je n’ai jamais réussi à faire fonctionner les listes issues d’une table pour les infos choisies.
Pour pallier à cette mise en place plus que limitée, j’ai créé une vue via une requête SELECT et concat.
J’utilise la liste issue d’une « vue », en l’occurrence.
Ça fonctionne très bien.

1 « J'aime »

Merci de votre retour,

Pourriez-vous spécifier le contenu de votre champ afin qu’il affiche une liste issue d’une vue ?

ma_vue:libelle:rowid
Ca reste identique, sans clause where (pas reussi à la faire fonctionner).

L’avantage est que vous stipuler les infos voulues dans la clause WHERE de la requête SELECT sur la vue avec un ORDER BY.

La vue ne risque rien puisque les mises à jour se font sur les tables connues par le systeme.

1 « J'aime »

Je teste ça, merci beaucoup !

Je n’avais pas lu dans la doc qu’un admin de site dolibarr doit avoir des connaissances avancées à la fois de MySql et des tables de Dolibarrr, pour pouvoir gérer les vues nécessaires aux extrafields…

Est-il normal que le fonctionnement des extrafields pour le type « Liste issue d’une table » ne soit pas celui annoncé dans la bulle d’aide ?

Cela étant, le filtrage par une vue correspondant au besoin est très efficace.

Un exemple de création de vue

L’exemple promis

Il n’est pas nécessaire d’être informaticien pour utiliser un ordinateur.
Et pourtant, si vos connaissances vous le permettent, vous irez plus loin dans son utilisation.
Idem pour dolibarr.
Vous pouvez créer une vue via l’assistant phpmyadmin.

1 « J'aime »