Zdieľať cez


getEnabledProcesses (odkaz na klientske rozhranie API)

Asynchrónne načíta postupy obchodného procesu povolené pre tabuľku, do ktorú môže aktuálny používateľ prejsť.

Syntax

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

Parameter

Meno Typ Požaduje sa Description
callbackFunction Function Áno Funkcia spätného volania musí prijať parameter, ktorý obsahuje objekt s vlastnosťami slovníka, kde názov vlastnosti je Id postupu obchodného procesu a hodnota vlastnosti je názov postupu obchodného procesu.

Povolené procesy sa filtrujú podľa oprávnení používateľa. Zoznam povolených procesov je ten istý, ktorý si používateľ môže zobraziť v používateľskom rozhraní, ak chce proces zmeniť manuálne.

Príklad

Funkcia Sdk.formOnLoad v príklade používa metódu formContext.data.process.getEnabledProcesses na asynchrónne načítavanie informácií o postupoch obchodných procesov, ktoré sú povolené pre tabuľku. Vzorka odovzdá anonymnú funkciu ako prvý parameter. Táto funkcia sa vykoná asynchrónne pri vrátení údajov a údaje sa prenesú ako parameter do anonymnej funkcie.

Informácie o povolenom postupe obchodného procesu sa poskytujú ako slovníkový objekt, kde Id procesu je názov vlastnosti a názov toku obchodného procesu je hodnota vlastnosti. Vzorový kód spracuje tieto informácie a nastaví hodnoty v globálnom poli Sdk.enabledProcesses na prístup k logike, ktorá sa vykoná neskôr. Ukážka tiež cyklicky prechádza hodnotami v poli Sdk.enabledProcesses a pomocou funkcie Sdk.writeToConsole zapíše informácie o načítaných postupoch obchodných procesov do konzoly.

Nota

Funkcia Sdk.formOnLoad v ukážkovej knižnici JavaScript musí byť pre formulár nastavená ako obsluha udalostí OnLoad a kontext Odovzdať vykonanie ako prvé začiarkavacie políčko parametra musí byť začiarknuté v dialógovom okne Obslužný program – vlastnosti .
Táto ukážka tiež len ilustruje použitie niektorých metód v rozhraní formContext.data.process API. Nereprezentuje použitie tohto rozhrania API na splnenie obchodných požiadaviek. Jeho cieľom je len ukázať, ako možno pristupovať k hodnotám kľúčových vlastností v kóde.

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

Keď túto ukážku spustíte s otvorenými vývojárskymi nástrojmi prehliadača, nasledujúci príklad výstupu napísaného do konzoly pre tabuľku s povolenými viacerými postupmi obchodných procesov.

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