getEnabledProcesses (klient-API-referens)

Hämtar asynkront de affärsprocessflöden som är aktiverade för en tabell som den aktuella användaren kan växla till.

Syntax

formContext.data.process.getEnabledProcesses(callbackFunction(enabledProcesses));

Parameter

Namn Typ Krävs Description
callbackFunction Funktion Yes Återanropsfunktionen måste acceptera en parameter som innehåller ett objekt med ordlisteegenskaper där namnet på egenskapen är ID för affärsprocessflödet och värdet för egenskapen är namnet på affärsprocessflödet.

De aktiverade processerna filtreras enligt användarens behörigheter. Listan över aktiverade processer är samma som en användare kan se i användargränssnittet om de vill ändra processen manuellt.

Example

Funktionen Sdk.formOnLoad i exemplet använder metoden formContext.data.process.getEnabledProcesses för att asynkront hämta information om affärsprocessflöden som är aktiverade för tabellen. Exemplet skickar en anonym funktion som den första parametern. Den här funktionen körs asynkront när data returneras och data skickas som parameter till den anonyma funktionen.

Informationen om aktiverat affärsprocessflöde tillhandahålls som ett ordlisteobjekt där ID:t för processen är namnet på egenskapen och namnet på affärsprocessflödet är värdet för egenskapen. Exempelkoden bearbetar den här informationen och anger värdena i en global Sdk.enabledProcesses-matris som ska nås av logik som körs senare. Exemplet loopar också igenom värdena i matrisen Sdk.enabledProcesses och använder funktionen Sdk.writeToConsole för att skriva information om de hämtade affärsprocessflödena till konsolen.

Anmärkning

Funktionen Sdk.formOnLoad i JavaScript-exempelbiblioteket måste anges som OnLoad-händelsehanterare för ett formulär, och kryssrutan Skicka körningskontext som den första parametern måste markeras i dialogrutan Egenskaper för hanterare .
Det här exemplet illustrerar också bara användningen av några av metoderna i API:et formContext.data.process . Det representerar inte att använda det här API:et för att uppfylla ett affärskrav. Det är bara avsett att visa hur nyckelegenskapsvärdena kan nås i kod.

//A namespace defined for SDK sample code
//You should define a unique namespace for your libraries
var Sdk = window.Sdk || {};
(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 (executionContext) {
        // Retrieve the formContext
        var formContext = executionContext.getFormContext();

        // Retrieve Enabled processes
        formContext.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 table.");
            }
            else {
                Sdk.writeToConsole("These are the enabled business process flows for this table:");
                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);

När du kör det här exemplet med webbläsarutvecklarverktygen öppna är följande ett exempel på utdata som skrivits till konsolen för en tabell med flera affärsprocessflöden aktiverade.

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

setActiveProcessInstance
formContext.data.process