Filtrer une liste

Étiquetté : , ,

  • Filtrer une liste

    Posté par Alain Pujol sur 19 avril 2022 à 6h53

    Bonjour à tous,

    Un petit problème de filtre dans une liste d’article.

    Une liste classique avec une colonne Exclusion dans laquelle je dois exclure certains articles (donc appliquer un filtre). Le champ peut contenir différentes valeurs en fonction de l’article telles que

    Ent1 –> j’exclu cette ligne pour Ent1 (pas de problème)

    Ent1/Contrat1 —> j’exclu cette ligne pour Ent1 si choix Contrat1 (pas de problème)

    Ent2; Ent1/Contrat1 —> j’exclu cette ligne si Ent2 ou Ent1 si choix Contrat1 et c’est là que je bloque il faut que je filtre soit sur l’entreprise soit sur entreprise associé ou pas à un contrat.

    Je prend tout idée sur le sujet??

    Merci à vous

    PostID=zITSH5vUcOX3gra

    Alain Pujol a répondu Il y a 11 mois, 4 semaines 1 Membre · 6 Réponses
  • 6 Réponses
  • R3dKap

    Membre
    21 avril 2022 à 20h22

    @Alain suis pas sûr de comprendre… Tu as 2 listes ? Une liste d’articles et une liste d’exclusions ? Une liste de contrats ? “Ent” représente quoi comme notion : “Entité” ? Où se trouve cette info ?

    Et sinon, est-ce que tu saisis les infos d’exclusion telles quelle dans un champ texte ? Avec des points-virgules et des slashs ?

    CommentID=RMSx47Vtx73l23T, PostID=zITSH5vUcOX3gra

  • Alain Pujol

    Membre
    22 avril 2022 à 10h03

    Bonjour Emmanuel.

    J’ai une seule liste dans laquelle j’ai la colonne Exclusion et oui les infos d’exclusion sont saisies dans un champ texte avec point virgule et slash.
    Mon problème était de filtrer dans ce champ avec ENT in Exclusion, j’ai trouvé la solution comme suit:

    Ent1$;ENT1/Cont1 – j’ai rajouté le $ et je filtre soit ENT1$ in Exclusion ou ENT1/Cont in Exclusion.

    C’est une solution???

    Bonne journée

    CommentID=ZWmnHYh2JhO2YMS, PostID=zITSH5vUcOX3gra

  • R3dKap

    Membre
    23 avril 2022 à 11h13

    Oui, ça peut fonctionner mais ça commence à ressembler à une usine à gaz… 😉

    Une autre solution consiste à faire un premier Split() sur les “;” puis à traiter chaque ligne renvoyée :

    • si Ent1 (pas de “/”) -> exclusion Ent1

    • s’il y a un “/” -> exclusion de Ent1/Cont1

    Sais pas si ça répond à ton pb…

    Quoiqu’il en soit, ton use case de base déjà me semble très étrange. Peut-être t’embarques-tu dans un truc compliqué alors qu’il y a plus simple.

    Est-ce que tu peux m’expliquer en détail ce que tu cherches à faire dans cette liste en commençant par me donner sa structure ?

    CommentID=7da18tXgZXiAS4N, PostID=zITSH5vUcOX3gra

  • Alain Pujol

    Membre
    24 avril 2022 à 8h08

    Bonjour Emmanuel

    Pour expliquer,

    J’ai une liste d’articles classique, un ID, un code article, une désignation …. que j’affiche dans une galerie.
    Les users appartiennent à plusieurs entreprises.

    Un article peut être exclu pour:

    Une entreprise, : Exclusion contient Ent1

    Plusieurs entreprises : Exclusion contient Ent1;Ent3…

    Pour un service d’une entreprise, pour plusieurs services de la même entreprise…. Exclusion contient Ent1; Ent2/Cont1; Ent2/Cont2

    J’ai donc pensé dans ma colonne exclusion de mettre l’info comme je l’ai indiqué, mais je n’arrive pas à filtrer dans Items de la galerie correctement.

    J’espère avoir été clair.

    Bonne journée

    PS : Je ne sais pas ou passer cette info,

    J’ai voulu réinitialiser le mot de passe dont je ne me souviens pas mais je ne reçois pas d’Email pour cela

    CommentID=qmZP1gl8anHAiaH, PostID=zITSH5vUcOX3gra

  • R3dKap

    Membre
    25 avril 2022 à 7h43

    @Alain pour ton pb de compte tu t’adresses à la bonne personne : c’est moi qui administre le site… 😉 Je viens de déclencher une demande de réinitialisation de ton mot de passe. Dis-moi si tu reçois quelque chose (vérifie aussi dans tes spams). En parallèle j’ai envoyé un ticket au support…

    Sinon pour ton problème d’exclusion…

    Je suppose que l’information du service figure également sur le user connecté.

    Perso, je ferais comme ceci :

    • je coderais les exclusions de la manière suivante (n’oublie pas le # du début et de fin) :
      #Ent1#Ent2/Cont1#Ent2/Cont2#

    • lorsque l’application démarre, je récupère l’entreprise et le service du user (appelons-les gloUserEnt et gloUserServ)

    • je filtre la galerie ainsi :

    Filter(n    TaListe;n    Not(n        "#" & gloUserEnt & "#" in Exclusion ||n        "#" & gloUserEnt & "/" & gloUserServ & "#" in Exclusionn    )n)

    En effet, l’opérateur in peut être utilisé pour vérifier qu’une chaîne fait partie d’une autre chaîne.

    Les # sont là pour différencier les entreprises des couples entreprise/service.

    Il est possible que tu aies des soucis de délégation via cette formule. Je ne l’ai pas testée chez moi donc n’hésite pas à revenir vers moi si c’est le cas ou s’il y a un souci. On verra comment l’améliorer…

    CommentID=yhHzPBqyKOY9mPb, PostID=zITSH5vUcOX3gra

  • Alain Pujol

    Membre
    25 avril 2022 à 11h55

    Bonjour Emmanuel.

    Mot de passe : j’ai bien reçu le mail de réinitialisation,

    Lorsque je clique sur le bouton une page s’ouvre avec
    nouveau mot de passe
    confirmer
    puis il m’est demandé de donner mon adresse Email pour qu’un mail me soit renvoyé.

    J’ai fait la manip, je reçois bien un nouveau mail.
    Pour réinitialiser le mot de passe faut-il se déconnecter du site?
    Je n’ai pas voulu me déconnecter de crainte de ne pas pouvoir me reconnecter.

    Concernant la liste et le filtre, ta solution rejoint la mienne en rajoutant le $.

    Merci en tout cas pour ta réponse
    Bonne fin de journée

    CommentID=sqgsTEespTn94qa, PostID=zITSH5vUcOX3gra

Connectez-vous pour répondre.