Rechercher dans des extrafield dans le $SEL$ lorsque l'on créer un extrafields de type liste issue d'une table

Bonjour à tous,

Je suis actuellement en train de travailler dur l’utilisation du module projet. Je souhaite avoir la notion de projet parent des projet dans les tâche en plus du projets auquel il appartient directement.
J’ai donc crée un extrafield dans projet qui me permet de sélectionner un autre projet. J’essaye maintenant de récupérer ce projet parent dans mes tâche grâce à un autre extrafield situé dans les tâches. J’ai choisis le type liste issue d’une table même si au final je ne propose pas de choix à l’utilisateur car je mettrait en valeur par défaut le seul résultat qui sera issue de la liste.

Je suis donc bloquer au point suivant comment passer de:

projet:title:rowid::rowid=($SEL$ rowid FROM dupu_projet WHERErowid=1)

qui marche donc le la syntaxe hors extrafield est bonne

à un truc du style:

projet:title:rowid::rowid=($SEL$ rowid FROM dupu_projet WHERE extra.projetparent=11)
ou
projet:title:rowid::rowid=($SEL$ rowid FROM dupu_projet_extrafields WHERE projetparent=11)

qui ne marche pas donc l’utilisation du extra est pour moi une énigme.

J’espère avoir été clair.

Merci à tous les forumer grâce à qui j’ai été jusque la et à ce qui me permettront d’aller plus loin.

Bonjour à tous,

Je me permet un petit up car je n’ai toujours pas compris comment accéder aux extrafields et il me semble que c’est une information trouvable nulle part de manière claire.
Une réponse ici nous permettrai d’alimenter le wiki peut-être alors hésitez pas.

Cordialement.

Bonjour :smiley:

comme le problème que vous présentez suscite quelques éclaircissements, ce n’est pas évident à formuler une réponse qui face avancer le schmilblic…

si vous voulez effectuer un lien avec un extrafield situé dans la table des tâches, il faut faire référence à la table « dupu_projet_task_extrafields », en supposant que « dupu » est le choix de préfixe que vous avez effectué pour votre base de données…

de plus le fait de faire référence à une valeur de rowid égale à 1 ou à 11 ne permettra probabmlement pas d’obtenir le résultat escompté;

en espérant que mon post vous permettra d’avancer, n’hésitez pas aussi à parcourir le contenu de vos tables avec phpmyadmin…

Bonne continuation

Bonjour pcbleu,

Tout d’abord merci de vous intéresser à mon sujet.

Pour être plus clair je vais mettre les tables :slight_smile:

Tout d’abord, dupu est effectivement le préfixe choisi.

Alors la table dupu_projet_task_extrafields est celle-ci:

rowid tms fk_object import_key projetparent
1 NULL 12 NULL 11

Dans les attributs supplémentaires des tâches j’ai également crée un extarfield projetparent. L’idée est donc de retrouver le projet parent du projet auquel la tâche appartient pour la saisir automatiquement.
Si je décompose la requête:
projet:title:rowid::rowid=($SEL$ rowid FROM dupu_projet_extrafields WHERE projetparent=11)

projet:tittle : me donne la liste des projets
rowid::rowid= : nécessaire pour que le $SEL$ fonctionne
$SEL$ rowid FROM dupu_projet_extrafields : sélectionne les lignes de la table dupu_projet_extrafields
WHERE projetparent=11 : sélectionne uniquement les lignes ou la colonne projetparent comprend la
valeur 11

Suivant la table fourni, cela devrait me retourner le titre du projet ayant le rowid 11 il me semble, cependant cela ne me retourne rien.

J’espère que c’est plus claire maintenant.

1 « J'aime »

Bonsoir

dans votre requête le champ rowid de la table dupu_projet_extrafields ne va pas correspondr à la liaison que vous voulez établir; essayez plutôt :
projet:title:rowid::rowid=($SEL$ fk_object FROM dupu_projet_extrafields WHERE projetparent=11)

Bonne continuation

1 « J'aime »

Bonjour,

J’ai hésité à mettre que j’ai essayé cela sans résultat dans mon message précédent :slight_smile:.

Le sujet sur le forum qui me parait le plus avancée sur le sujet:

Si d’ailleurs @ macrofsky passait par là pour nous éclairer :slight_smile:.
Je lui est envoyée un MP pour l’alerter de ce sujet.

Il semble qu’il est réussi à utiliser les extrafields mais pas dans les $SEL$.

Dans l’infobulle des listes issue d’une table il est écrit :
Pour faire un SELECT dans le filtre, utilisez $SEL$
Si vous voulez filtrer sur un extrafield, utilisez la syntaxe extra.fieldcode=… (ou fieldcode est le code de l’extrafield)

Mais aucune indication sur une spécificité sur l’extrafield dans le $SEL$.

Bonne journée.

Bonjour,
je n’ai pas compris ce que vous cherchez à faire…
je tente qd même :
projet:title:rowid::(extra.projetparent=11)

ça dit quoi ?

Merci macrofsky,

Cela me ressort un nom de projet ce qui est le plus avancée que j’ai réussi à faire.
Cependant avez vous essayer de faire appel à un extrafield dans le $SEL$ car je vais devoir sélectionner le projet de la tâche pour trouver son parent plutot que de le hardcoder avec un 11.

Bonjour à vous,

Je suis vos développements en espérant y trouver peut-être une solution à ma problématique qui concerne aussi les extrafields. J’ai publié un message là : Attribut supplémentaire list table parametrée
Si quelqu’un avait un petit instant pour essayer de me guider.
Pour faire court, je souhaite créer un extrafield « liste de sélection » dont le contenu s’adapte au Statut des projets.
Par exemple si le statut est Prospection, la liste propose 4 choix spécifiques, si le statut est Proposition, la liste affiche 4 autres choix.
Merci vivement par avance de vos réponses.
Cordialement,
Sterwen

je ne mets pas de préfixe mais testez ce principe pour voir

projet:title:rowid::extra.projetparent=($SEL$ fk_projet FROM projet_task WHERE rowid = $ID$)