Deli putem


getEnabledProcesses (Referenca API-ja klijenta)

Asinhrono preuzima tokovi poslovnih procesa omogućenih za tabelu na koju trenutni korisnik može da se prebaci.

Sintaksa

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

Parametar

Ime Tip Zahtevano Opis
callbackFunction Function Da Funkcija povratnog poziva mora da prihvati parametar koji sadrži objekat sa svojstvima rečnika gde je ime svojstva ID toka poslovnog procesa, a vrednost svojstva je ime toka poslovnog procesa.

Omogućeni procesi se filtriraju u skladu sa privilegijama korisnika. Lista omogućenih procesa je ista ona koju korisnik može da vidi u korisničkom interfejsu ako želi ručno da promeni proces.

Primer

Funkcija Sdk.formOnLoad u primeru koristi metod formContext.data.process.getEnabledProcesses za asinhrono preuzimanje informacija o tokova poslovnih procesa koji su omogućeni za tabelu. Uzorak dodaje anonimnu funkciju kao prvi parametar. Ova funkcija se izvršava asinhrono kada se podaci daju i podaci se prosleđuju kao parametar anonimnoj funkciji.

Informacije o omogućenom toku poslovnog procesa obezbeđene su kao objekat rečnika gde ID procesa predstavlja ime svojstva, a ime toka poslovnog procesa je vrednost svojstva. Uzorak koda obrađuje ove informacije i postavlja vrednosti u globalnom nizu Sdk.enabledProcesses tako da mu se pristupa pomoću logike koja se kasnije izvršava. Uzorak se takođe kreće kroz vrednosti u nizu Sdk.enabledProcesses i koristi funkciju Sdk.writeToConsole za pisanje informacija o toku preuzetih poslovnih procesa u konzolu.

Belešku

Funkcija Sdk.formOnLoad u uzorku JavaScript biblioteke mora biti postavljena kao rukovalac događajem OnLoad za obrazac, a polje za potvrdu Prosledi kontekst izvršavanja kao prvi parametar mora biti izabrano u dijalogu Svojstva rukovaoca.
Takođe, ovaj uzorak samo ilustruje upotrebu nekih metoda u API-ju obrascaContext.data.process . On ne predstavlja korišćenje ovog API-ja da bi ispunio poslovne zahteve; namenjen je samo da pokaže kako se vrednostima ključnih svojstava može pristupiti pomoću koda.

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

Kada pokrenete ovaj uzorak sa otvorenim alatkama za projektante pregledača, sledi primer izlaza napisanog na konzoli za tabelu sa omogućenim više tokova poslovnih procesa.

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