Поделиться через


getActivePath (справочник по КЛИЕНТСКОму API)

Возвращает коллекцию этапов в активном пути с методами взаимодействия с этапами, отображаемыми в элементе управления потоком бизнес-процессов.

Активный путь представляет этапы, которые в настоящее время отображаются в элементе управления процессом на основе правил ветвления и текущих данных в записи.

Синтаксис

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

Возвращаемое значение

Тип: Коллекция.

Описание: коллекция всех завершенных этапов, текущей активной стадии и прогнозируемого набора будущих этапов на основе условий в правиле ветвления. Это может быть подмножество этапов, возвращаемых с помощью formContext.data.process. getActiveProcess , так как он будет включать только те этапы, которые представляют допустимый переход с текущей стадии на основе ветвления, которая произошла в процессе.

Example

Функция Sdk.formOnLoad использует метод formContext.data.process.getActivePath для получения коллекции этапов. Затем пример кода использует метод forEach коллекции для цикла по каждому этапу. Затем код записывает ключевые свойства этапа в консоль с помощью функции Sdk.writeToConsole , определенной в этой библиотеке. Затем код получает доступ к коллекции шагов для каждого этапа с помощью метода getSteps . Наконец, в примере используется метод forEach коллекции шагов для доступа к каждому шагу и записи ключевых свойств шага в консоль.

Замечание

Функция Sdk.formOnLoad в примере библиотеки JavaScript должна быть задана в качестве обработчика событий OnLoad для формы, а контекст выполнения Pass должен быть установлен в диалоговом окне "Свойства обработчика ".
Кроме того, этот пример просто иллюстрирует использование некоторых методов в API formContext.data.process . Он не представляет использование этого API для удовлетворения бизнес-требований; Он предназначен только для демонстрации доступа к значениям ключевых свойств в коде.

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

При запуске примера в браузере можно использовать средства разработчика браузера для просмотра текста, записанного в консоль. Например, если этот пример выполняется в форме "Возможность" с процессом продажи возможностей, в консоль записывается следующее:

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