Comparteix via


getActivePath (Referència de l'API del client)

Obté una col·lecció de fases actualment en el camí actiu amb mètodes per interactuar amb les etapes que es mostren al control de flux del procés de negoci.

El camí actiu representa les fases representades actualment al control de processos en funció de les regles de bifurcació i les dades actuals del registre.

Sintaxi

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

Valor de retorn

Tipus: Col·lecció.

Descripció: Una col·lecció de totes les fases completades, la fase activa actualment i el conjunt previst de fases futures basades en les condicions satisfetes de la regla de ramificació. Pot ser un subconjunt de les fases retornades amb formContext.data.process. getActiveProcess perquè només inclourà aquelles etapes que representen una transició vàlida de l'etapa actual basada en la ramificació que s'ha produït en el procés.

Exemple

La funció Sdk.formOnLoad utilitza el mètode formContext.data.process.getActivePath per recuperar una col·lecció de fases. A continuació, el codi d'exemple utilitza el mètode forEach de la col·lecció per recórrer cada etapa. A continuació, el codi escriu les propietats clau de l'etapa a la consola mitjançant la funció Sdk.writeToConsole definida en aquesta biblioteca. A continuació, el codi accedeix a una col·lecció de passos per a cada etapa mitjançant el mètode getSteps . Finalment, l'exemple utilitza el mètode forEach de la col·lecció de passos per accedir a cada pas i escriure les propietats clau del pas a la consola.

Nota

La funció Sdk.formOnLoad de la biblioteca JavaScript d'exemple s'ha d'establir com a controlador d'incidències OnLoad per a un formulari i s'ha de seleccionar la casella de selecció Passar el context d'execució com a primer paràmetre al diàleg Propietats del gestor .
A més, aquest exemple només il·lustra l'ús d'alguns dels mètodes de l'API formContext.data.process . No representa utilitzar aquesta API per complir un requisit empresarial; només pretén demostrar com es pot accedir als valors de les propietats clau en el codi.

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

Quan l'exemple s'executa al navegador, podeu utilitzar les eines de desenvolupament del navegador per veure el text escrit a la consola. Per exemple, quan aquesta mostra s'executa al formulari Oportunitat amb el procés de vendes d'oportunitat, s'escriu el següent a la consola:

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