Réponses céées sur le Forum

Page 68 sur 68
  • DavidZed

    Membre
    16 mai 2022 à 6h38 en réponse à: Enregistrement de données

    Bonjour,

    Dans une liste sharepoint, un enregistrement est normalement disponible en lecture dès lors qu’il a été créé (dans la seconde).

    S’il n’est pas visible dans SP, il est parfois nécessaire de faire un rafraichissement de la page

    S’il n’est pas visible dans une galerie de l’application powerapps, on peut forcer le rafraichissement de la source de données avec un refresh(source_de_données)

    si on passe par une collection, il faut ajouter le nouvel enregistrement à la collection ou la recharger

    Enfin, tu peux concevoir un power automate pour envoyer une notification mail au créateur de l’enregistrement avec un déclencheur de type : “Quand un nouvel élément est créé”

    CommentID=qX7JYULSDAOWBzX, PostID=GStHvkqqB977fFG

  • DavidZed

    Membre
    15 mai 2022 à 18h55 en réponse à: Transfert de données d'une database vers une autre database

    Bonjour,

    avec une liste sortie stock qui a pour colonnes :

    → Article (recherche vers liste des stocks)

    → Chantier (texte)

    → Quantité sortie (nombre entier)

    Dans ton appli, tu crées dans ton écran de confirmation “sortie” :

    → Dans le bouton sortie que tu as déjà créé dans ta galerie, tu stockes le record sélectionné dans une variable:

    UpdateContext({SelectedArticle:ThisItem})

    Si la confirmation se fait sur un nouvel écran, il te faudra plutôt passer la variable dans le navigate:

    Navigate(‘Ecran confirmation’;ScreenTransition.Fade;{SelectedArticle:ThisItem})

    → un textinput_CH dans lequel l’utilisateur saisira le nom du chantier

    → un textinput_QT dans lequel l’utilisateur saisira la quantité sortie

    → un bouton “confirmer la sortie de stock” avec sur le onselect :

    // Création d’un enregistrement dans la liste sortie stocks

    Patch(‘Sortie Stock’;Defaults(‘Sortie Stock’);{Article:{ID: SelectedArticle.ID;Value:SelectedArticle.Title};Chantier:textinput_CH.Text;’Quantité sortie’:Value(textinput_QT.Text)})

    ;;

    //Mise à jour de la quantité disponible dans la liste stock

    Patch(Stock;SelectedArticle;{QT_Stock:SelectedArticle.QT_Stock – Value(textinput_QT.Text)})

    Ensuite tu fais la même chose pour les entrées sans oublier de remplacer le “-” par un “+” dans le recalcul du stock dispo

    CommentID=DlGLNadbKJ8qRhJ, PostID=SH3kp7Fu65Urt08

  • DavidZed

    Membre
    15 mai 2022 à 17h05 en réponse à: Mise à jour de plusieurs enregistrements

    Salut, le problème vient de ton patch dans ton ForAll, dans le paramètre record,

    ForAll(Temp;
    Patch(T_Liste_VEH;LookUp(T_Liste_VEH;Num_VEH = Num_VEH)
    {VehDisponible:true})
    )

    A cet endroit, tu es censé faire le lien entre le record de ta collection que tu es en train d’évaluer dans ton Forall et le record correspondant dans ta source de données.
    Or il y a deux soucis dans ta formule :

    → ton lookup() ne se base que sur des données de la source de données, techniquement, chaque itération du forall devrait patcher le 1er record de la liste

    → il n’y a pas de “;” pour séparer l’argument record de l’argument modification de ton patch (2eme et 3eme arguments). Donc je pense que ton patch ignore totalement le lookup et interprete ton 2eme argument comme la modification: à chaque itération du for all, il patch tous les records de ta list pour leur mettre {VehDisponible:true}

    J’ai mal compris ton besoin dans mon premier post, tu n’as pas besoin de mettre le filtre dans le forall:

    Forall(Temp;Patch(T_Liste_VEH;Thisrecord;{VehDisponible:true}))

    CommentID=xrE4PzqADfDDuJB, PostID=DvDmlANkdWsNjSD

  • DavidZed

    Membre
    14 mai 2022 à 17h25 en réponse à: Mise à jour de plusieurs enregistrements

    Bonjour,

    Il te faut mettre ton test logique true/false dans un filter sur la source de ton forall:

    Forall(Filter(Temp;VehDisponible=true);Patch(T_Liste_VEH;Thisrecord;{Num_VEH:ThisRecord.Num_VEH}))

    Ce qui donne en gros :

    Pour tous les enregistrements de ma collection “Temp” qui ont la valeur disponible=true, met à jour l’enregistrement correspondant dans ma source de données “T_liste”

    Si ca ne marche toujours pas, il faudra peut-etre insérer un remove column(*ton filtre*;”VehDisponible:true”) toujours dans la source du forall

    CommentID=COT3xNCASc7ABtU, PostID=DvDmlANkdWsNjSD

  • DavidZed

    Membre
    14 mai 2022 à 9h25 en réponse à: %ages dans collection

    Pour le filter, tu peux également séparer les tests logiques par un “;” c’est équivalent à un “&&”

    Pour ta collection, j’ajouterais un ForAll(Patch( après ton clear collect, du style:

    ForAll(col_activite;Patch(col_activite;ThisRecord;{PERC_ACT:100/sum(col_activité;SUM_HR)*ThisRecord.SUM_HR}))

    Il y a peut être possibilité d’optimiser en utilisant un with( avant ton clear collect pour charger tes records et faire les calculs directement dans le clearcollect, à tester

    CommentID=LLKf8j2PmVUhNIo, PostID=LYtw9tB08ujCDrq

  • Bonjour,

    Oui, impossible d’afficher plus de 2000 éléments
    L’idéal est de faire passer par une collection avec des contrôles de filtres (délégables) à renseigner obligatoirement pour s’assurer que la requête fasse moins de 2000 éléments

    CommentID=7WB3Bo5tK3dycnS, PostID=n1fwKtoJnmfOwlx

  • DavidZed

    Membre
    13 mai 2022 à 14h05 en réponse à: Adapter l'écran de l'application selon le support d'ouverture

    Bonjour,

    Une solution qui a marché pour moi :

    Mettre l’app en format téléphone / Portrait dans les paramètres de l’app

    Désactiver la mise à l’échelle

    Désactiver le verrouillage de l’orientation

    CommentID=QMhqGqZPm75d27B, PostID=ftZwKSf20oqbtPc

  • DavidZed

    Membre
    13 mai 2022 à 13h47 en réponse à: PowerApps + gestion des droits SharePoint

    Hello,

    Tu peux passer par un flux power automate qui lance un processus d’aprovals quand un nouvel élément est ajouté à ta bibliothèque

    L’idéal est d’ajouter une colonne avec un statut choice (approuvé/en attente d’approbation/rejeté) qui peut te servir pour :

    – shunter l’approval pour certains utilisateurs en mettant directement le statut à approuvé pour ceux qui ont ce droit
    -De filter les documents pour n’afficher que les docs approuvés dans SP et dans l’app

    Tu peux renseigner dynamiquement l’approbateur dans power automate de plusieurs manières (le N+1 de la personne qui lance le flow) par ex)

    CommentID=LltiNI1v3oIiRbg, PostID=AKCH22hyVF329nb

  • DavidZed

    Membre
    14 mai 2022 à 17h32 en réponse à: Disposition dynamique des contrôles dans une galerie

    Bonjour,

    On voit sur votre screenshot que vous avez des labels en guise d’entête au dessus de la galerie.

    Il y a une astuce très simple qui consiste à donner aux labels / controles de la galerie les .X .Width et .Visible de vos labels d’entêtes (idéalement placés dans un container avec certains en largeur automatique pour rendre le tout responsive)

    SubCommentID=4TXTaHFE14Sq2wy, CommentID=5Hif9QLncoPmExK, PostID=JpdiSxMTtbDOb5f

  • Pour que cela fonctionne, il faut s’assurer que la requête est bien délégable : Si une partie de la formule est soulignée de deux traits bleus, cette partie de la fonction n’est pas délégable et du coup ne se fera que sur les 2000 premiers éléments de la table.

    La solution citée plus haut peut également fonctionner, il peut être intéressant de mettre les différents collect dans un concurrent() afin d’accélérer le temps de chargement de la requête.

    Pour les temps de chargement de collections qui dépassent la seconde, ajouter un loadingspiner.Data au Screen peut adoucir la perception de ce temps de requête pour l’utilisateur

    SubCommentID=VFeM8mdIY9erP3j, CommentID=zejUCbkgmb5MxIO, PostID=n1fwKtoJnmfOwlx

Page 68 sur 68