DavidZed
MembreRéponses céées sur le Forum
-
Hello, dans ton power query sur cette source, vérifie que tu n’as pas coché par mégarde l’option utiliser une passerelle de données
-
DavidZed
Membre13 décembre 2023 à 20h35 en réponse à: Forcer l’enregistrement d’une page de création (Power Pages)Hello,
Le plus simple, sans partir dans du code custom est d’utiliser un formulaire à plusieurs étapes et de mettre les champs image dans la 2eme étape (ou après)
La première étape est en mode créer un enregistrement, les suivantes sont toujours en mode modification d’un enregistrement existant.
-
A l’heure actuelle, l’intégration de power apps for teams dans des canaux partagés n’est pas supportée.
A la place, il est possible de diffuser une appli hors d’une équipe teams avec l’option “Partager avec des collègues” :
Dans cette fenêtre , il est possible de partager une ou plusieurs applis de l’équipe avec un groupe (M365 ou de sécurité)
Les utilisateurs trouveront l’appli directement dans leur magasin teams et pourront l’épingler au volet latéral :
C’est une manière de sécuriser l’accès à la solution, car les seuls les utilisateurs qui sont dans l’équipe pourront accéder directement aux données, tables et modifier l’app.
-
DavidZed
Membre12 décembre 2023 à 8h52 en réponse à: Menu avec icone check si le formulaire a été soumisHello Julien,
A ta place, je partirai sur une collection qui se chargerait au chargement de l’écran sur le OnVisible de cet écran pour alimenter la galerie :
ClearCollect(colGalForms,
{Formulaire_Nom : “Formulaire 1” , Item: LookUp(‘Liste form1′,’Lookup Column’.Value = vctxTitleFormPrincipal.title)},
{Formulaire_Nom : “Formulaire 2” , Item: LookUp(‘Liste form2′,’Lookup Column’.Value = vctxTitleFormPrincipal.title)},
{Formulaire_Nom : “Formulaire 3” , Item: LookUp(‘Liste form1′,’Lookup Column’.Value = vctxTitleFormPrincipal.title)}
)Je me base ici sur la Value du lookup, car malheureusement, faire la même chose sur l’ID du lookup rendrait les requêtes non délégables, mais cela reste une option si tu es sûr que tes listes contiendront toujours moins de 2000 éléments.
la variable vctxTitleFormPrincipal étant à charger depuis l’écran précédent, dans le navigate()
en mettant la collection colGalForms dans ta galerie, tu pourras conditionner la visibilité de ton icône avec la condition : !IsBlank(Thisitem.Item)
Tu pourras également changer le mode du formulaire en t’inspirant de la solution donnée ici : Composant de changement d’état de formulaire – Power Apps – Power Platform French Community (ppfc.fr)
-
Hello,
Tout d’abord, tu ne pourras pas ajouter de manière dynamique un formulaire par son nom d’objet, je te suggère de créer une collection au démarrage de l’application, qui contient une table du type :
ClearCollect( colFormList;
[
{Formulaire: “Form1”; Mode : FormMode.View };
{Formulaire: “Form2”; Mode : FormMode.View };
{…}
] )
Il faudra activer l’option permettant au composant d’accéder aux sources de données de l’appli
Du coup tu n’auras plus besoin des contrôles en 1,
En 2 il faudra mettre une table avec les différents modes :
[
FormMode.New; FormMode.View; FormMode.Edit; FormMode.Disabled
]
et en valeur par défaut, celle sélectionnée dans la galerie :
GalleryForms.Selected.Mode
dans le bouton “Changer”, patcher la collection avec le mode sélectionné en 2 :
Patch(colFormList ; GalleryForms.Selected ; { Mode: DropDownFormMode.Selected.Value} )
et enfin dans le paramètre .Mode de chaque formulaire, mettre un lookup pour récupérer le mode correspondant au formulaire ( Avec un coalesce pour palier aux éventuelles erreurs) :
Coalesce( Lookup(colFormList ; Form=”Nom de ce formulaire” ;Mode) ; FormMode.View)
- Cette réponse a été modifiée Il y a 1 année, 1 mois par DavidZed.
-
Hello Sébastien,
Dans le labeltext où tu affcihes le GUID passé en paramètre, on voit “{” au début et “} -” à la fin :
Ces caractères sont présents dans le paramètre passé ou seulement concatainés dans le LabelText ?
S’ils sont présents dans le paramètre, il faut les supprimer, la fonction GUID() attend un format texte, avec ou sans les “-” séparateurs, mais sans les braces {} :
GUID( “F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4” )
- Cette réponse a été modifiée Il y a 1 année, 1 mois par DavidZed.
-
@Quentin RENOUARD une idée ?
-
DavidZed
Membre7 décembre 2023 à 21h15 en réponse à: Copie de dossier entre sharePoint avec power AutomateHello,
Tu peux y parvenir en suivant ces étapes :
– Obtenir les fichiers (propriétés uniquement)
– Filtrer un tableau sur le champ Folder path
– Pour chaque résultat du tableau filtré :
– Obtenir le contenu du fichier SP
– Créer un fichier SP
C’est pas super optimisé mais ça fonctionnera, si tu as des sous-dossier cela va compliquer l’affaire car il faudra récupérer et créer les sous-dossier en premier.
Après il y a certainement plus efficace avec une requête http sur l’API Graph
-
DavidZed
Membre7 décembre 2023 à 20h57 en réponse à: Comment désactiver l’aide a la saisie sur les champs de type Modern ?Bonjour, c’est probablement une fonction de ton navigateur, essaie de désactiver le remplissage automatique des formulaires dans les paramètres
Remplissez les formulaires plus rapidement grâce au remplissage automatique | Microsoft Edge
Google Chrome : désactiver la saisie automatique – Le Crabe Info
-
Hello @Yannick PEROUMAL
Je n’y connais pas grand chose en python, mais je pense que l’idéal est d’utiliser l’API MS Graph (Architecture REST) :
Utilisation des sites SharePoint dans Microsoft Graph – Microsoft Graph v1.0 | Microsoft Learn -
Bonjour,
Dans un cas similaire, je suis passé par un dataflow :
j’avais deux tables, commandes et lignes de commandes avec une liaison 1commande, N lignes.
On fait une requête sur les lignes, on les groupe par commande en mettant les agrégations souhaitées (quantitié, montant etc)
et ensuit on map le tout sur la table commandes pour mettre à jour les totaux/ moyennes etc…
-
Si ton flux est automatisé ou planifié : C’est le compte propriétaire du flux qui sera l’initiateur des actions
Une action “envoyer un mail outlook” aura ce compte comme expéditeur
Par défaut, si ton flux est instantané : déclenchement manuel ou depuis une power app, c’est le compte de l’utilisateur qui sera l’initiateur des actions,
Une action “envoyer un mail outlook” aura pour expéditeur la personne qui a déclenché le flux.
Sachant qu’il est possible pour un flux instantané, s’il est partagé en lecture, d’utiliser le contexte du compte propriétaire du flux
Le seul moyen d’expédier un mail au nom de quelqu’un dans un flux planifié ou automatisé, c’est que la personne ait partagé un droit d’expédition en son nom sur sa boîte mail
-
Bonjour,
Peut-être que la solution serait la mise en place d’une table virtuelle : C’est un moyen de traiter une source de données externe comme une table dataverse (avec quelques limitations par apport à une table normale) : Créer et modifier des tables virtuelles avec Microsoft Dataverse – Power Apps | Microsoft Learn
L’idée ici serait de supprimer une étape et que ton dataflow alimente directement ta table SQL ( c’est à tester car je ne suis pas sûr à 100% que l’on puisse mapper un dataflow sur une virtual table)
Pour la limite des 2000 éléments dans les apps canvas, il y a possibilité de la contourner en bouclant plusieurs fois une fonction Collect et en filtrant sur un champ “créé le” pour ne récupérer que les éléments qui ne sont pas déjà dans la collection. Mais c’est vraiment pas top en terme de performances et il vaut mieux déléguer cela à un flux power automate qui va traiter ça hors application.
-
Au temps pour moi c’est un paramètre qui n’est pas censé apparaître sur une source SP dans Power BI
Si tu ajoutes manuellement la même source dans une autre requête, tu as le même problème ?
-
Attention, si les ressources datent, il est fort probable que cela concerne Sharepoint OnPremises, qui est significativement différent de Sharepoint Online.
Pour moi l’API GRAPH est la meilleure option, côté Python je pense que c’est très bien outillé pour interagir avec une API REST