Partilhar via


getActivePath (referência da API do cliente)

Obtém uma coleção de estágios atualmente no caminho ativo com métodos para interagir com os estágios exibidos no controle de fluxo do processo de negócios.

O caminho ativo representa os estágios atualmente renderizados no controle de processo com base nas regras de ramificação e nos dados atuais no registro.

Sintaxe

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

Valor de retorno

Tipo: Coleção.

Descrição: Uma coleção de todos os estágios concluídos, o estágio atualmente ativo e o conjunto previsto de estágios futuros com base nas condições satisfeitas na regra de ramificação. Isso pode ser um subconjunto dos estágios retornados com formContext.data.process. getActiveProcess porque incluirá apenas os estágios que representam uma transição válida do estágio atual com base na ramificação que ocorreu no processo.

Example

A função Sdk.formOnLoad usa o método formContext.data.process.getActivePath para recuperar uma coleção de estágios. Em seguida, o código de exemplo usa o método forEach da coleção para percorrer cada estágio. Em seguida, o código grava as principais propriedades do palco no console usando a função Sdk.writeToConsole definida nesta biblioteca. Em seguida, o código acessa uma coleção de etapas para cada estágio usando o método getSteps . Finalmente, o exemplo usa o método forEach da coleção de etapas para acessar cada etapa e gravar as principais propriedades da etapa no console.

Observação

A função Sdk.formOnLoad na biblioteca JavaScript de exemplo deve ser definida como o manipulador de eventos OnLoad para um formulário e a caixa de seleção Passar contexto de execução como o primeiro parâmetro deve ser marcada na caixa de diálogo Propriedades do manipulador .
Além disso, este exemplo apenas ilustra o uso de alguns dos métodos na API formContext.data.process . Ele não representa o uso dessa API para atender a um requisito de negócios; destina-se apenas a demonstrar como os valores da propriedade chave podem ser acessados 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);

Quando o exemplo é executado no navegador, você pode usar as ferramentas de desenvolvedor do navegador para exibir o texto gravado no console. Por exemplo, quando este exemplo é executado no formulário Oportunidade com o Processo de Vendas de Oportunidade, o seguinte é gravado no console:

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