French Power Platform User Group

Please login or click SIGN UP FOR FREE to create your PowerPlatformUG account to join this user group.
Expand all | Collapse all

Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

  • 1.  Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 10, 2021 09:58 AM
    Bonjour,

    J'ai créé un calendrier qui affiche les tâches à faire pour le jour sélectionné.

    L'utilisateur coche alors les tâches qui sont réalisés.

    J'aimerai afficher un icone validé dans le calendrier lorsque toutes les taches du jour sont réalisés.

    Avez  vous une solution ?

    Merci d'avance.



    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------


  • 2.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 10, 2021 11:44 AM
    Salut Thomas,
    Alors pour pouvoir t'aider, il faudrait que je sache comment est structurée la source de données que tu utilises sur la galerie de l'agenda.
    1. Qu'as-tu comme colonnes dans la collection qui stocke toutes les tâches ?
    2. Qu'as-tu dans le Items de la galerie qui affiche l'agenda ?


    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 3.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 11, 2021 02:38 AM
    Bonjour et merci pour votre réponse,

    Voici en capture d'écran comment est programmé mon application :

    Items de la galerie chiffre de l'agenda :

    Items de la galerie qui affiche les taches :


    Est-ce suffisant pour que vous puissiez m'aider ?

    Merci d'avance

    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------



  • 4.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 11, 2021 06:43 AM
    Salut Thomas,
    C'est déjà pas mal. Maintenant ce qu'il me faudrait c'est la liste des colonnes que tu as dans ta source de données Planning... (avec une petite explication de ce à quoi sert chaque colonne).

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 5.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 11, 2021 08:03 AM
    Voici toutes les colonnes présentent dans ma source de donnée :

    J'aimerai me baser sur le statut pour utiliser l'icone tache validé, en effet l'utilisateur doit validé toute les taches, lorsqu'il la valide le statut passe en "OK".

    J'aimerai que lorsque toutes els taches de la galerie soit en ok, l'icône apparaisse sur le jour en question

    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------



  • 6.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 11, 2021 09:43 AM
    Parfait... Alors, essaie la formule suivante sur la propriété Visible de l'icône :
    CountRows(Filter(Planning; Date=ThisItem.Date && Statut="NOK")) = 0​

    En gros, on vérifie qu'il n'y ait plus aucune tâche à NOK sur la journée concernée. Dis-nous ce que ça donne...

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 7.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 11, 2021 10:37 AM
    Voici l'erreur que j'obtiens :

    Ne faut il pas mettre true ou false pour une propriété visible ?

    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------



  • 8.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 11, 2021 11:11 AM
    Je me doutais qu'on aurait un pb sur les dates... 😌
    Je regarde ça et je te donne la bonne formule...

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 9.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 11, 2021 12:38 PM
    Bizarre... J'ai créé un fichier Excel similaire au tien dans une bib. SharePoint et impossible de récupérer la colonne de date dans Power Apps. Comme si le connecteur ne le supportait pas. Est-ce que tu les récupère toi les dates de ta colonne Date dans ton appli ?
    Est-ce que ta colonne Date est au format Date ou Texte dans Excel ?
    J'ai trouvé quelqu'un qui avait le même problème, mais pas de solution : https://powerusers.microsoft.com/t5/Building-Power-Apps/My-Dates-Are-Not-Appearing-In-Power-App/td-p/803310
    Si la colonne Date est au format Texte alors j'arrive a récupérer la valeur numérique de la date (pas très utile). Mais dès qu'elle est formatté en date dans Excel, les données disparaissent côté Power Apps. Comme si le connecteur ne le supportait pas. Mais je n'ai rien trouvé dans ce sens dans la doc officielle du connecteur : https://docs.microsoft.com/en-us/connectors/excelonlinebusiness/
    Je continue de creuser...

    Mais franchement, moi je te suggère de faire une petite liste SharePoint pour tes données de planning. Plus facile de gérer les droits et on est plus proche d'une base de données (même si SharePoint n'en est pas une).

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 10.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 11, 2021 01:04 PM
    Par rapport à mon dernier message, par curiosité : est-ce que ton application est déjà capable d'afficher les tâches d'une journée donnée ?

    Ceci dit, il semble effectivement que les colonnes de type Date ne sont pas supportées par le connecteur Excel (donc si tu réponds OUI à la question ci-dessus, ça me surprendrais beaucoup).
    Donc, pour faire ce que tu veux faire, il faut procéder comme ceci :
    • il faut que tu rajoutes dans ton fichier Excel une colonne DateTexte à côté de la colonne Date et que tu y mettes la formule suivante :


    • dans ton application, tu pourras alors mettre la formule suivante pour la visibilité de ton icône :

    CountRows(Filter(Planning; DateTexte=Text(ThisItem.Date; "dd/mm/yyyy") && Statut="NOK")) = 0​


    Voilà l'exemple que j'ai fait chez moi :



    Ta formule sera soulignée en bleu comme sur ma capture (problème de délégation) car la fonction CountRows() n'est pas supportée par le connecteur Excel pour des volumes de données importants. Pour résoudre ça tu peux, au chargement de ton application, charger le contenu de ton planning dans une collection en mettant par exemple ce code dans ton OnStart :

    ClearCollect(colPlanning; Planning)


    Et ensuite, utiliser colPlanning plutôt que Planning partout dans ton application. Mais attention, colPlanning ne pourra récupérer que 500 lignes de ton fichier Excel (2000 max si tu changes le paramètre dans les propriétés de ton app).

    Bref, comme dit dans mon message précédent, l'idéal serait de passer plutôt par une liste SharePoint.



    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 11.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 11, 2021 11:27 AM
    Ok merci pour votre aide, dans l'attente de votre réponse

    cdt

    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------



  • 12.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 11, 2021 01:00 PM
    Ma colonne est au format date, je la récupère lorsque je sélectionne un jour pour que la galerie m'affiche les tâches a réalisé.

    Ce sont des galeries différentes, ce n'est pas de là que proviens le probleme ?

    J'ai exporté mon application au format msapp, pouvez vous me fournir une adresse mail pour que je vous envoie l'application?

    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------



  • 13.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 12, 2021 08:15 AM
    Edited by EMMANUEL GALLIS Jun 12, 2021 08:15 AM
    Bon, j'ai bien récupéré ton app... Du coup voilà la bonne formule de visibilité de ton icône "toutes tâches terminées" :
    IsEmpty(
        Filter(
            Planning;
            Text(
                'Date ';
                DateTimeFormat.ShortDate
            ) = Text(
                Date(
                    Year(_dateSelected);
                    Month(_dateSelected);
                    Value(Title2_1.Text)
                );
                DateTimeFormat.ShortDate
            );
            Statut = "NOK";
            Text(Ligne) = Text(filtre);
            Text(Animateur) = Text(Anim)
        )
    )​

    Sinon, quelques suggestion :
    • pense à mettre ton Rectangle1_1 au-dessus de tous les autres éléments de ta galerie CalendarEventsGallery1_1
    • laisse tomber le regroupement de contrôles (pas pratique du tout), utilise plutôt un contrôle Conteneur car il porte ses propres propriétés de position, de remplissage, etc... bcp plus pratique à utiliser
    Voilou, pour l'instant... 😉

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 14.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 14, 2021 02:39 AM
    Hello Emmnauel,

    Tout d'abord merci pour le temps que tu m'as accordé, tu m'as enlevé une grosse épine du pied !

    Cela fonctionne très bien, j'ai effectué les qq modifs que tu m'avais conseillé!

    Dernière petite question, des fois j'ai des jours qui se mettent en réalisé alors que ce n'est pas le cas exemple le 1er juilliet:


    De plus lorsque je change d'un mois à l'autre les icones ne se charge pas directement il faut que je choisisse un jour pour que ça se charge, une idée ?

    Merci d'avance

    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------



  • 15.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 14, 2021 09:00 AM
    Pour faire en sorte que l'icône ne s'affiche pas pour les jours qui sont en dehors du mois en cours, rajoute juste ceci à la fin de la formule de visibilité de l'icône :
     && Not(Abs(Title2_1.Text - ThisItem.Value) > 10)​

    Ce qui fait que la formule au complet devrait être celle-ci :
    IsEmpty(
        Filter(
            Planning;
            Text(
                'Date ';
                DateTimeFormat.ShortDate
            ) = Text(
                Date(
                    Year(_dateSelected);
                    Month(_dateSelected);
                    Value(Title2_1.Text)
                );
                DateTimeFormat.ShortDate
            );
            Statut = "NOK";
            Text(Ligne) = Text(filtre);
            Text(Animateur) = Text(Anim)
        )
    ) && Not(Abs(Title2_1.Text - ThisItem.Value) > 10)​

    J'ai récupéré ça de : Title2_1.Fill.

    Pour ce qui est du fait que tes icônes ne se mettent pas à jour lors du changement de mois c'est normal : dans la formule j'utilise le _dateSelected qui ne change que si tu cliques sur une date. Si on utilise plutôt le _firstDayOfMonth ça marche mieux puisqu'il change à chaque changement de mois. La formule devient donc au final :
    IsEmpty(
        Filter(
            Planning;
            Text(
                'Date ';
                DateTimeFormat.ShortDate
            ) = Text(
                Date(
                    Year(_firstDayOfMonth);
                    Month(_firstDayOfMonth);
                    Value(Title2_1.Text)
                );
                DateTimeFormat.ShortDate
            );
            Statut = "NOK";
            Text(Ligne) = Text(filtre);
            Text(Animateur) = Text(Anim)
        )
    ) && Not(Abs(Title2_1.Text - ThisItem.Value) > 10)​

    Tiens, au fait, juste pour être sûr : dans la formule, j'ai mis dans la condition de filtrage un test sur filtre et sur Anim. Je suppose que l'icône s'affiche si les tâches DE L'ANIMATEUR sont toutes terminées (même si d'autres tâches sont NOK par d'autres animateurs sur cette même date) exact ?

    PS : ton bouton sur l'écran d'accueil : Démarrer (avec 2 "r" 😉)

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 16.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 14, 2021 10:40 AM
    Merci pour ta réponse, cela fonctionne sauf pour la fonction :

     && Not(Abs(Title2_1.Text - ThisItem.Value) > 10)​​

    Ou j'ai l'erreur suivante :


    Mais c'est pas grave je vais rajouter un rectangle blanc dans le pire des cas...

    Concernant le filtre "Animateur" c'est bien uniquement les tâches affectés à l'animateur et non les tâches de toutes la journée!


    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------



  • 17.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Gold Contributor
    Posted Jun 14, 2021 10:46 AM
    Efface la dernière parenthèse et retape-là... J'ai eu un comportement similaire chez moi tout à l'heure (très bizarre d'ailleurs... j'espère que ça cache pas un bug de l'éditeur de formules)...

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 18.  RE: Afficher un icone "Validé" dans un calendrier lorsque toutes les taches sont accomplies

    Posted Jun 14, 2021 11:02 AM
    Oui très bizarre je l'ai retapé à la main et maintenant ça fonctionne !

    Merci pour tous !

    ------------------------------
    Thomas Lacroix
    02120
    ------------------------------