

R3dKap
Expert Power AppsRéponses céées sur le Forum
Ah ok… En fait c’est simplement le nom de l’application elle-même qui est affiché dans l’onglet, avec un ” – Power Apps” derrière… Ok… Non, je me disais que peut-être ils avaient prévu un paramètre quelque part pour y mettre ce que tu veux (par exemple dans le cas où le nom de ton app est un peu long, un nom court sur l’onglet aurait pu être plus intéressant).
CommentID=Q4URHGb3kbfPyIS, PostID=zocVe6CfgVNzqXw
Tom Victor Ok alors si tu pars sur ce modèle de données, comment fais-tu pour indiquer le montant sur ta facture ? Car elle ne porte pas de champ Quantité, ni ne fait référence à une prestation. Donc, comment prévois-tu d’associer une quantité à ta facture (quantité qui peut-être, comme tu le soulignes plus haut, qu’une portion de la quantité indiquée dans la ligne de commande).
CommentID=uYHcKMroo5ghRFT, PostID=wVEkrzcD5VIJ3Ae
Geoffroy WAGNER Enorme ! Ca serait pas mal si tu faisais un mini-article sur le sujet dans l’espace Base de connaissances pour expliquer à tout le monde comment faire… 😉
Je serais le premier lecteur… 😁
CommentID=sEX8S3ieGEJ912x, PostID=zocVe6CfgVNzqXw
Est-ce que tu peux me remettre le schéma de ton modèle de données du coup ?
CommentID=1zk8t9VDLSEqk5g, PostID=wVEkrzcD5VIJ3Ae
Tom Victor quelles sont les différentes unités possibles de tes lignes de commande ?
Le modèle de données tel que je te l’avais proposé tenait compte du fait que la facturation se faisait sur la prestation, cette dernière pouvant porter une quantité inférieure à celle d’une ligne de commande.
Je reprends ton exemple :
je commande 10 jours
je fais une prestation de 5 sur le mois de février
je facture cette prestation du mois de février et donc sur la facture je vois 5
C’est bien ça que tu veux ? Si oui, reste à voir comment mettre ça en place dans l’application. Par forcément simple…
CommentID=1l8kwc67EQiRCVS, PostID=wVEkrzcD5VIJ3Ae
R3dKap
Membre1 mars 2023 à 8h31 en réponse à: Message d'erreur "l'opération demandée n'est pas valideJulien F. tu peux réécrire ta formule ainsi déjà :
LookUp(n BD_article;n (n 'option-art_ean'.Value && EAN=article_ean.Textn ) n || n (n !'option-art_ean'.Value && Article=article_ean.Textn );n Nom_fournisseurn)
Visiblement, ton problème vient du fait que ton LookUp() à un moment donné, s’exécute alors que
article_ean.Text
est vide… Et ça ça lui plaît pas. Il me semble me souvenir que le connecteur Excel n’aime pas trop les query avec des valeurs à vide.Essaie de conditionner ton LookUp() pour éviter ça et ça devrait régler ton problème…
CommentID=uiiKYkfIB2NqgN9, PostID=NFu9QBMID615Sfb
Florian Gajdos d’après ton ClearCollect() tu vas obtenir une collection avec toutes les lignes de Liste test outil où il y aura une colonne supplémentaire Immat qui auront toutes la même valeur qui sera celle de
Dropdown2.SelectedText
. On est bien d’accord que c’est ce que tu veux ? C’est juste que c’est un peu bizarre de mettre la même valeur partout, mais y’a p’têt une bonne raison… 🙂Pour pouvoir t’aider là-dessus, j’ai besoin de savoir ce qu’il y a dans le Items de Dropdown2…
CommentID=1PnSPHelx7AMFLx, PostID=1V8Qn1i2FlT8bZ5
Florian Gajdos c’est juste un problème de formatage. Ecris plutôt ceci :
ForAll(n myCollection;n Patch(n 'Test-Inventaire';n Defaults('Test-Inventaire');n {n Outils: Title;n 'Quantité outillage': Quantité;n Titre: Immatn }n )n)
😉
CommentID=4jkQuYeJ6AgdD5V, PostID=1V8Qn1i2FlT8bZ5
J’ai lancé une bouée à Allan De Castro… 😉
Après si vous voulez faire une visio, balancez un lien Google Meet, y’a pas de soucis… Moi je viendrais pas passke j’y connais rien en connecteurs persos, mais entre vous no soucy… 👍
CommentID=7BrMaQ9qkOk6tC0, PostID=djowL48rheLJY8A
Florian Gajdos ok, alors perso (comme j’aime pas trop la propriété SelectedText justement parce-qu’il y a ambiguïté), je ferais comme ceci :
ClearCollect(myCollection; AddColumns('Liste test outil'; "Immat"; Dropdown2.Selected.Immat))
😉
SubCommentID=OzEXyhy1mJEK13g, CommentID=zK5o9xuyyeGtEDm, PostID=1V8Qn1i2FlT8bZ5
Patrice j’ai pensé à un truc cette nuit… 😅
En fait tu peux avoir exactement cette erreur si sur la galerie qui liste toutes les NDF de ton utilisateur sur ton écran d’accueil (celui que DavidZed appelle le Sc_NDF) tu ajoutes une colonne avec un AddColumns() à ta source de données qui alimente ta galerie.
Dans ce cas, la NDF sélectionnée par l’utilisateur et transmise d’un écran à l’autre pour arriver finalement dans le DefaultSelectedItems de NDFItem via la variable vctxNDF n’est pas au bon format car tu as dedans une colonne de plus que dans ta table DV !!! Et ça te sortira justement cette erreur…
Je sais pas si tu m’as suivi… Est-ce que c’est ton cas ? Est-ce que sur le Items de la galerie de ton écran qui liste les NDF tu utilises la fonction AddColumns() ?
SubCommentID=VN8ff1GhM4vwoEu, CommentID=XgAT8HOkjTJxPNl, PostID=AnfuLI5T2x74sRI
R3dKap
Membre28 février 2023 à 15h32 en réponse à: Dataverse relation table et formulaires power appsArgh… Je me fais avoir à propre jeu : pas génial de mettre
DataCardValue12.Selected
dans le DefaultSelectedItems de NDFItem puisque ton DataCardValue12 est sur un autre écran… 😋 Il faut aussi passer par une variable lors de la navigation.Donc :
Dans le OnSelect de l’icône ‘+’ qui te permet de créer une dépense tu mets ceci :
Navigate(scr_AddItem; ScreenTransition.Fade; {locFormMode: FormMode.New; locSelectedNDF: DataCardValue12.Selected})
Dans le OnSelect de la galerie des dépenses :
Navigate(scr_AddItem; ScreenTransition.Fade; {locSelectedDépense: ThisItem; locFormMode: FormMode.Edit; locSelectedNDF: DataCardValue12.Selected})
Sur le DefaultSelectedItems de ta liste déroulante NDFItem tu mets juste :
locSelectedNDF
SubCommentID=ZwWOTjuasdRUUBo, CommentID=XgAT8HOkjTJxPNl, PostID=AnfuLI5T2x74sRI
R3dKap
Membre28 février 2023 à 15h29 en réponse à: Dataverse relation table et formulaires power appsPardon : grosse confusion de ma part dès le départ (je vais corriger mon post)… En effet, ton champ NDFItem doit pointer vers la note de frais et non vers la dépense. Donc tu as raison : si ta note de frais est dans ton DataCardValue12 alors c’est bien celui-là que tu dois mettre dans le DefaultSelectedItems du champ NDFItem.
Sauf qu’en fait il faut que tu y mettes : DataCardValue12.Selected qui représente vraiment l’enregistrement de ta note de frais (et ton erreur devrait disparaître). DataCardValue12 est un contrôle Power Apps (avec toutes ses propriétés), ce n’est pas un enregistrement de ta table de note de frais. C’est bien la propriété Selected qui le porte… 😉 Tu y étais presque…
Pour revenir sur l’histoire du locSelectedDépense, oui tu en as besoin si ton formulaire d’édition de dépense te sert à la fois à créer une nouvelle dépense ET à modifier une dépense existante. Car il faut que tu fournisses à ton formulaire dans la propriété Item la dépense sur laquelle tu as cliqué précédemment. Tu me suis ?
Si tu veux on peut se faire un partage d’écran tout à l’heure à 17h30… Dis-moi si ça te tente et je t’envoie mon mail en message privé…
SubCommentID=eXhSGpw6YTtLwVf, CommentID=XgAT8HOkjTJxPNl, PostID=AnfuLI5T2x74sRI
R3dKap
Membre28 février 2023 à 14h07 en réponse à: Dataverse relation table et formulaires power appsPatrice le problème vient probablement de la fonction Patch(). Tu ne devrais pas avoir besoin d’utiliser cette fonction puisque tu utilises un formulaire d’édition Power Apps (sauf si y’a un truc que je sais pas, du genre tu as besoin de mettre à jour une autre liste que celle des dépenses) : donc, un simple SubmitForm() sur ton bouton d’enregistrement de la dépense devrait suffire…
La fonction Patch() est un peu plus touchy à utiliser…
C’est normal qu’il n’y ait rien dans locSelectedDemande dans le cas de la création d’une nouvelle dépense puisqu’il s’agit justement de créer une nouvelle dépense et qu’elle n’existe pas encore. En fait, lorsque tu fais un NewForm() sur un formulaire, celui-ci ignore totalement le contenu de sa propriété Item. Il vide tous les champs et se met prêt à recevoir les saisies de l’utilisateur pour qu’à l’enregistrement il crée une nouvelle ligne dans la source de données.
Tiens, je pense à un truc : faire un EditForm() et un NewForm() à partir d’un écran A vers un écran B où se trouve le formulaire n’est pas une bonne pratique. Normalement, à aucun moment un écran ne doit faire référence à des éléments se trouvant sur un autre écran que lui-même.
La bonne pratique est donc la suivante :Dans le OnSelect de l’icône ‘+’ qui te permet de créer une dépense tu mets ceci :
Navigate(scr_AddItem; ScreenTransition.Fade; {locFormMode: FormMode.New})
Dans le OnSelect de la galerie des dépenses :
Navigate(scr_AddItem; ScreenTransition.Fade; {locSelectedDépense: ThisItem; locFormMode: FormMode.Edit})
Et sur la propriété DefaultMode de ton formulaire ef_AddItem :
locFormMode
SubCommentID=tuxpqqL4AZjrvba, CommentID=XgAT8HOkjTJxPNl, PostID=AnfuLI5T2x74sRI
R3dKap
Membre28 février 2023 à 13h49 en réponse à: Liste DATAVERSE utilisé dans le livre POWER APPS de Pascal CASTI (juillet 2022)Pascal vous pouvez vous parler en messages privés via la messagerie accessible en haut à droite du site si vous voulez :
SubCommentID=cQqBR1rZz5EdXBm, CommentID=LrFOXFE23PhEHCE, PostID=YVThraPdhxUXdJ5