Récupérer les valeurs d’une table plutôt que l’ID
-
Récupérer les valeurs d’une table plutôt que l’ID
Posté par Valentin sur 29 août 2024 à 15h53Bonjour,
Je n’arive pas à récupérer les valeurs d’une table depuis un flux power automate. J’ai un déclencheur lorsque j’ajoute une ligne sur une table et ensuite je souhaiterai envoyer un mail en utilisant les données de cette ligne. Seulement j’ai des colonnes qui sont avec un choix et lorsque que je selectionne ces colonnes pour insérer dans mon corps de mail je me retrouve avec l’ID plutôt que la valeur.
Comment faire ?
Valentin a répondu Il y a 2 mois, 2 semaines 3 Membres · 14 Réponses -
14 Réponses
-
Bonjour Valentin,
Il ne te propose pas les champs avec Value ?
Aurais-tu une copie de ton flux ?
-
Bonjour Geoffroy,
Non le paramètre value n’apparaît pas quand je selectionne les champs :
<h3></h3>
Dans ma table, le paramètre “Attente client” a des champs prédéfinis donc une liste de choix.
Est-ce suffisant comme image pour t’aider dans ma problématique ?
Merci 🙂
-
Aïe, c’est du Dataverse. Moi, je suis sur SharePoint donc on ne va pas voir les mêmes choses.
J’ai peur de ne pas être d’un grand secours. ☹
-
Tu peux récupérer les noms d’affichage de tes choix dans la colonne
Nom_de_la_colonne_options@OData.Community.Display.V1.FormattedValue
voici un exemple avec ma colonne “dz_multiplechoice”:
Cette colonne ne sera pas proposée dans les valeurs dynamiques, le plus simple est de créer une expression, insérer la colonne choix et d’ajouter “@OData.Community.Display.V1.FormattedValue” au nom de la colonne, exemple :
-
Bonjour David,
Merci pour ton retour. Il y a quelque chose que j’ai du mal faire car cela ne fonctionne pas :(. J’ai un message d’erreur.
Voici les données que j’ai rentrées :
-
Dans le items, l’expression For_each prend une majuscule au début chez David.
-
Le début de l’expression : items(‘For_each’) est à adapter à ton contexte, c’est le nom de l’action dans l’aquelle tu récupère ta ou tes valeurs (dans mon cas c’était dans une table, donc dans une boucle for each)
Dans ton expression, ajoute la valeur dynamique de ta colonne ‘Attente Client’
cela va générer une fonction ::
outputs(‘Nom de l’action depuis laquelle tu ajoutes cette valeur’)?[‘body/attenteclient’]
et là plus qu’à ajouter le @OData blabla :
outputs(‘Nom de l’action depuis laquelle tu ajoutes cette valeur’)?[‘body/attenteclient@OData.Community.Display.V1.FormattedValue‘]
-
Merci pour ce nouveau retour.
En mettant à jour ma formule et en lançant un test, je n’ai toujours rien qui remonte comme texte en face du texte “délai souhaité” de mon mail 🙁
Voici la formule utilisée :
triggerBody()?[‘body/cra95_attenteclient@odata.community.display.v1.formattedValue’]
Voici le code utilisé :
<div>
<div>”type”: “OpenApiConnection”,</div>
<div> “inputs”: {</div>
<div> “parameters”: {</div>
<div> “emailMessage/To”: “exemple@gmail.com”,</div>
<div> “emailMessage/Subject”: “[Demande complexe] : @{triggerOutputs()?[‘body/cra95_client’]}”,</div>
<div> “emailMessage/Body”: “Bonjour,
une nouvelle demande complexe a été initiée, voici le récapitulatif :
Client : @{triggerOutputs()?[‘body/cra95_client’]}
Descriptif du projet : @{triggerOutputs()?[‘body/cra95_descriptifduprojet’]}
Nombre de stagiaire : @{triggerOutputs()?[‘body/cra95_nbstagiaires’]}
Délai souhaité : @{triggerBody()?[‘body/cra95_attenteclient@odata.community.display.v1.formattedValue’]}
Merci de bien vouloir en prendre connaissance
“,</div>
<div> “emailMessage/Importance”: “Normal”</div>
<div> },</div>
<div> “host”: {</div>
<div> “apiId”: “/providers/Microsoft.PowerApps/apis/shared_office365”,</div>
<div> “connection”: “shared_office365”,</div>
<div> “operationId”: “SendEmailV2″</div>
<div> }</div>
<div> },</div>
<div> “runAfter”: {},</div>
<div> “metadata”: {</div>
<div> “operationMetadataId”: “31f5e069-8ac0-49f2-8e6e-fa66b831611f”</div>
<div> }</div>
<div>}</div>
</div> -
Si les autres données remontent bien, alors c’est que le problème vient d’ici :
-
Pour être plus précis , c’est soit :
@{triggerBody()?[‘cra95_attenteclient@odata.community.display.v1.formattedValue’]}
Soit :
@{triggerOutputs()?[‘body/cra95_attenteclient@odata.community.display.v1.formattedValue’]}
Mais pas triggerBody et body/ :p
-
Si ça ne fonctionne toujours pas, tu peux essayer avec @{triggerBody()?[‘_cra95_attenteclient_label’]}
Attention à l’underscore avant le nom de la col et avant le label (c’est ce format pour les colonnes à choix unique)Dans le doute, tu peux toujours observer le json de ton déclencheur pour voir quel est le nom réél de la colonne (dans la partie body)
-
Ca ne fonctionne pas avec ces propositions. J’ai testé :
<div>
<div>triggerOutputs()?[‘body/cra95_attenteclient’] -> l’ID remonte</div>
<div>triggerOutputs()?[‘body/cra95_attenteclient@odata.community.display.v1.formattedValue’] -> rien ne remonte</div>
<div>triggerBody()?[‘cra95_attenteclient@odata.community.display.v1.formattedValue’] -> Message d’erreur : L’expression n’est pas valide</div>
<div>triggerBody()?[‘_cra95_attenteclient_label’] : Message d’erreur : L’expression n’est pas valide</div>
<div> </div>
<div>Comment je peux m’assurer que le formatage OData est bien pris en charge ? Ou c’est forcément pris en compte par power Autmate ?</div>
<div> </div>
<div> </div>
</div>- Cette réponse a été modifiée Il y a 2 mois, 3 semaines par Valentin.
-
David,
J’ai retapé les formules sans faire un copier/coller, et la dernière formule fonctionne !!
<div>
<div>triggerBody()[‘_cra95_attenteclient2_label’]</div>
<div>Je n’explique pas ce que j’ai mal fait mais ça fonctionne.</div>
<div>Merci beaucoup pour l’aide apportée 🙂 🙂 :)</div>
</div>
Connectez-vous pour répondre.