Share via


Beispiel: Xrm.Page.data.process.getActivePath

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Dieses Beispiel veranschaulicht zurückgegebenen die Daten, wenn Sie die Methode Xrm.Page.data.process.getActivePath verwenden.

Anforderungen

Die Sdk.formOnLoad -Funktion in der Beispiel-JavaScript-Bibliothek musss als OnLoad-Ereignishandler für ein Formular festgelegt werden.

Demonstriert

Die Xrm.Page.data.process.getActivePath-Methode gibt eine Sammlung von Phasen zurück, die alle bisherigen Phasen, die aktuelle aktive Phase und die vorausgesagten zukünftigen Phasen repräsentiert, unter Berücksichtigung der Verzweigungsbedingungen der aktuellen Formulardaten Jede Phase hat eine getSteps-Methode, die Sie verwenden können, um Informationen zu den einzelnen Schritten in der Phase abzurufen.

In diesem Beispiel wird die Verwendung von einigen der Methoden in Xrm.Page.data.processAPI gezeigt. Es stellt nicht dar, wie dies API verwendet wird, um eine Geschäftsanforderung zu erfüllen; es soll nur zeigen, wie auf die Schlüsseleigenschaftenwerte im Code zugegriffen werden kann.

Beispiel

Die Xrm.Page.data.process.getActivePath -Funktion verwendet die Sdk.formOnLoad-Methode, um eine Sammlung von Phasen abzurufen. 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.

var Sdk = window.Sdk || { __namespace: true };
(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 () {
  //Enumerate the stages and steps in the active path
  var activePathCollection = Xrm.Page.data.process.getActivePath();
  activePathCollection.forEach(function (stage, n) {
   Sdk.writeToConsole("Stage Index: " + n);
   Sdk.writeToConsole("Entity: " + 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 Attribute: " + 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. Angenommen, dieses Beispiel wird im Leadentitätsformular mit dem Lead zu Verkaufschancen-Vertriebsprozess ausgeführt, wird Folgendes auf die Konsole geschrieben:

Stage Index: 0
Entity: lead
StageId: f99b4d48-7aad-456e-864a-8e7d543f7495
Status: active
    Step Name: Existing Contact?
    Step Attribute: null
    Step Required: false
    ---------------------------------------
    Step Name: Existing Account?
    Step Attribute: null
    Step Required: false
    ---------------------------------------
    Step Name: Purchase Timeframe
    Step Attribute: purchasetimeframe
    Step Required: false
    ---------------------------------------
    Step Name: Estimated Budget
    Step Attribute: budgetamount
    Step Required: false
    ---------------------------------------
    Step Name: Purchase Process
    Step Attribute: purchaseprocess
    Step Required: false
    ---------------------------------------
    Step Name: Identify Decision Maker
    Step Attribute: decisionmaker
    Step Required: false
    ---------------------------------------
    Step Name: Capture Summary
    Step Attribute: description
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 1
Entity: opportunity
StageId: bfc9108c-8389-406b-9166-2c3298a2e41f
Status: inactive
    Step Name: Customer Need
    Step Attribute: customerneed
    Step Required: false
    ---------------------------------------
    Step Name: Proposed Solution
    Step Attribute: proposedsolution
    Step Required: false
    ---------------------------------------
    Step Name: Identify Stakeholders
    Step Attribute: identifycustomercontacts
    Step Required: false
    ---------------------------------------
    Step Name: Identify Competitors
    Step Attribute: identifycompetitors
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 2
Entity: opportunity
StageId: 3a275c22-fc45-4e89-97fc-41e5ec578743
Status: inactive
    Step Name: Identify Sales Team
    Step Attribute: identifypursuitteam
    Step Required: false
    ---------------------------------------
    Step Name: Develop Proposal
    Step Attribute: developproposal
    Step Required: false
    ---------------------------------------
    Step Name: Complete Internal Review
    Step Attribute: completeinternalreview
    Step Required: false
    ---------------------------------------
    Step Name: Present Proposal
    Step Attribute: presentproposal
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 3
Entity: opportunity
StageId: 7f5247fe-cfc3-42bc-aa77-b1d836d9b7c0
Status: inactive
    Step Name: Complete Final Proposal
    Step Attribute: completefinalproposal
    Step Required: false
    ---------------------------------------
    Step Name: Present Final Proposal
    Step Attribute: presentfinalproposal
    Step Required: false
    ---------------------------------------
    Step Name: Confirm Decision Date
    Step Attribute: finaldecisiondate
    Step Required: false
    ---------------------------------------
    Step Name: Send Thank You
    Step Attribute: sendthankyounote
    Step Required: false
    ---------------------------------------
    Step Name: File De-brief
    Step Attribute: filedebrief
    Step Required: false
    ---------------------------------------
---------------------------------------

Siehe auch

Schreiben von Skripts für Geschäftsprozessflüsse
Beispiel: Xrm.Page.data.process.getEnabledProcesses

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright