Megosztás:


getEnabledProcesses (Ügyfél API-referencia)

Aszinkron módon lekéri azokat az üzleti folyamatokat, amelyekre az aktuális felhasználó átválthat.

Szemantika

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

Paraméter

Név Típus Kötelező Description
callbackFunction Funkció Igen A visszahívási függvénynek el kell fogadnia egy olyan paramétert, amely szótártulajdonságokkal rendelkező objektumot tartalmaz, ahol a tulajdonság neve az üzleti folyamat azonosítója, a tulajdonság értéke pedig az üzleti folyamat neve.

Az engedélyezett folyamatok szűrése a felhasználó jogosultságai szerint van megadva. Az engedélyezett folyamatok listája megegyezik azokkal, amelyeket a felhasználó láthat a felhasználói felületen, ha manuálisan szeretné módosítani a folyamatot.

Example

A példában szereplő Sdk.formOnLoad függvény a formContext.data.process.getEnabledProcesses metódussal aszinkron módon kéri le a táblához engedélyezett üzleti folyamatokkal kapcsolatos információkat. A minta egy névtelen függvényt ad át első paraméterként. Ezt a függvényt a rendszer aszinkron módon hajtja végre az adatok visszaadásakor, és az adatokat paraméterként adja át a névtelen függvénynek.

Az engedélyezett üzleti folyamat információi szótárobjektumként vannak megadva, ahol a folyamat azonosítója a tulajdonság neve, az üzleti folyamat neve pedig a tulajdonság értéke. A mintakód feldolgozza ezeket az információkat, és beállítja egy globális Sdk.enabledProcesses tömb értékeit, hogy a későbbiekben végrehajtható logikával férhessenek hozzá. A minta végighalad az Sdk.enabledProcesses tömb értékein is, és az Sdk.writeToConsole függvénnyel adatokat ír a beolvasott üzleti folyamatokról a konzolra.

Megjegyzés:

A Minta JavaScript-kódtár Sdk.formOnLoad függvényét be kell állítani egy űrlap OnLoad eseménykezelőjeként, és a Kezelő tulajdonságai párbeszédpanelen be kell jelölni az első paraméterként megadott végrehajtási környezetet.
Ez a minta a formContext.data.process API néhány metódusának használatát is szemlélteti. Ez nem azt jelenti, hogy az API-t üzleti követelmények teljesítéséhez használja; Csak a kulcstulajdonságok kódban való elérésének bemutatására szolgál.

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

Amikor megnyitva a böngésző fejlesztői eszközeivel futtatja ezt a mintát, az alábbi példa a konzolra írt kimenetre egy olyan tábla kimenetére mutat, amelyen több üzleti folyamat is engedélyezve van.

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