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 ?
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).
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
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)
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.
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.
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 ›
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
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.
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.
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.
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.