Freigeben über


getActivePath (Client-API-Referenz)

Ruft eine Sammlung von Phasen ab, die derzeit im aktiven Pfad sind und Methoden zur Interaktion mit den Phasen enthalten, die im Steuerelement für Geschäftsprozessflüsse angezeigt werden.

Der aktive Pfad stellt die Phasen dar, die aktuell in der Prozesssteuerung anhand der Verzweigungsregeln und den aktuellen Daten im Datensatz gerendert werden.

Syntax

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

Rückgabewert

Typ: Sammlung.

Beschreibung: Eine Sammlung aller abgeschlossenen Phasen, die derzeit aktive Phase und der vorausgesagte Satz der zukünftigen Phasen anhand der erfüllten Bedingungen in der Verzweigungsregel. Dies ist kann eine Teilmenge der Phasen sein, die mit formContext.data.process.getActiveProcess zurückgegeben werden, da es nur die Phasen enthält, die einen gültigen Übergang von der aktuellen Phase darstellt, basierend auf der Verzweigung, die im Prozess aufgetreten ist.

Beispiel

Die Sdk.formOnLoad-Funktion verwendet die formContext.data.process.getActivePath-Methode, um eine Sammlung von Phasen zu erhalten. Dann verwendet der Beispielcode die forEach-Methode der Sammlung, um jede Phase als Schleife zu durchlaufen. Der Code schreibt anschließend die Schlüsseleigenschaftender der Phase mit der Sdk.writeToConsole-Funktion, die in dieser Bibliothek definiert wird. Der Code kann dann auf eine Sammlung von Schritten für jede Phase mithilfe der getSteps-Methode zugreifen. Zuletzt verwendet das Beispiel die forEach-Methode der Schrittsammlung, um auf die einzelnen Schritte zuzugreifen und Schlüsseleigenschaften des Schritts auf die Konsole zu schreiben.

Hinweis

Die Funktion Sdk.formOnLoad in der Beispiel-JavaScript-Bibliothek muss als OnLoad-Ereignishandler für ein Formular festgelegt werden, und das Kontrollkästchen Ausführungskontext als ersten Parameter übergeben muss im Dialogfeld Handlereigenschaften ausgewählt werden.
Dieses Beispiel verdeutlicht auch die Nutzung von einigen der Methoden in der formContext.data.process API. Es stellt nicht dar, wie diese API verwendet wird, um eine Geschäftsanforderung zu erfüllen; es soll nur zeigen, wie auf die Schlüsseleigenschaftenwerte im Code zugegriffen werden kann.

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

Wenn das Beispiel im Browsern ausgeführt wird, können Sie die Entwicklertools des Browsers verwenden, um den Text anzuzeigen, der auf die Konsole geschrieben wird. Wenn beispielsweise dieses Beispiel im Verkaufschancenformular mit dem Verkaufschancenvertribsprozess durchgeführt wird, wird folgendes in der Konsole geschrieben:

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

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).