Partager via


getEnabledProcesses (référence de l’API client)

Récupère de manière asynchrone les flux des processus d’entreprise activés pour une table vers laquelle l’utilisateur actuel peut basculer.

Syntaxe

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

Paramètre

Nom Type Requise Description
callbackFunction Function Oui La fonction de rappel doit accepter un paramètre contenant un objet avec des propriétés de dictionnaire, où le nom de la propriété est l’ID du flux des processus d’entreprise et la valeur de la propriété est le nom du flux des processus d’entreprise.

Les processus activés sont filtrés selon les privilèges de l’utilisateur. La liste des processus activés est est identique à celle qu’un utilisateur peut afficher dans l’interface utilisateur s’il souhaite modifier le processus manuellement.

Exemple

La fonction Sdk.formOnLoad dans l’exemple utilise formContext.data.process.getEnabledProcesses pour récupérer de manière asynchrone des informations sur les flux des processus d’entreprise activés pour la table. L’exemple passe une fonction anonyme comme premier paramètre. Cette fonction est exécutée de façon asynchrone lorsque les données sont renvoyées et que les données sont transmises comme paramètre de la fonction anonyme.

Les informations sur le flux du processus métier activé sont fournies comme objet de dictionnaire où l’ID du processus est le nom de la propriété et le nom du flux du processus métier la valeur de la propriété. L’exemple de code traite ces informations et définit les valeurs dans une table Sdk.enabledProcesses globale accessible par la logique qui l’exécute ultérieurement. L’exemple parcourt également les valeurs utilisées dans la table Sdk.enabledProcesses et utilise la fonction Sdk.writeToConsole pour écrire sur la console des informations sur les flux de processus métier récupérés.

Notes

La fonction Sdk.formOnLoad de l’exemple de bibliothèque JavaScript doit être définie en tant que gestionnaire d’événement OnLoad pour un formulaire, et la case à cocher Transmettre le contexte d’exécution comme premier paramètre doit être activée dans la boîte de dialogue Propriétés du gestionnaire.
En outre, cet exemple illustre uniquement l’utilisation de certaines des méthodes dans l’API formContext.data.process . Il ne représente l’utilisation de cette API afin de satisfaire une exigence de l’entreprise ; il a uniquement pour objet d’illustrer de quelle manière les valeurs de propriété clés sont accessibles par 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);

Lorsque vous exécutez cet exemple avec les outils de développement de navigateur ouverts, voici un exemple de sortie écrite dans la console pour une table avec plusieurs flux de processus d’entreprise activés.

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

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).