Aracılığıyla paylaş


getEnabledProcesses (İstemci API başvurusu)

Geçerli kullanıcının geçebileceği bir tablo için etkinleştirilen iş süreci akışlarını zaman uyumsuz olarak alır.

Sözdizimi

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

Parametre

İsim Türü Gerekli Description
callbackFunction İşlev Yes Geri çağırma işlevi, özelliğin adının iş süreci akışının kimliği ve özelliğin değerinin iş süreci akışının adı olduğu sözlük özelliklerine sahip bir nesne içeren bir parametreyi kabul etmelidir.

Etkinleştirilen işlemler kullanıcının ayrıcalıklarına göre filtrelenir. Etkin işlemlerin listesi, kullanıcının işlemi el ile değiştirmek istemesi durumunda kullanıcı arabiriminde görebileceği işlemlerle aynıdır.

Example

Örnekteki Sdk.formOnLoad işlevi, tablo için etkinleştirilen iş süreci akışları hakkındaki bilgileri zaman uyumsuz olarak almak için formContext.data.process.getEnabledProcesses yöntemini kullanır. Örnek, ilk parametre olarak anonim bir işlev geçirir. Bu işlev, veriler döndürülür ve veriler anonim işleve parametre olarak geçirildiğinde zaman uyumsuz olarak yürütülür.

Etkin iş süreci akışıyla ilgili bilgiler, işlemin kimliğinin özelliğin adı, iş süreci akışının adının da özelliğin değeri olduğu bir sözlük nesnesi olarak sağlanır. Örnek kod bu bilgileri işler ve genel Sdk.enabledProcesses dizisindeki değerleri daha sonra yürütülen mantık tarafından erişilecek şekilde ayarlar. Örnek ayrıca Sdk.enabledProcesses dizisindeki değerler arasında döngü gerçekleştirir ve alınan iş süreci akışları hakkındaki bilgileri konsola yazmak için Sdk.writeToConsole işlevini kullanır.

Uyarı

Örnek JavaScript kitaplığındaki Sdk.formOnLoad işlevi bir form için OnLoad olay işleyicisi olarak ayarlanmalıdır ve İşleyici Özellikleri iletişim kutusunda yürütme bağlamını ilk parametre olarak geçir onay kutusu seçilmelidir.
Ayrıca bu örnekte formContext.data.process API'sindeki bazı yöntemlerin kullanımı gösterilmektedir. İş gereksinimini karşılamak için bu API'nin kullanılmasını temsil etmez; yalnızca anahtar özellik değerlerine kodda nasıl erişilebileceğini göstermek için tasarlanmıştır.

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

Tarayıcı geliştirici araçları açıkken bu örneği çalıştırdığınızda, birden çok iş süreci akışının etkinleştirildiği bir tablo için konsola yazılan çıktının bir örneği aşağıda verilmiştir.

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