Réponses céées sur le Forum

Page 43 sur 68
  • DavidZed

    Membre
    6 mars 2023 à 16h57 en réponse à: Bibliothèque Sharepoint

    Ah et pour afficher uniquement les fichiers d’un dossier spécifique, dans la source de ta galerie :
    Filter(‘Bibliothèque Gestion familiale’,’Folder path’=”Gestion familiale/Photos/grand prix f1″)
    Si “Gestion familiale” est le nom de ta bibliothèque et le reste les noms des dossiers.

    Par contre la colonne “Folder path” est une colonne système créé automatiquement par Sharepoint et il est malheureusement impossible de déléguer une requête sur ce critère.

    Si tu as moins de 500 fichiers à gérer cela ne posera pas de problème, sinon il faudra ruser pour contourner le problème.

    CommentID=Q2W6EbT6uDYenF2, PostID=axiZOjLtJZZvDNl

  • DavidZed

    Membre
    6 mars 2023 à 16h12 en réponse à: Bibliothèque Sharepoint

    Essaie avec ThisItem.Miniature.Large dans ton objet Image, dans le .Image

    CommentID=T5jFMyzpP6KevnI, PostID=axiZOjLtJZZvDNl

  • DavidZed

    Membre
    3 mars 2023 à 13h06 en réponse à: Accès SHAREPOINT et téléchargement

    Ah et pour le téléchargement, l’idéal est de créer un flux power automate, oui 🙂

    CommentID=znirFzGqnsiqo3r, PostID=jPFJE7Sb6wXLXnk

  • DavidZed

    Membre
    3 mars 2023 à 12h43 en réponse à: Accès SHAREPOINT et téléchargement

    Hello,

    Il est de plus en plus difficile d’empêcher l’accès direct aux listes si on a octroyé les droits de modification via le connecteur Sharepoint dans Power Apps.

    Il y a plusieurs solutions :

    1. Dans la liste, modifier la vue par défaut pour n’afficher aucune ligne, ni aucune colonne et empêcher la création de liste

    2. Il est possible de masquer une liste à l’aide de commandes PowerShell

    Seulement, certains ont trouvé une astuce : passer par l’appli MS List, qui sur sa page d’accueil, affiche toutes les listes auquel l’utilisateur a accès… :-/

    CommentID=hFjXWRtWMeEYvoB, PostID=jPFJE7Sb6wXLXnk

  • DavidZed

    Membre
    27 février 2023 à 19h38 en réponse à: Dataverse relation table et formulaires power apps

    Bonjour Patrice ,

    Dans ce genre de situation, je m’aide généralement de variables de contexte qui s’y prêtent particulièrement bien car on peut les intégrer dans la fonction Navigate()

    Admettons que ton app soit répartie en 3 écrans :

    • Un écran “Sc_NDF” avec une galerie ‘GalerieNDF’ affichant les notes de frais :

    • Un écran mixte “Sc_NDF_Details” (celui dont tu as mis le screenshot) avec le formulaire de note de frais ‘FormNDF’ et une galerie avec les dépenses de la note de frais ‘GalerieDépenses’

    • et enfin, un écran “Sc_NDF_Dépense” avec le formulaire de dépense ‘FormDépenses’

    L’écran Sc_NDF :

    • un bouton “+” pour naviguer vers l’écran Sc_NDF_Details en mode new : NewForm(FormNDF);;Navigate(Sc_NDF_Details; Fade)

    • Dans la galerieNDF, un bouton “>” pour éditer l’item actuel, en le passant en tant que variable : EditForm(FormNDF);;Navigate(Sc_NDF_Details; Fade;{vctxNDF:ThisItem})

    L’écran Sc_NDF_Details :

    • Dans le formulaire FormNDF, on utilise la variable dans le paramètre “.item” : vctxNDF

    • Dans la GalerieDépense, pour la source de données, on filtre les dépenses pour ne faire apparaître que celles qui sont associées à la NDF dans notre variable :
      Filter('NDF Détails', NDFItem.NDF = vctxNDF.NDF)
      (Où .NDF est le GUID de ta table NDF, le nom de ce champ est attribué automatiquement à la création de la table et a le nom de celle-ci, dans sa forme au singulier)
      Toujours dans la galerie, on ajoute un bouton “>” pour naviguer vers le dernier écran, en passant la dépense sélectionnée en variable, on passe également la variable de la NDF actuelle pour l’avoir en valeur par défaut :
      EditForm(FormDépenses);;Navigate(Sc_NDF_Dépenses; Fade;{vctxDépense:ThisItem;vctxNDF:vctxNDF})

    • Entre le formulaire et la gallerie, pour le OnSelect du bouton “+”, on passe simplement la variable vctxNDF pour avoir la valeur par défaut :
      NewForm(FormDépenses);;Navigate(Sc_NDF_Dépenses; Fade;{vctxNDF:vctxNDF})

    L’écran Sc_NDF_Dépense

    • Ici dans le .item du formulaire, on met la variable correspondant à la dépense sélectionnée : vctxDépense

    • Ensuite dans la Datacard NDF Item > DataCardValueX, dans le defaultSelectedItems, on met notre NDF sélectionnée : vctxNDF
      Si ça coince ou donne une erreur : Filter(Choices([@NDFdétails].cr2d6_NDFItem), NDF = vctxNDF.NDF)

    CommentID=sR8QaE5j9XD2cWX, PostID=AnfuLI5T2x74sRI

  • DavidZed

    Membre
    27 février 2023 à 8h42 en réponse à: Utilisation des Formulas

    Bonjour,

    Pour schématiser la différence entre une formule calculée et une variable :

    • Dans le cas d’une variable, on stocke le résultat d’une formule en mémoire

    • Dans une formule nommée, on crée un “raccourci” de la formule

    Ce qui signifie qu’avec les named formulas, le calcul de la formule est fait à chaque fois que cela est nécessaire, c’est particulièrement utile quand la formule est complexe et que le résultat varie souvent. Par exemple, je les utilise beaucoup pour calculer une différence de temps avec l’heure actuelle, cela évite d’utiliser des timers avec un Set(Variable,…)

    Par contre pour ce qui est de faire référence à l’utilisateur actuel, étant donné que cette valeur va être fixe tout au long de la session de l’appli, utiliser une named formula dans ce cas n’apportera aucun bénéfice, voire pourrait être moins efficace.

    Attention également, les named formulas sont toujours en preview, ce qui signifie que la fonctionnalité peut disparaitre du jour au lendemain et il vaut mieux éviter de les utiliser en production.

    CommentID=TScYrXEbJ7iXHPB, PostID=9mnpwLlBXcECmnq

  • DavidZed

    Membre
    22 février 2023 à 14h26 en réponse à: Colonne PowerFX en syntaxe francaise

    Bonjour,

    Comme dans beaucoup de fonctionnalités récentes ou en preview, la syntaxe avec séparateur décimal “,” est mal gérée.

    Il n’y aura pas beaucoup d’alternative, si tu utilises Edge ou Chrome, il faut aller dans les paramètres de langues du navigateur et mettre l’anglais US en tête de liste

    CommentID=3lYpj8RfJSAR8nX, PostID=qKt7KRpJRfd0PI8

  • DavidZed

    Membre
    17 février 2023 à 9h01 en réponse à: Custom Form validation

    Bonjour,

    Si tu peux créer une règle dans ta liste sharepoint (Remplacer DateWithRule par le nom logique de ta colonne date :

    De mémoire, l’erreur générée n’est pas forcément bien interprétée par le formulaire power apps, et cela risque d’être une contrainte si tu dois modifier l’enregistrement plus tard

    Du coup pour que ce soit un peu plus user friendly, ou si tu ne peux pas / souhaites pas créer une règle sur ta liste SP :

    Pour la couleur de bordure : dans le DatePicker et les DropDowns HourValue et MinuteValue, tu vas trouver la formule dans le paramètre BorderColor, tu vas trouver la formule :

    If(IsBlank(Parent.Error), Parent.BorderColor, Color.Red)

    que tu peux changer en :

    If(IsBlank(Parent.Error) && Parent.Update>Now(), Parent.BorderColor, Color.Red)

    Pour le message d’erreur,

    Remplacer

    Parent.Error

    par

    Parent.Error&If(Parent.Update<Now(),"La date doit être antérieure à aujourd'hui")

    et enfin sur le displaymode du bouton de validation du formulaire :

    If(IsEmpty(ErrorMessageXX.Text),DisplayMode.Edit,DisplayMode.Disabled)

    CommentID=Y598nSUnZhk4qun, PostID=s9fsO5Ut1CgxnOC

  • DavidZed

    Membre
    16 février 2023 à 9h38 en réponse à: Problème d'affichage

    Ha ok je comprends mieux pourquoi cet affichage 😀

    Les affichages des colonnes recherche sont systématiquement du texte, donc deux solutions :

    • Voir dans Sharepoint si tu peux formater cet affichage directement dans la liste qui a la colonne de recherche

    • Soit dans Power Apps, en transformation ce champ texte en valeur avec la commande Value()

    Et plus complexe, il me semble que tu es en FR-FR dans l’éditeur, donc un séparateur décimal “,” et ta valeur est avec un séparateur “.”

    Donc il faudra certainement spécifier le langage dans le value :

    Value(ThisITem.’Demandeur: Solde CP’.Value;”en-US”)

    • Sinon tu peux utiliser les fonction Left() et Len() pour tronquer la chaîne :

    Left(ThisITem.’Demandeur: Solde CP’.Value;Len(ThisITem.’Demandeur: Solde CP’.Value)-11)

    CommentID=SNUOgZ77Z3yMfhK, PostID=uij720GIJONCMuR

  • DavidZed

    Membre
    16 février 2023 à 8h06 en réponse à: Problème d'affichage

    Bonjour Patrice ,

    Je ne peux pas vraiment t’expliquer comment réagit cette fonction de création d’App à partir d’une gallerie, je préfère généralement parir de zéro : )

    Par contre en ce qui concerne la formule, c’est une mise en forme (au format texte) de ta valeur, qui est bien une valeur numérique. Le format est le second argument passé dans la fonction Text() : “##,#”

    Si tu le remplaces par “#,0″n tu te retrouveras avec un seul chiffre après la virgule, d’autres exemples :

    Text(1,5;”000,00″) => 001,50

    Text(Now();”ddd dd/mm/yyyy hh:mm”) => jeu 16/02/2023 09:00

    CommentID=R4GMr5uoEN7SxKp, PostID=uij720GIJONCMuR

  • Attention avec ForAll() si tu as de gros volumes de données, c’est rarement optimisé 🙂

    CommentID=tSc4dugUiXE3Z3P, PostID=6eTzHodIvac1hrj

  • Alors il faut démêler un peu 🙂

    En admettant que ta liste ‘CRM-Détail Commandes’ a 2 colonnes lookup nommées :

    Client, Commande,

    Pour les clients, cela devrait ressembler à :

    Filter( Choices('CRM-Détail Commandes'.Client); Id in ShowColumns( Filter( 'CRM-Client'; StartsWith(NomClient,TextInputNomDuClient.Text )); "ID" ) )

    Pour les conditions de facturation, je pense que ta colonne de recherche devrait être au niveau de ta liste ‘commande’

    il faudra peut être inverser “Id” et “ID”. Je n’ai pas le temps de tester, mais tu as déjà une bonne piste 🙂

    CommentID=yHGbPLwOeGMK3uh, PostID=6eTzHodIvac1hrj

  • Il faut remplacer NomClient = true par StartsWith(NomClient.Value; ‘Ton TextInput de recherche client’.Text)

    Et pour la condition de facturation, la condition sera Commande.Id= ComboBoxSelectionCommande.Selected.ID

    CommentID=51UcAZxk7ykwgCI, PostID=6eTzHodIvac1hrj

  • DavidZed

    Membre
    6 mars 2023 à 10h32 en réponse à: Dataverse relation table et formulaires power apps

    Oui, de manière plus générale, le paramètre DefaultSelectedItems d’un ComboBox s’adapte à la source de données qui lui est assignée :

    (simple valeur) => Un enregistrement : {ID:12, Value: “Azerty1234”}

    (multiple valeur) => Une table d’enregistrements : Table({ID:10, Value: “Toto1234”},{ID:12, Value: “Azerty1234”},{ID:12, Value: “Pinpin1234”})

    SubCommentID=Xdv5EUGR5xjAF2G, CommentID=5EiJUJTnB3I2EhK, PostID=AnfuLI5T2x74sRI

  • DavidZed

    Membre
    1 mars 2023 à 18h08 en réponse à: Dataverse relation table et formulaires power apps

    Hello,

    Tu peux essayer ceci :

    Remettre Parent.Default dans le DefaultSelectedItems

    Et dans le .Default du DataCard parent, si ton champ est mono valué, tu mets ta variable, sinon Table(‘Ta variable’)

    SubCommentID=mEAczRYyOm7CfaK, CommentID=XgAT8HOkjTJxPNl, PostID=AnfuLI5T2x74sRI

Page 43 sur 68