Condividi tramite


getActivePath (informazioni di riferimento sulle API client)

Ottiene una raccolta di fasi attualmente nel percorso attivo con metodi per interagire con le fasi visualizzate nel controllo del flusso di processo aziendale.

Il percorso attivo rappresenta le fasi attualmente sottoposte a rendering nel controllo del processo in base alle regole di diramazione e ai dati correnti nel record.

Sintassi

var stageCollection = formContext.data.process.getActivePath();

Valore restituito

Tipo: Raccolta.

Descrizione: raccolta di tutte le fasi completate, della fase attualmente attiva e del set previsto di fasi future in base alle condizioni soddisfatte nella regola di diramazione. Può trattarsi di un subset delle fasi restituite con formContext.data.process. getActiveProcess perché includerà solo le fasi che rappresentano una transizione valida dalla fase corrente in base alla diramazione che si è verificata nel processo.

Example

La funzione Sdk.formOnLoad usa il metodo formContext.data.process.getActivePath per recuperare una raccolta di fasi. Il codice di esempio usa quindi il metodo forEach della raccolta per scorrere ogni fase. Il codice scrive quindi le proprietà chiave della fase nella console usando la funzione Sdk.writeToConsole definita in questa libreria. Il codice accede quindi a una raccolta di passaggi per ogni fase usando il metodo getSteps . Infine, l'esempio usa il metodo forEach della raccolta di passaggi per accedere a ogni passaggio e scrivere le proprietà chiave del passaggio nella console.

Annotazioni

La funzione Sdk.formOnLoad nella libreria JavaScript di esempio deve essere impostata come gestore eventi OnLoad per un modulo e il contesto di esecuzione Pass come primo parametro casella di controllo deve essere selezionato nella finestra di dialogo Proprietà gestore .
Inoltre, questo esempio illustra solo l'uso di alcuni dei metodi nell'API formContext.data.process . Non rappresenta l'uso di questa API per soddisfare un requisito aziendale; è destinato solo a dimostrare come è possibile accedere ai valori delle proprietà chiave nel codice.

// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
var Sdk = window.Sdk || {};
(function () {

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

        // Enumerate the stages and steps in the active path
        var activePathCollection = formContext.data.process.getActivePath();
        activePathCollection.forEach(function (stage, n) {
            Sdk.writeToConsole("Stage Index: " + n);
            Sdk.writeToConsole("Table: " + stage.getEntityName());
            Sdk.writeToConsole("StageId: " + stage.getId());
            Sdk.writeToConsole("Status: " + stage.getStatus());
            var stageSteps = stage.getSteps();
            stageSteps.forEach(function (step, i) {
                Sdk.writeToConsole("    Step Name: " + step.getName());
                Sdk.writeToConsole("    Step Column: " + step.getAttribute());
                Sdk.writeToConsole("    Step Required: " + step.isRequired());
                Sdk.writeToConsole("    ---------------------------------------")
            })
            Sdk.writeToConsole("---------------------------------------")
        });
    };
}).call(Sdk);

Quando l'esempio viene eseguito nel browser, è possibile usare gli strumenti di sviluppo del browser per visualizzare il testo scritto nella console. Ad esempio, quando questo esempio viene eseguito nel modulo Opportunità con il processo di vendita opportunità, nella console viene scritto quanto segue:

Stage Index: 0
Table: opportunity
StageId: 6b9ce798-221a-4260-90b2-2a95ed51a5bc
Status: active
    Step Name: Identify Contact
    Step Column: parentcontactid
    Step Required: false
    ---------------------------------------
    Step Name: Identify Account
    Step Column: parentaccountid
    Step Required: false
    ---------------------------------------
    Step Name: Purchase Timeframe
    Step Column: purchasetimeframe
    Step Required: false
    ---------------------------------------
    Step Name: Estimated Budget
    Step Column: budgetamount
    Step Required: false
    ---------------------------------------
    Step Name: Purchase Process
    Step Column: purchaseprocess
    Step Required: false
    ---------------------------------------
    Step Name: Identify Decision Maker
    Step Column: decisionmaker
    Step Required: false
    ---------------------------------------
    Step Name: Capture Summary
    Step Column: description
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 1
Table: opportunity
StageId: 650e06b4-789b-46c1-822b-0da76bedb1ed
Status: inactive
    Step Name: Customer Need
    Step Column: customerneed
    Step Required: false
    ---------------------------------------
    Step Name: Proposed Solution
    Step Column: proposedsolution
    Step Required: false
    ---------------------------------------
    Step Name: Identify Stakeholders
    Step Column: identifycustomercontacts
    Step Required: false
    ---------------------------------------
    Step Name: Identify Competitors
    Step Column: identifycompetitors
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 2
Table: opportunity
StageId: d3ca8878-8d7b-47b9-852d-fcd838790cfd
Status: inactive
    Step Name: Identify Sales Team
    Step Column: identifypursuitteam
    Step Required: false
    ---------------------------------------
    Step Name: Develop Proposal
    Step Column: developproposal
    Step Required: false
    ---------------------------------------
    Step Name: Complete Internal Review
    Step Column: completeinternalreview
    Step Required: false
    ---------------------------------------
    Step Name: Present Proposal
    Step Column: presentproposal
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 3
Table: opportunity
StageId: bb7e830a-61bd-441b-b1fd-6bb104ffa027
Status: inactive
    Step Name: Complete Final Proposal
    Step Column: completefinalproposal
    Step Required: false
    ---------------------------------------
    Step Name: Present Final Proposal
    Step Column: presentfinalproposal
    Step Required: false
    ---------------------------------------
    Step Name: Confirm Decision Date
    Step Column: finaldecisiondate
    Step Required: false
    ---------------------------------------
    Step Name: Send Thank You
    Step Column: sendthankyounote
    Step Required: false
    ---------------------------------------
    Step Name: File De-brief
    Step Column: filedebrief
    Step Required: false
    ---------------------------------------
---------------------------------------

formContext.data.process