Dalintis per


getEnabledProcesses (kliento API nuoroda)

Asinchroniškai nuskaito verslo procesų srautus, įgalinamus lentelę, į kurią dabartinis vartotojas gali pereiti.

Sintaksė

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

Parametras

Pavadinimą Rūšis Privalomas Apibūdinimas
callbackFunction Funkcija Taip Atgalinio iškvietimo funkcija turi priimti parametrą, kuriame yra objektas su žodyno ypatybėmis, kai ypatybės pavadinimas yra verslo proceso srauto ID, o ypatybės reikšmė yra verslo proceso srauto pavadinimas.

Įgalinti procesai filtruojami pagal vartotojo teises. Įgalintų procesų sąrašas yra tas pats, kurį vartotojas gali matyti vartotojo sąsajoje, jei nori pakeisti procesą rankiniu būdu.

Pavyzdys

Sdk.formOnLoad funkcija pavyzdyje naudoja metodą formContext.data.process.getEnabledProcesses, kad asinchroniškai gautų informaciją apie lentelėje įgalintus verslo procesų srautus. Pavyzdys perduoda anoniminę funkciją kaip pirmąjį parametrą. Ši funkcija vykdoma asinchroniškai, kai pateikiami duomenys, o duomenys perduodami kaip anoniminės funkcijos parametras.

Informacija apie įgalintą verslo proceso srautą pateikiama kaip žodyno objektas, kuriame proceso ID yra ypatybės pavadinimas, o verslo proceso srauto pavadinimas yra ypatybės reikšmė. Kodo pavyzdys apdoroja šią informaciją ir nustato reikšmes visuotiniame Sdk.enabledProcesses masyve, kad jas pasiektų vėliau vykdoma logika. Pavyzdys taip pat pereina per Sdk.enabledProcesses masyvo reikšmes ir naudoja Sdk.writeToConsole funkciją informacijai apie nuskaitytus verslo procesų srautus įrašyti į konsolę.

Pastaba.

"JavaScript" bibliotekos pavyzdžio sdk.formOnLoad funkcija turi būti nustatyta kaip formos įvykio OnLoad apdorojimo programa, o žymės langelis Perduoti vykdymo kontekstą kaip pirmąjį parametrą turi būti pažymėtas dialogo lange Apdorojimo programos ypatybės .
Be to, šis pavyzdys tiesiog iliustruoja kai kurių metodų naudojimą formContext.data.process API. Jis nereiškia šios API naudojimo verslo reikalavimui patenkinti; jis skirtas tik parodyti, kaip pagrindines ypatybės reikšmes galima pasiekti kode.

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

Kai paleidžiate šį pavyzdį atidarę naršyklės kūrėjo įrankius, toliau pateikiamas lentelės, kurioje įgalinti keli verslo procesų srautai, išvesties, parašytos konsolėje, pavyzdys.

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