Exemple : Xrm.Page.data.process.getActivePath

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Cet exemple illustre les données renvoyées quand vous utilisez la méthode Xrm.Page.data.process.getActivePath.

Configuration requise

La fonction Sdk.formOnLoad de la bibliothèque d'exemples JavaScript doit être définie comme gestionnaire d'événements OnLoad pour un formulaire.

Démontre

La méthode Xrm.Page.data.process.getActivePath renvoie une collection de phases représentant toutes les phases précédentes, la phase active actuelle et les futures phases prévues en tenant compte des conditions de branchement et des données de formulaire actuelles. Chaque étape dispose d'une méthode getSteps que vous pouvez utiliser pour extraire les informations relatives à chaque étape de la phase.

Cet exemple illustre l'utilisation de certaines des méthodes de l'APIXrm.Page.data.process. Il ne représente l'utilisation de cet API afin de satisfaire une exigence de l'entreprise ; il a uniquement pour objet d'illustrer de quelle manière les valeurs de propriété clés sont accessibles par code.

Exemple

La fonction Sdk.formOnLoad utilise la méthode Xrm.Page.data.process.getActivePath pour récupérer une collection de phases. Ensuite, l'exemple de code utilise la méthode forEach de la collecte pour effectuer une boucle à chaque phase. Le code écrit ensuite les propriétés clés de la phase sur la console à l'aide de la fonction Sdk.writeToConsole définie dans cette bibliothèque. Le code accède ensuite à une collection d'étapes pour chaque étape à l'aide de la méthode getSteps. Enfin, l'exemple utilise la méthode forEach de collection d'étapes pour accéder à chaque étape et écrire les propriétés clés de l'étape sur la console.

var Sdk = window.Sdk || { __namespace: true };
(function () {

 // A function to log messages while debugging only
 this.writeToConsole = function (message) {
  if (typeof console != 'undefined')
  { console.log(message); }
 };

 //Code to run in the OnLoad event 
 this.formOnLoad = function () {
  //Enumerate the stages and steps in the active path
  var activePathCollection = Xrm.Page.data.process.getActivePath();
  activePathCollection.forEach(function (stage, n) {
   Sdk.writeToConsole("Stage Index: " + n);
   Sdk.writeToConsole("Entity: " + stage.getEntityName());
   Sdk.writeToConsole("StageId: " + stage.getId());
   Sdk.writeToConsole("Status: " + stage.getStatus());
   var stageSteps = stage.getSteps();
   stageSteps.forEach(function (step, i) {
    Sdk.writeToConsole("    Step Name: " + step.getName());
    Sdk.writeToConsole("    Step Attribute: " + step.getAttribute());
    Sdk.writeToConsole("    Step Required: " + step.isRequired());
    Sdk.writeToConsole("    ---------------------------------------")
   })
   Sdk.writeToConsole("---------------------------------------")
  });
 };
}).call(Sdk);

Lorsque l'exemple s'exécute dans le navigateur, vous pouvez utiliser les outils de développement du navigateur pour afficher le texte écrit sur la console. Par exemple, lorsque cet exemple est exécuté dans le formulaire d'entité Prospect avec le Processus de vente prospect-opportunité, les éléments suivants sont écrits sur la console :

Stage Index: 0
Entity: lead
StageId: f99b4d48-7aad-456e-864a-8e7d543f7495
Status: active
    Step Name: Existing Contact?
    Step Attribute: null
    Step Required: false
    ---------------------------------------
    Step Name: Existing Account?
    Step Attribute: null
    Step Required: false
    ---------------------------------------
    Step Name: Purchase Timeframe
    Step Attribute: purchasetimeframe
    Step Required: false
    ---------------------------------------
    Step Name: Estimated Budget
    Step Attribute: budgetamount
    Step Required: false
    ---------------------------------------
    Step Name: Purchase Process
    Step Attribute: purchaseprocess
    Step Required: false
    ---------------------------------------
    Step Name: Identify Decision Maker
    Step Attribute: decisionmaker
    Step Required: false
    ---------------------------------------
    Step Name: Capture Summary
    Step Attribute: description
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 1
Entity: opportunity
StageId: bfc9108c-8389-406b-9166-2c3298a2e41f
Status: inactive
    Step Name: Customer Need
    Step Attribute: customerneed
    Step Required: false
    ---------------------------------------
    Step Name: Proposed Solution
    Step Attribute: proposedsolution
    Step Required: false
    ---------------------------------------
    Step Name: Identify Stakeholders
    Step Attribute: identifycustomercontacts
    Step Required: false
    ---------------------------------------
    Step Name: Identify Competitors
    Step Attribute: identifycompetitors
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 2
Entity: opportunity
StageId: 3a275c22-fc45-4e89-97fc-41e5ec578743
Status: inactive
    Step Name: Identify Sales Team
    Step Attribute: identifypursuitteam
    Step Required: false
    ---------------------------------------
    Step Name: Develop Proposal
    Step Attribute: developproposal
    Step Required: false
    ---------------------------------------
    Step Name: Complete Internal Review
    Step Attribute: completeinternalreview
    Step Required: false
    ---------------------------------------
    Step Name: Present Proposal
    Step Attribute: presentproposal
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 3
Entity: opportunity
StageId: 7f5247fe-cfc3-42bc-aa77-b1d836d9b7c0
Status: inactive
    Step Name: Complete Final Proposal
    Step Attribute: completefinalproposal
    Step Required: false
    ---------------------------------------
    Step Name: Present Final Proposal
    Step Attribute: presentfinalproposal
    Step Required: false
    ---------------------------------------
    Step Name: Confirm Decision Date
    Step Attribute: finaldecisiondate
    Step Required: false
    ---------------------------------------
    Step Name: Send Thank You
    Step Attribute: sendthankyounote
    Step Required: false
    ---------------------------------------
    Step Name: File De-brief
    Step Attribute: filedebrief
    Step Required: false
    ---------------------------------------
---------------------------------------

Voir aussi

Écriture d'événements pour les flux de processus d'entreprise
Exemple : Xrm.Page.data.process.getEnabledProcesses

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright