Skip to content
Power Platform - Apps - Automate - SharePoint
  • Pages
    • Support Power Platform - Power Apps - Power Automate
      • Licences
      • Mises à jour (waves)
      • Environnement & Solutions
        • Attribuer des droits sur un environnement
      • Power BI
      • Liens vers nos supports
    • Architecture Power Platform
      • Modéliser des données
    • Administrer Power Platform
      • Références
      • Sécurité
      • Center of Excellent (CeE)
      • Application Lifecycle Management (ALM) [WiP]
    • Power Apps
      • Références
      • Process de développement d'applications PowerApps
        • Création d'applications [WiP]
        • Contrôles
        • Contrôles modernes
      • Power Apps - Fonctions principales
        • Tips Fonctions
        • Fonction Patch
          • Patch des types complexes d'une liste SharePoint
      • Applications basées sur un modèle (model driven apps)
        • Tips Fonctions
        • Modèles Word avec une application pilotée par modèle
        • Lancer un flux depuis un bouton d'une application pilotée par modèle
        • Ressources JavaScript
      • Modes opératoires
        • Application Canvas - Guide de survie
        • Flux PowerAutomate à partir de Power Apps
        • Créer une application PowerApps avec une liste SharePoint
        • Compléter un modèle Word et générer un PDF [Premium]
        • Récupérer une photo depuis la caméra
        • Listes en cascade
        • Sélectionner un utilisateur (Liste SP)
        • Partager une application Power Apps
      • Développeur
        • JS
        • Outils externes
        • Bibliothèque de composants
      • Alternatives à PowerApps
      • Quizz
      • Charte de nommage et bonnes pratiques Power Apps Canvas
    • Power Automate
      • Références
      • Fonctions
        • JSON
        • Tips
        • Manipulations fichiers SharePoints [ToDo]
      • Modes opératoires
        • Approbations
          • Généralités
          • Approbations simples
          • [Exo] Commande fournisseur
        • [WiP] Ajouter un bouton de colonne SharePoint qui exécute un flux
        • Créer un PDF à partir de code HTML avec image
        • [WiP] Exécuter un flux depuis une ligne sélectionnée dans Excel
          • Copier un fichier depuis une PJ Outlook
        • Envoyer "en tant que"
        • Compter des éléments, même supprimés (table Audits)
      • Cas pratiques
        • [Dataverse] Trigger
      • Alternatives à Power Automate
      • Syntaxe générale
      • Power Automate pour le Bureau (PA
        • Ressources pédagogiques
    • Dataverse
      • Références
      • Common Data Model
      • Tables [WIP]
      • Colonnes [WIP]
      • Sécurité
      • Développeur
      • Référence automatique
      • Application pilotée par modèle
        • Exemple pratique
        • Migration depuis Access
    • Microsoft 365 & SharePoint
      • Vue d'ensemble de Microsoft 365 et SharePoint
      • Déroulé pédagogique
        • Module 1 : Microsoft 365 et SharePoint Online
        • Module 2 : Bibliothèques et listes
        • Module 3 : Intégration Office et gestion des documents
        • Module 4 : Type de contenu
        • Module 5 : Personnalisation des pages
        • Module 6 : Personnalisation des sites et des espaces de travail
        • Module 7 : Gestion de la sécurité
        • Module 8 : Workflows Power Automate
      • Bonnes pratiques
      • Sites SharePoint
        • Types de sites
        • Hiérarchies de sites
          • Sous-sites vs Hubs de sites
        • Créer un site
        • Principaux composants
          • Navigation
          • Composant WebPart dans les pages
          • Bibliothèques de document & Listes
          • Lien avec Teams
        • Pages d'un site SharePoint
        • Partage de flux d'un fichier ou d'un élément sélectionné
      • Listes SharePoint
        • Créer une liste
          • Créer une colonne
          • Gérer les vues
        • Power Automate avec des listes SharePoint
        • Mettre à jour une Liste SharePoint depuis Excel
        • TIPS
      • Bibliothèques de fichiers & dossiers SharePoint [WiP]
        • Rétention
        • Généralités
          • Création d'un nouveau document
          • Associer un modèle de document
          • Affichage et modification de documents dans le navigateur
          • Affichage et modification de documents dans le client
          • Téléchargement de documents
          • Déplacement et copie de documents
          • Affichage et modification des paramètres de la bibliothèque de documents
          • Paramètres de gestion des versions, approbation du contenu et extraction de documents
      • Intégration Power Apps
      • Droits & sécurité
      • API
      • Administration & rôles
    • Exercices
      • pl-7001
        PL-7001 - Power Apps Canvas
        • Lab 0 – Valider l'environnement de laboratoire
        • Lab 1 – Créer une application canevas à partir de données
        • Lab 2 – Modèle de données
        • Lab 3 – Créer une application canevas
        • Lab 4 – Créer l'interface utilisateur
        • Lab 5 – Données externes
        • Lab 6 – Formulaires
        • Lab 7 – Gérer les applications canevas
      • pl-7002
        PL-7002 - Power Automate
        • Lab 0 - Vérifier l’environnement de labo
        • Lab 1 - Créer des flux de cloud
        • Lab 2 - Modèle de données Dataverse
        • Lab 3 - SharePoint
        • Lab 4 - Flux d’approbation [SP]
        • Lab 5 - Flux de bouton [DV]
        • Lab 6 - Flux planifié [SP]
        • Lab 7 - Filtres de déclencheur [DV]
    • Exos Power Apps Power Automate
      • [Exo A] Flux avec une liste SharePoint
      • [Exo06] Créer une application Canvas avec Copilot
      • Flux avec une table Dataverse
        • Créer la source Dataverse
        • Créer le flux de bouton
        • Créer un flux automatisé avec filtre
      • Flux avec une liste SharePoint

[Dataverse] Trigger

ContratDateajouteousupprime_1_0_0_0.zip
4.4 kB

Scénarios

On dispose d’une table ContratLocation et d’une table DateContrat. Chaque DateContrat est affectée à un ContratLocation. Un Contrat peut avoir 1 ou plusieurs tables.
Un Contrat a un champ CodeContrat pour identifier chaque contrat et un champ NbDateOccupationPrevu, qui contient le nombre de dates attendues pour le contrat.
Une DateContrat a une DateOccupation.
Le Contrat prévoit un champ NbDateOccupation qui compte le nombre de DateContrat pour le Contrat. En comparant les 2 nombres (NbDateOccupationPrevu et NbDateOccupation), on identifiera les contrats qui ont une différence entre les dates prévues et les dates réellement saisies.
On doit donc calculer ce NbDateOccupation dès qu’une date est ajoutée ou supprimée.
image.png

1- Préparation

Dans la table DateContrat, activer l’audit pour l’un des champs : ​
image.png
Dans le Centre d’administration de Power Platform, pour l’environnement choisi, démarrer l’audit :
image.png

2- Mise en place du flux

Dans Power Automate, ajouter un flux.
Dans ce flux, ajouter le déclencheur Dataverse Lorsqu’une ligne est ajoutée, modifiée ou supprimée.
Paramétrer le déclencheur : ​
image.png
Le déclencheur retournera le JSON suivant :
{
"headers": {
"Expect": "100-continue",
(...)
"Content-Length": "214",
"Content-Type": "application/json"
},
"body": {
"gd_contratdateid": "34b494be-7a98-ef11-8a69-002248728afb",
"ItemInternalId": "34b494be-7a98-ef11-8a69-002248728afb",
"SdkMessage": "Delete",
"RunAsSystemUserId": "415c6075-5bff-ee11-9f89-00224872360b"
}
}
On veut récupérer la valeur de la clé SdkMessage pour identifier si l’action est une suppression ou pas.

3- Initialise la variable contratlocation_id

Cette variable contiendra l’id du ContratLocation à mettre à jour : ​
image.png

4- Condition

On ajoute une condition :
image.png
Dans la zone Choisir une valeur, saisir cette expression :
triggerOutputs()?['body/SdkMessage']
Voici comment saisir l’expression :
image.png

5- Requêtes HTTP si suppression

On va créer une requête vers la table d’audit de la base Dataverse qui contient l’historique des mouvements de données. Ces dans cet historique qu’on trouvera l’ID du ContratLocation de la DateContrat supprimé.
Du côté True de la condition, ajouter une action de type HTTP With Microsoft Entra ID. Votre compte Active Directory sera utilisé pour la connexion :
image.png
Pour créer la connexion, dans les zones URL de ressource de base et URI de ressource Microsoft Entra ID (URI de l’ID d’application), coller l’URL vers votre environnement, sous la forme https://XXXXXX.crmXX.dynamics.com/.
info
Pour trouver l’URL de l’environnement, aller dans le Centre administration de Power Platform () puis sélectionner l’environnement, et copier l’URL.
image.png
Après création de la connexion, compléter l’action en sélectionnant GET comme Méthode, et indiquer comme URL de la requête :
/api/data/v9.2/audits?$filter=objecttypecode%20eq%20%27gd_contratdate%27%20and%20operation%20eq%203&$orderby=createdon%20desc&$top=1

6- Analyser le JSON de la requête HTTP

Ajouter une action de type de type Analyser JSON : ​
image.png
Cliquer dans Content, puis cliquer sur l’éclair et saisir :
body('reqHTTP_Audit')['value'][0]['changedata']
Dans la zone Schéma, cliquer sur le lien Utiliser l’exemple de charge utile pour générer le schéma. Coller ce texte et cliquer sur Terminé :
{
"body": {
"changedAttributes": [
{
"logicalName": "gd_dateoccupation",
"oldValue": "11/12/2024 23:00:00",
"newValue": null
},
{
"logicalName": "gd_contratlocation",
"oldValue": "gd_contratlocation,fe42d914-8098-ef11-8a69-002248728afb",
"newValue": null
},
{
"logicalName": "owningbusinessunit",
"oldValue": "businessunit,4f556075-5bff-ee11-9f89-00224872360b",
"newValue": null
},
{
"logicalName": "importsequencenumber",
"oldValue": null,
"newValue": null
},
{
"logicalName": "overriddencreatedon",
"oldValue": null,
"newValue": null
}
]
}
}

ok
Pour trouver ce code, exécuter le flux, par exemple avec un test : ​
image.png
(1) : après exécution, cliquer sur l’étape reqHTTP Audit.
(2) : cliquer sur Afficher les sorties brutes
(3) : copier la partie entre guillemets de la propriété changedata (qui déborde de l’écran).

7- Définir les variables

Ajouter une action de type Définir une variable. Sélectionner le nom contratlocation_id et comme Valeur l’expression :
split(body('Parse_Audit')?['changedAttributes'][1]?['oldValue'], ',')[1]
Du côté False de la condition, ajouter une action de type Définir une variable. Sélectionner le nom contratlocation_id et comme Valeur la valeur ContratLocation (Valeur) de l’étape Lorsqu’une ligne est ajoutée, modifiée ou supprimée :
image.png

8-

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.