Pb création d’attribut avec une liste dépendante

Bonjour,

La création d’un attribut avec une liste dépendante d’une autre liste n’a pas l’air de fonctionner sur la version 9.03. Avez-vous le même problème ?

Bjr

Quelle sont les formules utilisées ?

Avez vs tester sur une autre version ?

J’ai utilisé les formules suivantes :
table mère
type : liste de sélection
code de l’attribut : lieux
1, terrasse
2, restaurant
3, verrière

Table fille
type: liste de sélection
code de l’attribut : menu
1, menu 1|lieux:1
2, menu 2|lieux:1

Mes deux liste s’affiche sans aucune dépendance.

je viens de faire le test sur la version 8.0.5 et ça ne marche pas.

Bonjour

Ce n’est pas la bonne syntaxe :

Pour afficher une liste dépendant d'une autre liste attribut complémentaire: 
1, valeur1|options_code_liste_parente:clé_parente
2,valeur2|option_Code_liste_parente:clé_parente

Essayez :

Table fille
type: liste de sélection
code de l’attribut : menu
1, menu 1|options_lieux:1
2, menu 2|options_lieux:1

Je viens d’essayer avec la syntaxe ci-dessous et ça ne fonctionne toujours pas.
Table fille
type: liste de sélection
code de l’attribut : menu
1, menu 1|options_lieux:1
2, menu 2|options_lieux:1

Juste par aqui de conscience vous pouvez essayer sans le s à option et avec un _ au lieu d’un espace ?

1,menu_1|option_lieux:1
2,menu_2|option_lieux:1

Je viens d’essayer cette syntaxe sans succès, avez-vous une autre solution ?

bonjour,
essayez avec une liste issue d’une table

nom_table:colone_a_afficher_dans_la_liste_de_choix:rowid::filtre
www.dolibarr.fr/forum/t/attribut-supplementaire-list-table-parametree/26673/1

Bonjour
Je suis en 7.0.2
J’ utilisé cette syntaxe pour une liste issue d’une table.
Cela fonctionne SAUF le filtre …que j’ai supposé être la colonne de la table sur laquelle on veut filtrer l’affichage de la liste de choix.
Me serai-je trompé dans la syntaxe de ce filtre ?

Bonjour,
Après mettre confronté à ce sujet.
Et si ça peut aider d’autres personnes, voici une réponse claire de ce qui marche par l’exemple :

On veut avoir une liste (liste2) qui change avec le choix dans une autre liste parent (liste1)
Pour ça, Dolibarr à déjà prévu le truc. Pas besoin de toucher au core ou de faire de l’Ajax
Il suffit de faire dans la liste2 pour une liste sélection:

1,valeur1|id_du_champ_parent:valeur_du_champ_parent
2,valeur2|id_du_champ_parent:valeur_du_champ_parent

ou, pour une liste issue d’une table :

table2:label:valeur:id:id_du_champ_parent|colonne_table2_avec_valeur_parent

pour ajouter un filtre (:flitre), c’est une option qui fonctionne comme suit :

table2:label:valeur:id_du_champ_parent||colonne_table2_avec_valeur_parent:colonne_table2_filtre=valeur

Pour que ça fonctionne, « id_du_champ_parent » doit être le nom exacte de la liste parente dans le html (attribut id=… de la balise).
Pour récupérer le nom exact à mettre à la place de « id_du_champ_parent », le mieux est encore d’aller le chercher dans le code html (clic droit sur le champ liste et inspecter l’élément).

Voilà, j’espère que ça servira.

3 « J'aime »

Bonjour à tous,
J’ai lu avec enthousiasme ces conseils qui semblaient solutionner un point sur lequel je me gratte la tête depuis longtemps, mais je ne parviens pas à l’utiliser. Il doit me manquer quelque chose mais je n’arrive pas à trouver quoi.
Mon dolibarr : 18.0.2 installé via Doliwamp pour faire des tests dans mon « dolibacasable »
J’ai créé avec le module builder un module avec un objet « machine_ajd »
Je souhaite rajouter dans le module ticket un extrafield pour lier mon objet « machine_ajd » à mes tickets.
Je choisis donc lien vers objet, et quand je mets « Machine_ajd:custom\machines\class\machine_ajd.class.php » aucun problème, j’ai bien la liste de mes objets « machine_ajd », et cela apparaît bien en objet clickable, c’est parfait.

Maintenant, afin de pouvoir filtrer les objets « machine_ajd » selon mes clients, je voudrais rendre dépendante ma liste issue d’une table (l’extrafield ci dessus) de telle sorte que quand je saisis mon ticket et définit le client, il ne reste dans ma liste que les objets « machine_ajd » qui sont liés à l’entreprise sélectionnée.
En regardant dans le code html, la balise de la liste parente est bien « socid », et la balise de ma liste issue d’une table s’appelle « options_machobj » options_ car extrafield, et machobj car c’est le code de l’attribut que j’ai défini dans l’extrafield.

Dans mon objet « machine_ajd » j’ai bien les dans ma table « llxdi_machines_machine_ajd » un champ « fk_soc » qui reprend le client attaché à l’objet.

Mais entre la syntaxe évoqué ci dessus et mes références, j’ai beau tout essayé, soit ca ne filtre pas, soit ca m’écrit : « Error forging a SQL request from an universal criteria: Bad syntax of the search string »

Une idée ?

Petit up… quelqu’un aurait il une idée ? Je suis sûr que ça peut intéresser plein de monde…

Hello,

Je cherche aussi une solution. J’ai ma liste1, et en fonction de la sélection de la liste1 afficher certains items de la liste2… toujours pas d’idée ?

Bien cordialement.

Lucas

Il suffit de lire et d’appliquer ce qui est écrit 2 posts au dessus