

R3dKap
Expert Power AppsRéponses céées sur le Forum
Salut Geoffroy WAGNER,
Sur l’environnement où le stagiaire a créé la solution, va dans la solution et rajoute les 2 références de connexion en question à l’aide du menu Ajout un élément existant > Plus > Référence de connexion. Réexporte la solution puis son import devrait mieux se passer sur ton environnement de DEV… 😉
CommentID=5qadLbQj91O8ij5, PostID=l3nLcFcInd6VCAe
Salut Maxime PECQUEUR,
J’ai simplifié ton test comme ceci (je te laisse remplacer TextInput1 par ton datacard) :
If( !IsBlank (TextInput1.Text); If(!IsMatch (TextInput1.Text; Match.MultipleDigits);"Seul les chiffres"; Len( TextInput1.Text) <8; "Plus de 8 chiffres"))
Mais à mon avis ton problème ne vient pas de là. A mon avis il vient du fait que
Parent.Error
n’est pas considéré comme Blank() (même lorsqu’il n’y a pas d’erreur) et donc il ne passe jamais à la suite.Donc, écris tout ça plutôt comme ceci :
If( !IsBlank (TextInput1.Text); If(!IsMatch (TextInput1.Text; Match.MultipleDigits);"Seul les chiffres"; Len( TextInput1.Text) <8; "Plus de 8 chiffres"); Parent.Error)
La seule différence c’est que ce seront d’abord tes erreurs à toi qui seront affichées et ensuite celle du système… Mais je suppose que c’est pas très grave…
CommentID=o1o5G4hZyx1FTyE, PostID=RfuuC36KP0n4R2Z
Salut DANIEL PARETOUR,
J’ai pas regardé en détail, mais voici un article qui propose 4 solutions :
Tiens-nous au courant pour qu’on sache comment faire… 😉
CommentID=svWohA7BoSe0mZH, PostID=7aTgK5WAiDqPbKX
Bonjour Hocine,
Tu devrais pouvoir tout à fait enregistrer une image avec SaveData() (je l’ai fait moi pour des photos donc, pas de raisons 😉).
Je soupçonne que le problème pourrait plutôt venir de la manière dont tu le récupères pour l’afficher en mode offline. Est-ce que tu peux nous détailler techniquement comment tu as procédé de ce côté-là ? Contrôles utilisés, code, etc. ?
Merci.
CommentID=vscKxDvpSjQghci, PostID=aTZHI5dQogjjX9x
Jérémy Laplaine tu peux aider RANDRIATAHINA là-dessus ? 😉
CommentID=hS4gaeHEHymf1lF, PostID=RuQ99ozFdTAFpNo
Oui oui tu as bien fait, c’est bien ça qu’il fallait faire : moi j’ai créé une collection colData pour simuler ta galerie avec tes titres… Après, dans ta colData à toi tu peux limiter les colonnes à juste la colonne Titre de la manière suivante :
ClearCollect(colData, ShowColumns(Gallery.AllItems,"Titre"))
Et puis finalement, la collection colData tu peux t’en passer en écrivant directement :
ClearCollect(colTitles, AddColumns(Distinct(ShowColumns(Gallery.AllItems,"Titre"), Titre), "Color", Color.Transparent)
😉
CommentID=vaHQNB1uMqjyFha, PostID=GT9vwXdtq3VgIev
Salut Mickael,
As-tu essayé de mettre une formule de ce type dans la propriété TemplateFill de ta galerie :
If(ThisItem.Titre="toto"; RGBA(255;0;0;1); RGBA(0;0;0;0))
CommentID=Qxsx2lu90ogRdd4, PostID=GT9vwXdtq3VgIev
Ok, j’ai pigé… Alors si, c’est faisable : tu dois construire une collection qui liste tous les titres de ta galerie de manière unique et en face de chaque titre tu mets une couleur (que tu pioches par exemple dans une liste de couleurs que tu auras définie préalablement). Puis sur ta galerie tu définis la propriété TemplateFill en te basant sur cette collection.
Voilà comment faire :
En gros :
tu te prépares une collection avec les couleurs disponibles (là évidemment il en faudra une quantité suffisante pour être sûr d’avoir une couleur pour chaque titre -> ça dépend du nombre max de titres différents que tu pourras avoir dans la galerie -> sinon faut générer des couleurs aléatoire mais là je sais pas trop comment obtenir un résultat potable, y’a p’têt des algos sur le net)
colData ce sont les données de ta galerie (je l’ai créé juste pour l’exemple)
colTitles c’est une collection avec tous les titres de ta galerie qui sont uniques (dans le Distinct() remplace Value par ta colonne de titre)
Et après, dans ta galerie, sur la propriété TemplateFill :
LookUp(colTitles; Value=ThisItem.Title).Color
A toi de remplacer Value par la colonne qui portera les titres dans ta collection colTitles…
Et voilou… 😉
SubCommentID=j0p7j9lPaLEvnDx, CommentID=Qxsx2lu90ogRdd4, PostID=GT9vwXdtq3VgIev
C’est exactement ça Thierno DIALLO. Après, écrire à la fin du Filter()
Doublons = true
revient à écrireDoublons
tout seul… 😉Ca marche du coup ? T’as réussi à t’en sortir ? Normalement ça devrait te sortir des doublons s’il y en a… Vérifie bien tes données…
CommentID=lPz1OCQikaPBQZ9, PostID=13ukFQFzMk9GlKS
Argh… Désolé pour toi… 😩
CommentID=HnHjZ8U7p4iUdNV, PostID=kPHS3jK8AcRPNbB
Bizarre. Je l’ai testé chez moi et ça fonctionne. Il doit y avoir un souci dans ta formule. Est-ce que tu peux la mettre en entier ici ?
Oui la fonction GroupBy() rajoute une colonne mais pas pour y mettre une valeur calculée comme ton CountRows(), uniquement pour faire du regroupement de données. Pour rajouter une colonne calculée, il faut utiliser un AddColumns(). Chaque fonction a son rôle… 😉
CommentID=zXjP4IBYc0wjlTk, PostID=13ukFQFzMk9GlKS
Thomas mon avis est que tu es en train de mettre en place une usine à gaz parce-qu’à priori tu n’as pas encore eu l’occasion de suivre la suggestion de DavidZed de déplacer tes actions Condition et Create SharePoint Items à l’intérieur de la boucle Appliquer à chacun comme indiqué sur sa capture :
Si dans ton GenerateSPData tu veux exploiter chacune des occurrences de Obtenir une ligne qui est dans Appliquer à chacun, il faut qu’il soit à l’intérieur de la boucle, pas le choix… enfin, si y’a toujours le choix mais après tu t’embarques dans des galères pas possibles…
Est-ce que tu as essayé de déplacer ces actions à l’intérieur de la boucle ?
Est-ce que tu peux nous mettre une capture de ta dernière version actuelle ?
SubCommentID=hF21YbSsQ9DhNKG, CommentID=JkasCDE6wODd5um, PostID=RMWJYHlKeAtreGq
Fabrice en fait la bonne pratique côté SharePoint pour créer des colonnes consiste à toujours procéder en 2 temps :
Tu crées ta colonne en lui donnant un nom technique (appelé nom interne)-> sans espace, sans accents, sans tirets, sans underscores, plutôt au format Camel Case (c’est à dîre que tu commences par une minuscule, puis chaque première lettre d’un mot commence par une majuscule ; par ex. : colTelephone, colDateCreateProduit, etc.)
Tu reviens en modification sur ta colonne une fois qu’elle a été créée, et là tu la renommes pour lui donner un nom d’affichage qui sera celui de ton entête de colonne sur la liste ou dans le formulaire de saisie d’un item de ta liste
Voilou… Un très bon réflexe à prendre dès maintenant… 😉
SubCommentID=tIzMpXCLYcwv7nR, CommentID=znUF4BGog1DVsfc, PostID=BOQjgKg7tGCLr6l
Tu as un point-virgule après FullName : il faut l’enlever… 😉
En fait, de la même manière que le dernier paramètre d’une fonction ne prends pas de point-virgule, la dernière colonne d’un enregistrement ne prends pas de point-virgule non plus…
Car oui, la partie entre accolades de la fonction Patch() est en réalité un enregistrement où tu spécifies la valeur des colonnes que tu souhaites alimenter…
Voilou pour les explications… 😊
SubCommentID=tfDZu4YtgIT201O, CommentID=3b8aCZjvvyZGLgW, PostID=BOQjgKg7tGCLr6l