Condividi tramite


Esempio: Xrm.Page.data.process.getEnabledProcesses

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

In questo esempio viene illustrato come recuperare le informazioni sui processi abilitati per un'entità utilizzando il metodo Xrm.Page.data.process.getEnabledProcesses.

Requisiti

La funzione Sdk.formOnLoad nella libreria JavaScript di esempio deve essere impostata come il gestore eventi OnLoad per un modulo.

Dimostra

Il metodo Xrm.Page.data.process.getEnabledProcesses restituisce informazioni sui processi abilitati per un'entità che sono disponibili per l'utente corrente a cui passare. Se si desidera utilizzare il metodo Xrm.Page.data.process.setActiveProcess, è possibile utilizzare il metodo getEnabledProcesses per ottenere informazioni sui processi che è possibile impostare.

In questo esempio viene illustrato l'utilizzo di alcuni metodi in the Xrm.Page.data.processsAPI. Non rappresenta l'utilizzo di questa API per soddisfare un requisito aziendale; è destinata a dimostrare come è possibile accedere ai valori delle proprietà chiave nel codice.

Esempio

La funzione Sdk.formOnLoad utilizza il metodo Xrm.Page.data.process.getEnabledProcesses per recuperare informazioni in modalità asincrona sui processi aziendali abilitati per l'entità. L'esempio passa una funzione anonima come primo parametro. Questa funzione viene eseguita in modalità asincrona quando i dati vengono restituiti e i dati passati come parametro alla funzione anonima.

Le informazioni sul processo aziendale vengono fornite come oggetto dictionary in cui l'ID del processo è il nome della proprietà e il nome del processo aziendale è il valore della proprietà. Il codice di esempio elabora queste informazioni e imposta i valori in una matrice globale Sdk.enabledProcesses affinché venga eseguito l'accesso dalla logica che verrà eseguita in seguito. L'esempio inoltre eseguire il ciclo tramite i valori viene nella matrice Sdk.enabledProcesses e utilizza la funzione Sdk.writeToConsole per preparare le informazioni sui flussi aziendale recuperati alla console.

//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);

Quando si esegue questo esempio con gli strumenti per sviluppatori del browser aperti, viene riportato un esempio dell'output scritto nella console per un'entità con più flussi aziendali abilitati.

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

Vedere anche

Scrivere gli script per i processi aziendali

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright