Dijeli putem


getActivePath (referenca za API klijenta)

Dohvaća zbirku faza trenutno na aktivnom putu s metodama za interakciju s fazama prikazanima u kontroli tijeka poslovnog procesa.

Aktivni put predstavlja faze koje su trenutno prikazane u kontroli procesa na temelju pravila grananja i trenutnih podataka u zapisu.

Sintaksa

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

Povratna vrijednost

Vrsta: Zbirka.

Opis: zbirka svih dovršenih faza, trenutno aktivne faze i predviđenog skupa budućih faza na temelju ispunjenih uvjeta u pravilu grananja. To može biti podskup faza vraćenih pomoću funkcije formContext.data.process. getActiveProcess jer će obuhvaćati samo one faze koje predstavljaju valjani prijelaz iz trenutne faze na temelju grananje koje je nastupila u procesu.

Primjer

Funkcija Sdk.formOnLoad koristi metodu formContext.data.process.getActivePath za dohvaćanje zbirke faza. Zatim ogledni kod koristi metodu forEach zbirke za ponavljanje kroz svaku fazu. Kod zatim na konzolu zapisi ključna svojstva faze pomoću funkcije Sdk.writeToConsole definirane u ovoj biblioteci. Kod zatim pristupa zbirci koraka za svaku fazu pomoću metode getSteps . Naposljetku, u primjeru se koristi metoda forEach zbirke koraka za pristup svakom koraku i unos ključnih svojstava koraka na konzolu.

Napomena

Funkcija Sdk.formOnLoad u oglednoj JavaScript biblioteci mora biti postavljena kao rukovatelj događajima OnLoad za obrazac, a u dijaloškom okviru Svojstva rukovatelja mora biti potvrđen kontekst izvođenja Pass kao prvi parametar.
Osim toga, u ovom je primjeru prikazano korištenje nekih metoda u API-ju formContext.data.process . To ne predstavlja korištenje ovog API-ja za zadovoljavanje poslovnih preduvjeta; namjena mu je samo pokazati kako se vrijednostima ključnog svojstva može pristupiti u kodu.

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

Kada se uzorak pokrene u pregledniku, tekst napisan na konzoli možete pregledati pomoću alata za razvojne inženjere preglednika. Na primjer, kada se taj uzorak pokrene u obrascu poslovne prilike s prodajnim procesom poslovne prilike, na konzolu se zapisi sljedeće:

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