Jagamisviis:


getEnabledProcesses (kliendi API viide)

Asünkroonselt tuuakse äriprotsessi vood, mis on lubatud tabeli jaoks, millele praegune kasutaja saab üle minna.

Süntaks

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

Parameeter

Nimi Tüüp Nõutav Kirjeldus
callbackFunction Function Jah Tagasikutsefunktsioon peab aktsepteerima parameetri, mis sisaldab sõnastikuatribuutidega objekti, kus atribuudi nimi on äriprotsessi voo ID ja atribuudi väärtus on äriprotsessi voo nimi.

Lubatud protsessid filtreeritakse vastavalt kasutaja õigustele. Lubatud protsesside loend on sama, mida kasutaja saab kasutajaliideses näha, kui ta soovib protsessi käsitsi muuta.

Näide

Näite funktsioon Sdk.formOnLoad kasutab meetodit formContext.data.process.getEnabledProcesses , et asünkroonselt tuua teavet äriprotsessi voogude kohta, mis on tabeli jaoks lubatud. Näidis edastab esimese parameetrina anonüümse funktsiooni. See funktsioon käivitatakse andmete tagastamisel asünkroonselt ja andmed edastatakse anonüümse funktsiooni parameetrina.

Teavet lubatud äriprotsessi voo kohta esitatakse sõnastikuobjektina, kus protsessi ID on atribuudi nimi ja äriprotsessi voo nimi on atribuudi väärtus. Näidiskood töötleb seda teavet ja seab massiivi Sdk.enabledProcesses väärtused, millele loogika hiljem käivitub. Näidis liigub läbi ka massiivi Sdk.enabledProcesses väärtuste ja kasutab funktsiooni Sdk.writeToConsole , et kirjutada teavet toodud äriprotsessi voogude kohta konsooli.

Märkus.

JavaScripti näidisteegis olev funktsioon Sdk.formOnLoad tuleb seada vormi sündmuseohjuriks OnLoad ja dialoogiboksis Ohjuri atribuudid peab olema märgitud ruut Pass execution as the first parameter (Pass execution context as the first parameter).
Samuti illustreerib see näide mõne meetodi kasutamist formContext.data.process API-s. See ei tähista selle API kasutamist ärinõude täitmiseks; see on mõeldud ainult selleks, et näidata, kuidas võtmeatribuudiväärtustele koodiga juurde pääseb.

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

Kui käivitate selle näite avatud brauseri arendusriistadega, on järgmine näide mitme äriprotsessi vooga tabeli konsoolile kirjutatud väljundist.

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