R3dKap
Expert Power AppsRéponses céées sur le Forum
-
R3dKap
Membre6 mars 2023 à 9h40 en réponse à: Message d'erreur "l'opération demandée n'est pas validePardon, j’aurais dû être plus précis dans mes explications. Ce que je voulais dire par “conditionner le LookUp()” c’est de ne déclencher le LookUp() que s’il y a une valeur dans DataCardValue5.Text pour éviter de faire une recherche avec une valeur à vide (ce qui semble poser souci au connecteur Excel).
Par exemple, pour ta dernière formule :
If(n !IsBlank(DataCardValue5.Text);n LookUp(n BD_article; n EAN=DataCardValue5.Text; n Articlen )n)
D’ailleurs, maintenant que j’y pense, au vu de mon post récent sur LinkedIn, tu devrais pour obtenir la même chose en écrivant ceci (mais ça reste à tester, et le résultat m’intéresse parce-que ça me permettrait de compléter mon post) :
LookUp(n BD_article; n !IsBlank(DataCardValue5.Text) && EAN=DataCardValue5.Text; n Articlen)
De manière générale, je pense qu’il faut éviter que dans un LookUp() vers un fichier Excel il y ait le moindre test à blanc dans la condition de recherche.
Et au passage, tout ces problèmes disparaissent dès lors que tu utilises des listes SharePoint. Utiliser des fichiers Excel dans des applications Power Apps est vraiment à éviter (trop de problèmes de formats, de recherche, etc.). 😉
CommentID=wIXIF19QUQuRfcA, PostID=NFu9QBMID615Sfb
-
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
-
Tout à fait exact Patrice.
La structure
{Id: 32; Value: "toto"}
est propre à SharePoint. Au passage tu remarqueras le “I” majuscule du “Id” et le “d” minuscule -> très important car le champ “ID” SharePoint quant à lui est tout en majuscule… 😉Côté Dataverse, c’est un peu différent : la colonne de recherche pointe/contient la totalité de l’enregistrement cible. Tu peux donc via le champ de recherche “consulter” n’importe quelle colonne de ta table cible.
SubCommentID=4GgalBJtbID2irs, CommentID=5EiJUJTnB3I2EhK, PostID=AnfuLI5T2x74sRI
-
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