Kongsi melalui


getEnabledProcesses (rujukan API Klien)

Secara tak segerak mendapatkan semula aliran proses perniagaan yang didayakan untuk jadual yang boleh ditukar oleh pengguna semasa.

Sintaks

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

Parameter_

Nama Jenis Wajib Description
callbackFunction Function Ya Fungsi panggilan balik mesti menerima parameter yang mengandungi objek dengan sifat kamus di mana nama sifat ialah Id aliran proses perniagaan dan nilai sifat ialah nama aliran proses perniagaan.

Proses yang didayakan ditapis mengikut keistimewaan pengguna. Senarai proses yang didayakan adalah sama yang boleh dilihat oleh pengguna dalam UI jika mereka ingin menukar proses secara manual.

Contoh

Fungsi Sdk.formOnLoad dalam contoh menggunakan kaedah formContext.data.process.getEnabledProcesses untuk mendapatkan semula maklumat tentang aliran proses perniagaan secara tak segerak yang didayakan untuk jadual. Sampel melepasi fungsi tanpa nama sebagai parameter pertama. Fungsi ini dilaksanakan secara tak segerak apabila data dikembalikan dan data dihantar sebagai parameter kepada fungsi tanpa nama.

Maklumat tentang aliran proses perniagaan yang didayakan disediakan sebagai objek kamus di mana Id proses ialah nama sifat dan nama aliran proses perniagaan ialah nilai sifat. Kod sampel memproses maklumat ini dan mengesetkan nilai dalam tatasusunan Sdk.enabledProcesses global untuk diakses oleh logik yang dilaksanakan kemudian. Sampel juga menggelung nilai dalam tatasusunan Sdk.enabledProcesses dan menggunakan fungsi Sdk.writeToConsole untuk menulis maklumat tentang aliran proses perniagaan yang diperoleh ke konsol.

Nota

Fungsi Sdk.formOnLoad dalam pustaka JavaScript sampel mesti disetkan sebagai pengendali peristiwa OnLoad untuk borang, dan kotak semak Lulus konteks pelaksanaan sebagai parameter pertama mesti dipilih dalam dialog Sifat Pengendali.
Selain itu, sampel ini hanya menggambarkan penggunaan beberapa kaedah dalam API formContext.data.process . Ia tidak mewakili penggunaan API ini untuk memenuhi keperluan perniagaan; Ia hanya bertujuan untuk menunjukkan cara nilai sifat utama boleh diakses dalam kod.

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

Apabila anda menjalankan sampel ini dengan alat pembangun penyemak imbas terbuka, berikut ialah contoh output yang ditulis ke konsol untuk jadual dengan berbilang aliran proses perniagaan didayakan.

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