Freigeben über


Beispiel: Xrm.Page.data.process.getEnabledProcesses

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Dieses Beispiel veranschaulicht, wie Sie Informationen zu den Prozessen, die für eine Entität aktiviert wurden, anrufen, indem Sie die Methode Xrm.Page.data.process.getEnabledProcesses anwenden.

Anforderungen

Die Sdk.formOnLoad -Funktion in der Beispiel-JavaScript-Bibliothek musss als OnLoad-Ereignishandler für ein Formular festgelegt werden.

Demonstriert

Die Möglichkeit Xrm.Page.data.process.getEnabledProcesses gibt Informationen zu den Prozessen zurück, die für eine Entität aktiviert wurden, zu denen der aktuelle Benutzer wechseln kann. Wenn Sie die Xrm.Page.data.process.setActiveProcess-Methode verwenden möchten, können Sie die getEnabledProcesses-Methode verwenden, um Informationen zu gültigen Prozesse zu erhalten, die Sie festlegen können.

In diesem Beispiel wird die Verwendung von einigen Methoden in the Xrm.Page.data.processsAPI gezeigt. Es stellt nicht dar, wie dies API verwendet wird, um eine Geschäftsanforderung zu erfüllen; es soll nur zeigen, wie auf die Schlüsseleigenschaftenwerte im Code zugegriffen werden kann.

Beispiel

Die Sdk.formOnLoad-Funktion verwendet die Xrm.Page.data.process.getEnabledProcesses-Methode, um Informationen zu Geschäftsprozessflüssen asynchron abzurufen, die für die Entität aktiviert werden. Die Funktion übergibt eine anonyme Funktion als ersten Parameter. Diese Funktion wird asynchron ausgeführt, wenn die Daten zurückgegeben werden und die Daten als Parameter an die anonyme Funktion übergeben werden.

Die Informationen zum aktivierten Geschäftsprozessfluss werden als Wörterbuchobjekt bereitgestellt, in dem die ID des Vorgangs der Name der Eigenschaft und der Name des Geschäftsprozessflusses der Wert der Eigenschaft ist. Der Beispielcode verarbeitet diese Informationen und legt die Werte in einem globalen Sdk.enabledProcesses-Array festgelegt, auf das später durch Logik zugegriffen wird, die später ausgeführt wird. Im Beispiel wird auch ein Loop durch die Werte durchgeführt, die im Sdk.enabledProcesses-Array verwendet werden, und verwendet die Sdk.writeToConsole-Funktion, um Informationen zu Geschäftsprozessflüssen auf die Konsole zu schreiben.

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

Wenn Sie dieses Beispiel mit offenen Browserentwicklertools ausführen, ist Folgendes ein Beispiel der Ausgabe, die auf die Konsole für eine Entität mit mehreren aktivierten Geschäftsprozessflüssen geschrieben wird.

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

Siehe auch

Schreiben von Skripts für Geschäftsprozessflüsse
Beispiel: Xrm.Page.data.process.getActivePath

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright