Compartir por


getActivePath (Referencia da API do cliente)

Obtén unha colección de etapas actualmente no camiño activo con métodos para interactuar coas etapas mostradas no control de fluxo do proceso de negocio.

A ruta activa representa as etapas actualmente renderizadas no control de proceso baseadas nas regras de ramificación e os datos actuais no rexistro.

Sintaxe

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

Valor devolto

Tipo: Colección.

Descrición: Un conxunto de todas as etapas completadas, a etapa actualmente activa e o conxunto previsto de etapas futuras baseadas nas condicións satisfeitas na regra de ramificación. Isto pode ser un subconxunto das etapas devoltas con formContext.data.process. getActiveProcess porque só incluirá aquelas etapas que representan unha transición válida da fase actual baseada na ramificación que se produciu no proceso.

Exemplo

A función Sdk.formOnLoad usa o método formContext.data.process.getActivePath para recuperar unha colección de etapas. A continuación, o código de mostra usa o método forEach da colección para percorrer cada etapa. O código escribe as propiedades clave do escenario na consola usando a función Sdk.writeToConsole definida nesta biblioteca. O código accede a unha colección de pasos para cada etapa usando o método getSteps . Finalmente, a mostra usa o método forEach da colección de pasos para acceder a cada paso e escribir as propiedades clave do paso na consola.

Nota

A función Sdk.formOnLoad na biblioteca JavaScript de exemplo debe establecerse como o xestor de eventos OnLoad para un formulario, e a caixa de verificación Pasar o contexto de execución como primeiro parámetro debe ser seleccionada no diálogo Propiedades do xestador .
Ademais, esta mostra só ilustra o uso dalgúns dos métodos na API formContext.data.process . Non representa o uso desta API para cumprir un requisito empresarial; Só se pretende demostrar como se pode acceder aos valores das propiedades clave no código.

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

Cando a mostra se executa no navegador, pode usar as ferramentas de desenvolvemento do navegador para ver o texto escrito na consola. Por exemplo, cando esta mostra se executa no formulario Oportunidade co proceso de venda de oportunidades, escríbese o seguinte na 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