Delen via


getEnabledProcesses (client-API-verwijzing)

Met asynchroon worden de bedrijfsprocesstromen opgehaald die zijn ingeschakeld voor een tabel waarnaar de huidige gebruiker kan overschakelen.

Syntaxis

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

Kenmerk

Naam Typologie Verplicht Description
callbackFunction Functie Yes De callback-functie moet een parameter accepteren die een object bevat met woordenlijsteigenschappen waarbij de naam van de eigenschap de id is van de bedrijfsprocesstroom en de waarde van de eigenschap de naam van de bedrijfsprocesstroom is.

De ingeschakelde processen worden gefilterd op basis van de bevoegdheden van de gebruiker. De lijst met ingeschakelde processen is dezelfde die een gebruiker in de gebruikersinterface kan zien als hij of zij het proces handmatig wil wijzigen.

Example

De functie Sdk.formOnLoad in het voorbeeld maakt gebruik van de methode formContext.data.process.getEnabledProcesses om asynchroon informatie op te halen over bedrijfsprocesstromen die zijn ingeschakeld voor de tabel. Het voorbeeld geeft een anonieme functie door als de eerste parameter. Deze functie wordt asynchroon uitgevoerd wanneer de gegevens worden geretourneerd en de gegevens worden doorgegeven als de parameter aan de anonieme functie.

De informatie over ingeschakelde bedrijfsprocesstroom wordt geleverd als een woordenlijstobject waarbij de id van het proces de naam van de eigenschap is en de naam van de bedrijfsprocesstroom de waarde van de eigenschap is. De voorbeeldcode verwerkt deze informatie en stelt de waarden in een globale Sdk.enabledProcesses-matrix in voor toegang tot logica die later wordt uitgevoerd. Het voorbeeld doorloopt ook de waarden in de matrix Sdk.enabledProcesses en gebruikt de functie Sdk.writeToConsole om informatie te schrijven over de opgehaalde bedrijfsprocesstromen naar de console.

Opmerking

De functie Sdk.formOnLoad in de JavaScript-voorbeeldbibliotheek moet worden ingesteld als de Gebeurtenis-handler OnLoad voor een formulier en de uitvoeringscontext Pass als het eerste selectievakje voor parameters moet zijn ingeschakeld in het dialoogvenster Handler-eigenschappen .
Dit voorbeeld illustreert ook alleen het gebruik van enkele methoden in de formContext.data.process-API . Het vertegenwoordigt het gebruik van deze API niet om te voldoen aan een bedrijfsvereiste; Het is alleen bedoeld om te laten zien hoe de sleuteleigenschapswaarden kunnen worden geopend in code.

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

Wanneer u dit voorbeeld uitvoert terwijl de hulpprogramma's voor browserontwikkelaars zijn geopend, is het volgende een voorbeeld van de uitvoer die naar de console is geschreven voor een tabel waarvoor meerdere bedrijfsprocesstromen zijn ingeschakeld.

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