Del via


Eksempel: Xrm.Page.data.process.getEnabledProcesses

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

I dette eksempel demonstreres, hvordan du kan hente oplysninger om processer, der er aktiveret for et objekt ved hjælp af metoden Xrm.Page.data.process.getEnabledProcesses.

Krav

Funktionen Sdk.formOnLoad i eksempelbiblioteket JavaScript skal angives som OnLoad-hændelseshandleren for en formular.

Demonstrerer

Metoden Xrm.Page.data.process.getEnabledProcesses returnerer oplysninger om de processer, der er aktiveret for et objekt, som er tilgængeligt for den aktuelle bruger til at skifte til. Hvis du vil bruge metoden Xrm.Page.data.process.setActiveProcess, kan du bruge metoden getEnabledProcesses til at få oplysninger om eventuelle gyldige processer, du kan angive.

Dette eksempel illustrerer brugen af nogle af metoderne i the Xrm.Page.data.processsAPI. Den bruger ikke dette API til repræsentation i forbindelse med opfyldelse af virksomhedens krav; det er kun beregnet til at demonstrere, hvordan du får adgang til de vigtigste egenskabsværdier i kode.

Eksempel

Funktionen Sdk.formOnLoad bruger metoden Xrm.Page.data.process.getEnabledProcesses til asynkront at hente oplysninger om forretningsprocesforløb, der er aktiveret for objektet. Eksemplet overfører en anonym funktion som den første parameter. Denne funktion udføres asynkront, når dataene returneres, og dataene overføres som parameteren til den anonyme funktion.

Oplysninger om aktiverede forretningsprocesforløb leveres som et ordlisteobjekt, hvor id'et for processen er navnet på egenskaben, og navnet på forretningsprocesforløbet er værdien af egenskaben. Eksempelkoden behandler disse oplysninger og angiver værdierne i en global Sdk.enabledProcesses-matrix, som kan åbnes af logik, der udføres senere. Eksemplet gennemløber også værdierne i Sdk.enabledProcesses-matrixen og bruger funktionen Sdk.writeToConsole til at skrive oplysninger om de hentede forretningsprocesforløb til konsollen.

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

Hvis du kører dette eksempel med browserens udviklingsværktøjer åbne, er følgende et eksempel på det output, der skrives til konsollen for et objekt med flere forretningsprocesforløb aktiveret.

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

Se også

Skrive scripts til forretningsprocesforløb
Eksempel: Xrm.Page.data.process.getActivePath

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret