Créer un fournisseur d’exécution
Cette rubrique décrit les étapes requises pour créer un fournisseur de services d'exécution dans Microsoft Dynamics 365 Intelligent Order Management.
Créer une nouvelle définition de fournisseur
Pour créer une nouvelle définition de fournisseur, procédez comme suit.
- Accédez à Fournisseurs > Catalogue.
- Sélectionnez Nouvelle définition de fournisseur.
- Pour Nom d'affichage, saisissez "IOMLabFulfillmentProvider".
- Pour Nom logique, saisissez "msdyn_IOMLabFulfillmentProvider".
- Pour Description, saisissez "Fournisseur d'exécution de laboratoire IOM".
- Pour Logo, sélectionnez "IOMLab.png".
- Pour Type de service, saisissez "Exécution".
- Cliquez sur Enregistrer et fermer.
Ajouter une définition de fournisseur à la solution
Pour ajouter une définition de fournisseur à la solution, procédez comme suit.
- Accédez au Portail Power App Maker et accédez à la solution nouvellement créée IOMLabProviders.
- Sélectionnez Ajouter une > définition du fournisseur IOM existant.
- Sélectionnez IOMLabFulfillmentProvider, puis sélectionnez Ajouter pour l'ajouter à la solution.
Créer une action de fournisseur pour envoyer une charge utile d'exécution à Outlook
Pour créer une action de fournisseur pour envoyer une charge utile d'exécution à Outlook, appliquez les étapes suivantes.
Accédez au Portail Power App Maker et naviguez jusqu'à Solutions.
Ouvrez la Solution par défaut.
Sélectionnez Nouveau.
Sélectionnez Flux de cloud, puis nommez-le "Laboratoire IOM - Envoyer à l’exécution (Outlook)".
Sélectionnez le type de déclencheur comme déclencheur HTTP
- Définissez un déclencheur Power Automate. Il s'agit généralement d'un point de terminaison HTTP qui est un déclencheur de webhook (recommandé), un déclencheur de connecteur ou un déclencheur d'insertion Dataverse. Le déclencheur est déclenché lorsqu'un service externe a des données à envoyer à Intelligent Order Management.
Le schéma JSON à utiliser dans votre déclencheur HTTP est défini ci-dessous.
{ "type": "object", "properties": { "text": { "title": "ProviderActionExecutionEventId", "type": "string", "x-ms-dynamically-added": true, "description": "Please enter your input", "x-ms-content-hint": "TEXT" }, "text_1": { "title": "EntityRecordId", "type": "string", "x-ms-dynamically-added": true, "description": "Please enter your input", "x-ms-content-hint": "TEXT" } }, "required": [ "text", "text_1" ] }
Ajoutez une étendue Essayer.
Au sein de l'étendue Essayer, ajoutez une action Effectuer une action non liée comme suit :
- ProviderActionExecutionEventId : Sous Contenu dynamique, sélectionnez ProviderActionExecutionEventId.
-
PowerAutomateRunId : spécifiez ce qui suit en tant qu'expression :
workflow()['run']?['name']
.
Ajoutez une action Obtenir une ligne par ID, puis procédez comme suit :
- Pour Nom de la table, saisissez "Ordres d’exécution".
- Pour ID de ligne, sélectionnez EntityRecordId sous Contenu dynamique.
Ajoutez une action Envoyer un e-mail depuis le connecteur Outlook.com, comme suit. Il existe quelques connecteurs de messagerie, assurez-vous de sélectionner Outlook.com car c'est la connexion configurée précédemment.
- Sur la ligne À, « placeholder@placeholder.com » est utilisé en tant que texte d’espace réservé. Il sera remplacé par un paramètre de fournisseur dans les étapes ultérieures.
- Sur la ligne Objet, le "nom" est obtenu à partir de l'étape Obtenir une commande d'exécution sous Contenu dynamique.
- Pour Corps, spécifiez ce qui suit en tant qu'expression :
outputs('Get_fulfillment_order')['body']
Ajoutez une action Liste des lignes comme suit :
- Pour Nom de la table, saisissez "Produits de l'ordre d’exécution".
- Pour Fetch Xml query, entrez ce qui suit :
<fetch> <entity name="msdyn_fulfillmentorderdetail"> <all-attributes /> <filter> <condition attribute="msdyn_fulfillmentid" operator="eq" value="@{triggerBody()['text_1']}"/> </filter> </entity> </fetch>
Ajoutez un contrôle Appliquer à chacun avec une action Envoyer un e-mail comme suit :
- value est obtenu à partir de la ligne Obtenir une commande d'exécution sous Contenu dynamique.
- name est obtenu à partir de la ligne Obtenir une commande d'exécution sous Contenu dynamique.
- Élément actuel est sélectionné sous Contenu dynamique.
Dans la boucle, ajoutez une action Ajouter à la variable de tableau comme suit :
- Pour Nom, saisissez "ProcessedFulfillmentOrderLines".
- Pour Value, sélectionnez ID de ligne d'exécution sous Contenu dynamique.
Dans la boucle, ajoutez une autre action Ajouter à la variable de tableau comme suit :
- Pour Name, saisissez "ProcessedSalesOrderLines".
- Pour Value, sélectionnez ID de ligne de vente sous Contenu dynamique.
Réduisez l'étendue Essayer en sélectionnant sa barre de titre.
Sélectionnez Nouvelle étape et ajoutez une autre étendue nommée "Variable".
Sur l'étendue Variable, sélectionnez les points de suspension ("..."), sélectionnez Configurer l'exécution après, et configurez comme suit :
- Cochez la case a échoué.
- Cochez la case a expiré.
Dans l'étendue Variable, sélectionnez Ajouter une action et ajoutez une action Définir la variable, et renommez-la "Définir le résultat de l'exécution comme ayant échoué".
Configurez les propriétés comme suit :
- Pour Nom, entrez "ExecutionResult".
- Pour Valeur, saisissez "false".
Sélectionnez Nouvelle étape et ajoutez une autre étendue nommée "Finally".
Sur l’étendue Finally, sélectionnez les points de suspension (« ... »), sélectionnez Configurer l’exécution après et configurez comme suit :
- Cochez la case est réussi.
- Cochez la case a expiré.
- Cochez la case est ignoré.
- Cochez la case a expiré.
Dans l'étendue Finally, ajoutez une étape "condition" et comparez la variable ExecutionResult comme suit :
- Dans le premier champ, sélectionnez la variable ExecutionResult.
- Dans le second champ, sélectionnez est égal à.
- Dans le troisième champ, sélectionnez true.
Dans la branche Si oui, ajoutez une action Exécuter un flux enfant et renommez-la "Déclencher des événements commerciaux pour les lignes de commande d'exécution traitées".
Configurez les propriétés comme suit :
- Pour Flux enfant, saisissez "Déclencher un événement commercial IOM".
- Pour BusinessEventDefinitionId, saisissez "063d85c8-60a4-eb11-9443-000d3a313675".
- Pour EntityRecordId, spécifiez ce qui suit en tant qu'expressions :
string(variables('ProcessedFulfillmentOrderLines'))
Dans la branche Si oui, ajoutez une autre action Exécuter un flux enfant et renommez-la "Déclencher des événements regroupés de commande".
Configurez les propriétés comme suit :
- Pour LineBusinessEventDefinitionId, saisissez "ccf64002-61a4-eb11-9443-000d3a313675".
- Pour LineRecordId : spécifiez ce qui suit en tant qu'expression :
string(variables('ProcessedSalesOrderLines'))
. - Pour OrderBusinessEventDefinitionId, saisissez "48688716-61a4-eb11-9443-000d3a313675".
Réduisez l'étape de condition.
Ajoutez une action Effectuer une action non liée comme suit :
- Pour Nom de l'action, saisissez "msdyn_CompleteProviderActionExecution".
- Pour ExecutionResult, sélectionnez la variable ExecutionResult sous Contenu dynamique.
- Pour ProviderActionExecutionEventId, sélectionnez ProviderActionExecutionEventId sous Contenu dynamique.
Sélectionnez Enregistrer.
Ajouter une définition de logique de définition de fournisseur à la définition de fournisseur Outlook
Pour ajouter une définition de logique de définition de fournisseur à la définition de fournisseur Outlook, suivez cette procédure.
- Accédez à Fournisseurs > Catalogue.
- Sélectionnez le nouveau IOMLabFulfillmentProvider.
- Sélectionnez Modifier dans la barre de menus.
- Sélectionnez l'onglet Définitions logiques.
- Sélectionnez + Nouvelle définition de la logique de la définition du fournisseur IOM.
- Pour Nom d'affichage, saisissez "Laboratoire IOM - Envoyer à l’exécution (Outlook)".
- Pour Nom logique, saisissez "msdyn_LabSentToFulfillmentOutlook".
- Pour Définition du fournisseur, saisissez "IOMLabFulfillmentProvider".
- Pour Type de logique, saisissez "Action du fournisseur".
- Pour Nom du workflow, saisissez "Laboratoire IOM - Envoyer à l’exécution (Outlook)".
- Pour Minutes d'expiration, entrez "2".
- Pour Nombre maximal de tentatives, entrez "3".
- Pour Description, saisissez "Laboratoire IOM - Envoyer à l’exécution (Outlook)".
- Pour Type d'action, saisissez "Envoyer à l'exécution".
- Sélectionnez Enregistrer. Cela générera une représentation JSON du flux cloud du gestionnaire de messages et remplira le champ Données client.
- Remplacez l’e-mail d’espace réservé par le paramètre provider comme suit :
- Copiez le bloc de texte dans le champ Données client et collez-le dans le Bloc-notes.
- Dans le bloc de texte, recherchez « placeholder@placeholder.com » et remplacez-le par « {{IOMLabOutboundFulfillmentEmail}} ».
- Copiez le bloc de texte modifié dans le champ Données client.
- Cliquez sur Enregistrer et fermer.
- Sélectionnez Connexions. Vous devriez voir à la fois les définitions de référence de connexion Microsoft Dataverse et Outlook.com répertoriées.
Ajouter une définition de logique de définition de fournisseur à la solution Outlook IOMLabProviders
Pour ajouter une définition de logique de définition de fournisseur à la solution Outlook IOMLabProviders, suivez ces étapes.
- Accédez au Portail Power App Maker et accédez à la solution nouvellement créée IOMLabProviders.
- Sélectionnez Définition logique de la > définition du fournisseur IOM existant.
- Sélectionnez Laboratoire IOM - Envoyer à l’exécution (Outlook), puis sélectionnez Ajouter pour l'ajouter à la solution.
Ajouter des références de connexion à la définition du fournisseur à la solution IOMLabProviders
Pour ajouter des références de connexion à la définition à la solution IOMLabProviders, suivez cette procédure.
- Accédez au Portail Power App Maker et accédez à la solution nouvellement créée IOMLabProviders.
- Sélectionnez Référence de connexion de la > définition du fournisseur IOM existant.
- Sélectionnez les deux références de connexion de définition de fournisseur Microsoft Dataverse et Outlook.com, puis sélectionnez Ajouter pour les ajouter à la solution.
Créer une action de fournisseur pour envoyer une charge utile d'exécution à RequestBin
Pour créer une action de fournisseur pour envoyer une charge utile d'exécution à RequestBin, appliquez les étapes suivantes.
Accédez au Portail Power App Maker et naviguez jusqu'à Solutions.
Ouvrez la Solution par défaut.
Sélectionnez Nouveau.
Sélectionnez Flux de cloud, puis nommez-le "Laboratoire IOM - Envoyer à l’exécution (RequestBin)".
Sélectionnez le type de déclencheur comme Déclencher manuellement un flux, puis procédez comme suit :
- Sélectionnez Ajouter une entrée, sélectionnez Texte, puis saisissez "ProviderActionExecutionEventId" dans le premier champ.
- Sélectionnez Ajouter une entrée, sélectionnez Texte, puis saisissez "EntityRecordId" dans le premier champ.
Créez une action d'initialisation de variable :
- Pour Nom, entrez "ExecutionResult".
- Pour Type, sélectionnez Booléen.
- Pour Valeur, saisissez "true".
Créez une seconde action d'initialisation de variable :
- Pour Nom, saisissez "ProcessedSaleOrderLines".
- Pour Type, sélectionnez Tableau.
Créez une troisième action d'initialisation de variable :
- Pour Nom, saisissez "ProcessedFulfillmentOrderLines".
- Pour Type, sélectionnez Tableau.
Ajoutez une étendue Essayer.
Au sein de l'étendue Essayer, ajoutez une action Effectuer une action non liée comme suit :
- ProviderActionExecutionEventId : Sous Contenu dynamique, sélectionnez ProviderActionExecutionEventId.
-
PowerAutomateRunId : spécifiez ce qui suit en tant qu'expression :
workflow()['run']?['name']
.
Ajoutez une action Obtenir une ligne par ID et configurez-la comme suit :
- Pour Nom de la table, saisissez "Ordres d’exécution".
- Pour ID de ligne, sélectionnez EntityRecordId sous Contenu dynamique.
Ajouter une action Créer une commande d'exécution du connecteur RequestBin, comme suit.
- Pour Body, sélectionnez body sous Contenu dynamique.
Ajoutez une action Liste des lignes comme suit :
- Pour Nom de la table, saisissez "Produits de l'ordre d’exécution".
- Pour Fetch Xml query, entrez ce qui suit :
<fetch> <entity name="msdyn_fulfillmentorderdetail"> <all-attributes /> <filter> <condition attribute="msdyn_fulfillmentid" operator="eq" value="@{triggerBody()['text_1']}"/> </filter> </entity> </fetch>
Ajoutez un contrôle "Appliquer à chacun" avec une action Créer des lignes de commande d'exécution de la connexion RequestBin comme suit :
- value est obtenu à partir de la ligne Obtenir une commande d'exécution sous Contenu dynamique.
- Élément actuel est sélectionné sous Contenu dynamique.
Dans la boucle, ajoutez une action Ajouter à la variable de tableau comme suit :
- Pour Nom, saisissez "ProcessedFulfillmentOrderLines".
- Pour Value, sélectionnez ID de ligne d'exécution sous Contenu dynamique.
Dans la boucle, ajoutez une autre action Ajouter à la variable de tableau comme suit :
- Pour Name, saisissez "ProcessedSalesOrderLines".
- Pour Value, sélectionnez ID de ligne de vente sous Contenu dynamique.
Réduisez l'étendue Essayer en sélectionnant sa barre de titre.
Sélectionnez Nouvelle étape et ajoutez une autre étendue renommée "Variable".
Sur l'étendue Variable, sélectionnez les points de suspension ("..."), sélectionnez Configurer l'exécution après, et configurez comme suit :
- Cochez la case a échoué.
- Cochez la case a expiré.
Dans l'étendue Variable, sélectionnez Ajouter une action et ajoutez une action Définir la variable, et renommez-la "Définir le résultat de l'exécution comme ayant échoué".
Configurez les propriétés comme suit :
- Pour Nom, entrez "ExecutionResult".
- Pour Valeur, saisissez "false".
Sélectionnez Nouvelle étape et ajoutez une autre étendue renommée "Finally".
Dans l’étendue Finally, sélectionnez les points de suspension (« ... »), sélectionnez Configurer l’exécution après, et configurez comme suit :
- Cochez la case est réussi.
- Cochez la case a expiré.
- Cochez la case est ignoré.
- Cochez la case a expiré.
Dans l'étendue Finally, ajoutez une étape "condition" et comparez la variable ExecutionResult définie sur "true" comme suit :
- Dans le premier champ, sélectionnez la variable ExecutionResult.
- Dans le second champ, sélectionnez est égal à.
- Dans le troisième champ, sélectionnez true.
Dans la branche Si oui, ajoutez une action Exécuter un flux enfant et renommez-la "Déclencher des événements commerciaux pour les lignes de commande d'exécution traitées".
Configurez les propriétés comme suit :
- Pour Flux enfant, saisissez "Déclencher un événement commercial IOM".
- Pour BusinessEventDefinitionId, saisissez "063d85c8-60a4-eb11-9443-000d3a313675".
- Pour EntityRecordId, spécifiez ce qui suit en tant qu'expressions :
string(variables('ProcessedFulfillmentOrderLines'))
Dans la branche Si oui, ajoutez une autre action Exécuter un flux enfant et renommez-la "Déclencher des événements regroupés de commande".
Configurez les propriétés comme suit :
- Pour LineBusinessEventDefinitionId, saisissez "ccf64002-61a4-eb11-9443-000d3a313675".
- Pour LineRecordId : spécifiez ce qui suit en tant qu'expression :
string(variables('ProcessedSalesOrderLines'))
. - Pour OrderBusinessEventDefinitionId, saisissez "48688716-61a4-eb11-9443-000d3a313675".
Réduisez l'étape de condition.
Ajoutez une action Effectuer une action non liée comme suit :
- Pour Nom de l'action, saisissez "msdyn_CompleteProviderActionExecution".
- Pour ExecutionResult, sélectionnez la variable ExecutionResult sous Contenu dynamique.
- Pour ProviderActionExecutionEventId, sélectionnez ProviderActionExecutionEventId sous Contenu dynamique.
Sélectionnez Enregistrer.
Ajouter une définition de logique de définition de fournisseur à la définition de fournisseur (RequestBin)
Pour ajouter une définition de logique de définition de fournisseur à la définition de fournisseur RequestBin, suivez cette procédure.
- Accédez à Fournisseurs > Catalogue.
- Sélectionnez le nouveau IOMLabFulfillmentProvider.
- Sélectionnez Modifier dans la barre de menus.
- Sélectionnez l'onglet Définitions logiques.
- Sélectionnez + Nouvelle définition de la logique de la définition du fournisseur IOM.
- Pour Nom d'affichage, saisissez "Laboratoire IOM - Envoyer à l’exécution (RequestBin)".
- Pour Nom logique, saisissez "msdyn_LabSentToFulfillmentRequestBin".
- Pour Définition du fournisseur, saisissez "IOMLabFulfillmentProvider".
- Pour Type de logique, saisissez "Action du fournisseur".
- Pour Nom du workflow, saisissez "Laboratoire IOM - Envoyer à l’exécution (RequestBin)".
- Pour Minutes d'expiration, entrez "2".
- Pour Nombre maximal de tentatives, entrez "3".
- Pour Description, saisissez "Laboratoire IOM - Envoyer à l’exécution (RequestBin)".
- Pour Type d'action, saisissez "Envoyer à l'exécution".
- Sélectionnez Enregistrer. Cela générera une représentation JSON du flux cloud du gestionnaire de messages et remplira le champ Données client.
- Cliquez sur Enregistrer et fermer.
- Sélectionnez Connexions. Vous devriez voir les définitions de référence de connexion Microsoft Dataverse, Outlook.com et RequestBin répertoriées.
Ajouter un paramètre de définition du fournisseur à la définition du fournisseur
Pour ajouter un paramètre de définition de fournisseur à la définition de fournisseur, suivez cette procédure.
- Sélectionnez Paramètres.
- Sélectionnez Nouveau paramètre de la définition du fournisseur IOM.
- Pour Nom d'affichage, saisissez "IOMLAbOutboundFulfillmentEmail".
- Pour Type de données, saisissez "Texte".
- Pour Définition du fournisseur, saisissez "IOMLabFulfillmentProvider".
- Pour Clé, saisissez "IOMLabOutboundFulfillmentEmail".
- Pour Nom logique, saisissez "msdyn_IOMLabOutboundFulfillmentEmail".
- Pour Est requis, entrez "Oui".
- Cliquez sur Enregistrer et fermer.
Ajouter une définition de logique de définition de fournisseur à la solution IOMLabProviders (RequestBin)
Pour ajouter une définition de logique de définition de fournisseur à la solution IOMLabProviders RequestBin, suivez cette procédure.
- Accédez au Portail Power App Maker et accédez à la solution nouvellement créée IOMLabProviders.
- Sélectionnez Définition logique de la > définition du fournisseur IOM existant.
- Sélectionnez Laboratoire IOM - Envoyer à l’exécution (RequestBin), puis sélectionnez Ajouter pour l'ajouter à la solution.
Ajouter une référence de connexion à la définition du fournisseur à la solution IOMLabProviders
Pour ajouter une référence de connexion à la définition à la solution IOMLabProviders, suivez cette procédure.
- Accédez au Portail Power App Maker et accédez à la solution nouvellement créée IOMLabProviders.
- Sélectionnez Référence de connexion de la > définition du fournisseur IOM existant.
- Sélectionnez RequestBin, puis sélectionnez Ajouter pour l'ajouter à la solution.
Ajouter un paramètre de définition du fournisseur à la solution IOMLabProviders
Pour ajouter un paramètre de définition de fournisseur à la solution IOMLabProviders, suivez cette procédure.
- Accédez au Portail Power App Maker et accédez à la solution nouvellement créée IOMLabProviders.
- Sélectionnez le paramètre de la > définition du fournisseur IOM existant.
- Sélectionnez IOMLabOutboundFulfillmentEmail, puis sélectionnez Ajouter pour l'ajouter à la solution.
Prochaine étape du laboratoire de démarrage rapide : Exporter la solution