Delen via


Voorbeeld: Xrm.Page.data.process.getEnabledProcesses

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Dit voorbeeld laat zien hoe u informatie kunt ophalen over processen die zijn ingeschakeld voor een entiteit via de methode Xrm.Page.data.process.getEnabledProcesses.

Vereisten

De functie Sdk.formOnLoad in de JavaScript-voorbeeldbibliotheek moet zijn ingesteld als OnLoad-gebeurtenishandler voor een formulier.

Demonstreert

De methode Xrm.Page.data.process.getEnabledProcesses retourneert informatie over de processen die zijn ingeschakeld voor een entiteit en waarnaar de huidige gebruiker kan overschakelen. Als u de methode Xrm.Page.data.process.setActiveProcess wilt gebruiken, kunt u de methode getEnabledProcesses gebruiken om informatie op te halen over eventuele geldige processen die u kunt instellen.

Dit voorbeeld toont het gebruik van enkele van de methoden in the Xrm.Page.data.processsAPI. Het is niet bedoeld om het gebruik te illustreren van deze API om aan een zakelijk vereiste te voldoen; het is alleen bedoeld om te laten zien hoe de belangrijkste eigenschapswaarden toegankelijk zijn via code.

Voorbeeld

De functie Sdk.formOnLoad gebruikt de methode Xrm.Page.data.process.getEnabledProcesses om op asynchrone wijze informatie over bedrijfsprocesstromen op te halen die zijn ingeschakeld voor de entiteit. De voorbeeldpagina geeft een anonieme functie door als eerste parameter. Deze functie wordt asynchroon uitgevoerd als de gegevens worden geretourneerd en de gegevens worden doorgegeven als parameter van de anonieme functie.

De informatie over de ingeschakelde bedrijfsprocesstroom wordt geleverd als woordenlijstobject, waarbij de id van het proces de naam van de eigenschap is en de naam van de bedrijfsprocesstroom de waarde van de eigenschap. De voorbeeldcode verwerkt deze informatie en stelt de waarden in een algemene Sdk.enabledProcesses-matrix in voor gebruik door logica die later wordt uitgevoerd. Het voorbeeld doorloopt tevens de waarden in de matrix Sdk.enabledProcesses en gebruikt de functie Sdk.writeToConsole om informatie over de opgehaalde bedrijfsprocesstromen naar de console weg te schrijven.

//A namespace defined for SDK sample code
//You should define a unique namespace for your libraries
var Sdk = window.Sdk || { __namespace: true };
(function () {
 //A global variable to store information about enabled business processes after they are retrieved asynchronously
 this.enabledProcesses = [];

 // 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 () {
  //Retrieve Enabled processes
  Xrm.Page.data.process.getEnabledProcesses(function (processes) {
   //Move processes to the global Sdk.enabledProcesses array;
   for (var processId in processes) {
    Sdk.enabledProcesses.push({ id: processId, name: processes[processId] })
   }
   Sdk.writeToConsole("Enabled business processes flows retrieved and added to Sdk.enabledProcesses array.");

   //Write the values of the Sdk.enabledProcesses array to the console
   if (Sdk.enabledProcesses.length < 0) {
    Sdk.writeToConsole("There are no enabled business process flows for this entity.");
   }
   else {
    Sdk.writeToConsole("These are the enabled business process flows for this entity:");
    for (var i = 0; i < Sdk.enabledProcesses.length; i++) {
     var enabledProcess = Sdk.enabledProcesses[i];
     Sdk.writeToConsole("id: " + enabledProcess.id + " name: " + enabledProcess.name)
    }
   }

   //Any code that depends on the Sdk.enabledProcesses array needs to be initiated here

  });
 };

}).call(Sdk);

Wanneer u dit voorbeeld uitvoert met de hulpmiddelen voor browserontwikkelaars geopend, is het onderstaande een voorbeeld van de uitvoer die wordt weggeschreven naar de console voor een entiteit waarvoor meerdere bedrijfsprocesstromen zijn ingeschakeld.

Enabled business processes flows retrieved and added to Sdk.enabledProcesses array.
These are the enabled business process flows for this entity:
id: 7994be68-899e-4a40-8d18-f5c3b6940188 name: Sample Lead Process
id: 919e14d1-6489-4852-abd0-a63a6ecaac5d name: Lead to Opportunity Sales Process

Zie ook

Scripts schrijven voor bedrijfsprocesstromen
Voorbeeld: Xrm.Page.data.process.getActivePath

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht