Sdílet prostřednictvím


getEnabledProcesses (referenční dokumentace k rozhraní API klienta)

Asynchronně načte toky obchodního procesu povolené pro tabulku, na kterou může aktuální uživatel přepnout.

Syntaxe

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

Parameter

Název Typ Povinné Description
callbackFunction Funkce Ano Funkce zpětného volání musí přijmout parametr, který obsahuje objekt s vlastnostmi slovníku, kde název vlastnosti je ID toku obchodního procesu a hodnota vlastnosti je název toku obchodního procesu.

Povolené procesy se filtrují podle oprávnění uživatele. Seznam povolených procesů je stejný jako uživatel v uživatelském rozhraní, pokud chce proces změnit ručně.

Example

Funkce Sdk.formOnLoad v příkladu používá metodu formContext.data.process.getEnabledProcesses k asynchronnímu načtení informací o tocích obchodních procesů, které jsou pro tabulku povolené. Ukázka předá anonymní funkci jako první parametr. Tato funkce se spouští asynchronně při vrácení dat a data se předají jako parametr anonymní funkci.

Informace o povoleném toku obchodního procesu jsou poskytovány jako objekt slovníku, kde ID procesu je název vlastnosti a název toku obchodního procesu je hodnota vlastnosti. Vzorový kód zpracuje tyto informace a nastaví hodnoty v globálním poli Sdk.enabledProcesses , ke kterému bude mít přístup logika, která se spustí později. Ukázka také prochází hodnoty v poli Sdk.enabledProcesses a používá funkci Sdk.writeToConsole k zápisu informací o načtených tocích obchodních procesů do konzoly.

Poznámka:

Funkce Sdk.formOnLoad v ukázkové javascriptové knihovně musí být nastavena jako obslužná rutina události OnLoad pro formulář a kontext předat spuštění jako první parametr zaškrtávací políčko musí být zaškrtnuté v dialogovém okně Vlastnosti obslužné rutiny .
Tato ukázka také ukazuje použití některých metod v rozhraní FORMContext.data.process API. Nepředstavuje použití tohoto rozhraní API ke splnění obchodních požadavků; Účelem je pouze předvést, jak se k hodnotám klíčových vlastností dá přistupovat v kódu.

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

Když spustíte tuto ukázku s otevřenými vývojářskými nástroji prohlížeče, následuje příklad výstupu zapsaného do konzoly pro tabulku s povolenými několika toky obchodního procesu.

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