Condividi tramite


Esempio: Xrm.Page.data.process.getActivePath

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

In questo esempio vengono illustrati i dati restituiti quando si utilizza il metodo Xrm.Page.data.process.getActivePath.

Requisiti

La funzione Sdk.formOnLoad nella libreria JavaScript di esempio deve essere impostata come il gestore eventi OnLoad per un modulo.

Dimostra

Il metodo Xrm.Page.data.process.getActivePath restituisce una raccolta di fasi che rappresentano tutte le fasi precedenti, la fase corrente attiva e le fasi futuro previste prendendo in considerazione le condizioni di creazione di rami e i dati correnti del modulo. Ogni fase ha un metodo getSteps che è possibile utilizzare per recuperare informazioni su ogni passaggio nella fase.

In questo esempio viene illustrato l'utilizzo di alcuni metodi nell'Xrm.Page.data.processAPI. Non rappresenta l'utilizzo di questa API per soddisfare un requisito aziendale; è destinata a dimostrare come è possibile accedere ai valori delle proprietà chiave nel codice.

Esempio

La funzione Sdk.formOnLoad utilizza il metodo Xrm.Page.data.process.getActivePath per recuperare una raccolta di fasi. Quindi, il codice di esempio utilizza il metodo forEach della raccolta per eseguire il ciclo di ogni fase. Il codice quindi scrive le proprietà della fase nella console utilizzando la funzione Sdk.writeToConsole definita in questa libreria. Il codice quindi accede a una raccolta di passaggi per ogni fase utilizzando il metodo getSteps. Infine, l'esempio utilizza il metodo forEach della raccolta di passaggi per accedere a ogni passaggio e scrivere le proprietà chiave del passaggio alla console.

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

Quando l'esempio viene eseguito nel browser, è possibile utilizzare gli strumenti per sviluppatori del browser per visualizzare il testo scritto nella console. Ad esempio, quando questo esempio viene eseguito nel modulo dell'entità lead con Processo di vendita lead - opportunità, viene scritto quanto segue nella console:

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
    ---------------------------------------
---------------------------------------

Vedere anche

Scrivere gli script per i processi aziendali
Esempio: Xrm.Page.data.process.getEnabledProcesses

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright