R3dKap
Expert Power AppsRéponses céées sur le Forum
-
R3dKap
Membre26 août 2024 à 9h23 en réponse à: Récupérer les evenements du calendrier outlook pour faire un suivi de tempsSalut @Eve,
Marrant… Je suis justement en train de construire un composant Power Apps qui va encapsuler des tas de fonctions de l’API Graph pour permettre de les appeler directement depuis Power Apps sans passer par un flux Power Automate. Mais j’en suis pas encore arrivé à la partie Outlook…
Donc, en attendant, voici comment faire :
- dans ton application tu ajoutes le connecteur Groupes Office 365
- sur un bouton tu mets le code suivant :
<pre class=”language-markup”>
Set(
colMyEvents;
ForAll(
GroupesOffice365.HttpRequest(
"https://graph.microsoft.com/v1.0/me/events?$select=subject,categories,start,end";
"GET";
""
).value As loopResult;
{
subject: Text(loopResult.subject);
categories: Concat(
ForAll(
loopResult.categories As loopValue;
Text(loopValue)
);
Value;
","
);
start: DateTimeValue(loopResult.start.dateTime);
end: DateTimeValue(loopResult.end.dateTime)
}
)
)
<div>En cliquant sur le bouton tu vas te retrouver avec les événements de ton calendrier avec : le titre, les catégories concaténées avec des virgules, la date de début, la date de fin.</div>Si tu veux récupérer uniquement les événements à partir de la date du jour, modifie l’url ainsi (n’oublie pas le $ au début) :
$"https://graph.microsoft.com/v1.0/me/events?$select=subject,categories,start,end&$filter=start/dateTime gt '{Text(Today();DateTimeFormat.UTC)}'"
Pour ce qui est des permissions, il faut que ton compte aie les permissions suivantes que tu vois sur l’onglet Modify permissions du Graph Explorer :
Essaie de te les octroyer en cliquant sur les boutons Consent. Tu vas voir apparaître la popup suivante :
Si ça ne marche pas, demande à ton admin de te filer les permission listées et encadrées dans la capture précédente…
Voilou… N’hésite pas à revenir ici si tu as besoin de plus d’infos ou d’aide…
- Cette réponse a été modifiée Il y a 2 mois, 4 semaines par R3dKap.
-
R3dKap
Membre24 août 2024 à 18h43 en réponse à: Récupérer les evenements du calendrier outlook pour faire un suivi de tempsSalut @Eve,
Quel connecteur utilises-tu ? Office 365 Outlook ou Outlook.com ?
Quoiqu’il en soit ces 2 connecteurs ne sont pas premium : donc pas besoin de licences supplémentaires.
Quel est ton message d’erreur exactement ?
Quel calendrier interroges-tu ? Celui d’une autre personne que toi-même ? Celui d’un groupe O365 ?
-
Salut @ker,
Comment comptes-tu exploiter ça avec Power Automate ? Via un flux Desktop ?
As-tu essayé ce sélecteur :
- pour le n° et la rue de l’adresse :
.contract-filtered-wrapper .contact_street
- pour la ville de l’adresse :
.contract-filtered-wrapper .contact_city
- pour le numéro du contrat :
.contract-filtered-wrapper .contract_num
(attention faudra que tu extrayes la partie du numéro du contrat car ça va aussi te ramener le qui est à l’intérieur
Attention par contre : ces infos se trouvent dans une “popup” qui s’ouvre lorsque l’on clique sur la petite flèche noire -> si le contenu de la “popup” est généré à la volée lors du clic ça va être compliqué de récupérer le contenu qui n’existera pas sur la page. Par contre peut-être regarder le code HTML des mêmes infos qui se trouve sur la barre tout en haut où il y a la p’tite flèche noire justement…
- pour le n° et la rue de l’adresse :
-
R3dKap
Membre21 août 2024 à 11h43 en réponse à: Erreur Patch – modif de formulaires via Power Apps dans SP OnlineSalut @Olivier,
Sauf erreur de ma part, les Document Sets (ni les types de contenus d’ailleurs) ne sont pas supportés par Power Apps… 😉
-
Salut @Valentin,
Pour que ton flux puisse “capter” les références de connexion que tu as créées, il faut que tous ces objets soient dans des solutions (pas forcément la même d’ailleurs).
Donc tes références de connexions doivent être dans une solution et ton flux il faut le créer à l’intérieur d’une solution également. Et lorsque tu éditeras le flux il devrait soit te prendre automatiquement tes références de connexion soit en cliquant sur les “…” de l’action tu pourras choisir manuellement la référence de connexion.
Astuce : pense à nommer toi-même tes références de connexions pour t’y retrouver plus facilement. Et aussi : pas besoin d’avoir plusieurs références de connexion pour une même source : une seule référence de connexion pour SharePoint suffit -> du coup, ne laisse pas le système créer lui-même les références de connexion lors de l’édition d’un flux (cela se produit lors de la première utilisateur d’un connecteur et si aucune réf. de con. n’est trouvée dans une solution pour ce connecteur), mais privilégie plutôt la création manuelle en amont de l’utilisation du connecteur.Pour ce qui est du fait que tu doives systématiquement choisir une connexion à l’import, je sais pas trop. @DavidZed ?
-
Pour la date du cours, le plus logique consisterait plutôt (contrairement à ma première proposition) à la mettre directement dans la liste des inscriptions.
Mais tu peux aussi imaginer une liste Sessions de cours avec des colonnes du type :
- une colonne de recherche Cours connectée à la liste Cours
- une colonne Date de la session
- une colonne Nombre de places
- et d’autres colonnes intéressantes si nécessaires
- tu peux utiliser la colonne Titre par défaut pour y stocker un code fabriqué par tes soins pour identifier une session de manière unique (par ex. :
<code du cours>_<AAAAMMJJ (date de la session>
; d’ailleurs, de manière générale j’utilise cette colonne pour y stocker des codes identifiants…
Et dans ce cas, ta liste des inscriptions pointe vers la liste des sessions plutôt que vers la liste des cours.
Autre chose encore : si un cours peut être donné par différents formateurs, alors il faut mettre le formateur dans la liste des sessions.
Bref, tu vois que tout dépends de la cible. En fait, ton modèle de données doit représenter tout simplement la réalité du terrain.
-
R3dKap
Membre19 août 2024 à 13h59 en réponse à: Multiples champs de type recherche dans une galerieSalut Anaëlle,
Si ta colonne qui stocke les voies est une colonne de recherche à choix multiples alors elle contient la liste des voies sélectionnées pour l’enregistrement en cours dans une table au format
{Id: <numérique>; Value: <libellé de la voie>}
. Du coup, pour afficher les voies dans ta galerie tu dois concaténer les lignes de cette table avec une formule de ce type :Concat(ThisItem.TonChampVoies; Value; Char(10))
(leChar(10)
c’est le retour à la ligne après chaque voie)Attention : étant donné que le nombre de voies peut varier d’un enregistrement à l’autre, il faut impérativement que ta galerie soit une galerie à hauteur flexible afin que chaque ligne puisse avoir sa propre hauteur. Pour cela, il te faudra définir la propriété TemplateSize de la galerie à
Max(TonLibelléNuméro.Height; TonLibelléVoies.Height)
(en effet si tu n’as aucune voie sur une ligne la hauteur du libellé des voies sera à zéro et il faut au moins que l’on voie le numéro). Et assure-toi que TonLibelléVoies.AutoHeight soit à true (normalement ça l’est par défaut).
Note : ne fait pas attention au rendu de la galerie lorsque tu es dans le Studio Power Apps qui utilise une hauteur de modèle fixe -> pour vérifier le rendu lance l’aperçu de l’application (bouton “play” en haut à droite). -
Salut JS,
L’idéal dans ton cas de figure serait de créer plusieurs listes interconnectées pour avoir un modèle de données clair et bien structuré :
- Une liste pour les cours (avec le nom du cours, la date et un lien vers le formateur)
- Une liste pour les formateurs (uniquement avec le nom des formateurs)
- Une liste pour les stagiaires (uniquement avec le nom des stagiaires)
- Une liste pour les inscriptions (avec un lien vers le cours, un lien vers le stagiaire, et une colonne de présence oui/non)
Mais peut-être un peu compliqué pour toi si tu débutes.
En attendant, pour rester sur ta solution actuelle, il te faut effectivement ajouter dans ta liste SP une colonne “Présence” de type oui/non et une colonne “Date cours” de type date (regarde cet article pour voir comment créer proprement une colonne dans une liste SharePoint : https://ppfc.fr/groupes/base-de-connaissances/forum/topic/comment-construire-son-modele-de-donnees-sharepoint/).
Ensuite, dans le Studio Power Apps, clic droit sur ta liste SP et Actualiser (car sa structure, qui est stockée en interne dans l’application, a changé et doit donc être mise à jour).
Enfin, tu pourras enregistrer la présence d’un stagiaire à un cours avec une instruction Patch() du type :
Patch(TaListeSP; <la ligne de ta liste SP à modifier ou Defaults(TaListeSP) si tu veux créer une nouvelle ligne); {ChampNomStagiaire: <valeur>; ChampPrénomStagiaire: <valeur>; ChampFormateur: <valeur>; ChampCours: <valeur>; ChampDateCours: Today(); ChampPrésence: <valeur>})
As-tu besoin de plus d’aide ?
-
Salut Youcef,
S’il te dit que le 1er paramètre est null c’est qu’à un moment il est null. Peut-être est-ce entity qui est null dès le départ.
A ta place je conditionnerais le formatage par quelque chose du style :
if(not(equals(triggerBody()?[‘entity’]?[‘ftie_du’],null)),formatdatetime...etc
-
Salut @faddi,
Le convertisseur HTML > PDF natif ne supporte pas le float:left. Il ne supporte que le CSS ultra basique.
Donc le plus simple pour solutionner ton problème c’est de créer un tableau chapeau à 1 ligne et 2 colonnes et mettre chacun de tes tableaux à l’intérieur de chacune des cellules du tableau chapeau… 😉
-
Salut @GREGOIRE,
J’ai récupéré tes données et appliqué la même technique que Reza jusqu’à l’étape de la boucle. Ensuite, voici comment j’ai fait :
- avant la boucle j’initialise une variable strJoin de type String
- dans la boucle j’ajoute une action Ajouter à la variable de chaîne, je choisi la variable strJoin et en valeur je mets la fonction
split(item(),';')[12]
(moi c’est 12 passke j’ai pas pris la première colonne vide de ton CSV) - après la boucle j’initialise une variable strResult de type String et j’y récupère la valeur de strJoin
Par exemple, voici le résultat pour les 6 premières lignes de ton CSV :
-
Salut @Soane,
Pour le coup, perso je trouve que @DavidZed a super bien détaillé toutes les étapes (comme d’hab il fait des réponses toujours hyper propres)… 😉
Peux-tu nous préciser exactement à quelle étape tu bloques ?
-
OK. Je crois qu’il existe encore quelques bugs sur ce contrôle puisque pas plus tard qu’hier j’en ai remonté un à l’équipe Power Apps : on ne voit pas le curseur de sélection pendant l’édition, sur Chrome (chez toi aussi?).
Par contre je n’ai pas constaté ton bug. 2 pistes :
- Vide complètement le cache de ton navigateur, reconnecte toi et retente
- Essaie avec Chrome
-
C’est pour ça que ça marche pas : la structure de ton Items et celle de ton DefaultSelectedItems doivent être rigoureusement identiques.
Il faut donc que ta variable VarFiltre2 soit alimentée directement depuis ta table ‘IX-Commande’.
-
Salut Jean-Michel,
- De quel contrôle s’agit-il ? L’ancien Entrée de texte ou le Saisie de texte moderne ?
- Fais-tu la saisie sur PC ou sur mobile ?