PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Compatibilité (filtre) entre Liste et carte
Compatibilité (filtre) entre Liste et carte
Débuté par Ilyan G, 18 avr. 2025 11:38 - Aucune réponse
Posté le 18 avril 2025 - 11:38
Bonjour,

J'ai fait ce code ci-dessous qui marche et qui permet de filtré les cartes d'un Champs Kanban dans les Listes de ce Kanban
Pour l'exemple si le titre de la carte est "piston" et le nom de la liste du champs kanban est "Table 1", alors la carte ne peut pas se mettre dans cette liste la et elle est renvoyé à sa position d'origine.
Le code lit l'orf car c'est une clé unique sur chaque carte pour les différencier.

Maintenant, j'ai liée les fichiers de base de données Table (Table 1, Table 2 ...) avec le fichier de données Pièce (qui comporte Piston par ex) et de cette liaison émerge une nouvelle table nommée 'Pièce_Table' qui comporte :
NomTable (qui vient de fichier Table),
Nom (nom de la pièce venant de Pièce)
et une clé composé Nom_NomTable.

J'aimerai implémenter cela en modifiant le code ci-dessous afin que les filtres s'adapte selon la base de donnée de cette table (qui peut donc évoluer en ajoutant des lignes ou en en supprimant).
Dans l'idée que "Piston" soit remplacé par Nom et "Table 1" par Nom Table pour que le code s'adapte aux données du fichier de données et non juste aux variables que j'ai déclaré comme dans ce cas la.
Le problème est que j'ai aucune idée et ce que j'essaye ne marche pas.

Merci par avance pour votre aide!!




code acteul:

PROCÉDURE FinDeplacement(carteDestination est un kbCarte, listeOrigine est un Champ, nIndiceOrigine est entier)

// Recupere le nom de liste de départ
NomListeOrigine est une chaîne = ""


POUR TOUT ListeActuelle DE KANBAN_Tache.Liste
SI ListeActuelle..Nom = listeOrigine..Nom ALORS
NomListeOrigine = ListeActuelle.Nom
BREAK
FIN
FIN

// 2. Lire l'enregistrement correspondant à la carte
SI HLitRecherche(Pièce, OrF, carteDestination.Texte) = Vrai ALORS


// 3. Appliquer la règle métier
SI Position(carteDestination.Titre, "Piston") > 0 ET carteDestination.NomListe = "Table 1" ALORS

// RevenIENS à la liste d’origine
Pièce.Statut = NomListeOrigine
HModifie(Pièce)
KanbanAffiche(KANBAN_Tache)
Erreur("Ce déplacement est interdit.")

RENVOYER Faux

FIN


FIN

RENVOYER Vrai