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