Compartir a través de


Ejemplo: Xrm.Page.data.process.getActivePath

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Este ejemplo demuestra los datos devueltos al usar el método Xrm.Page.data.process.getActivePath.

Requisitos

La función Sdk.formOnLoad en la biblioteca JavaScript de ejemplo se debe configurar como el controlador de eventos de OnLoad de un formulario.

Muestra

El método Xrm.Page.data.process.getActivePath devuelve una colección de fases que representa cualquier fase anterior, la fase activa actual y las fases futuras previstas teniendo en cuenta las condiciones de bifurcación y los datos del formulario actual. Cada fase tiene un método getSteps que puede usar para recuperar información acerca de cada paso en la fase.

Este ejemplo ilustra el uso de algunos de los métodos en el Xrm.Page.data.processAPI. No representa el uso de esta API para cumplir un requisito de negocio; solo se usa para demostrar cómo se puede acceder a los valores de propiedades clave en código.

Ejemplo

La función Sdk.formOnLoad usa el método Xrm.Page.data.process.getActivePath para recuperar una colección de fases. A continuación, el código de ejemplo usa el método forEach de la colección de recorrer cada fase. El código escribe a continuación propiedades clave de la fase en la consola mediante la función Sdk.writeToConsole definida en esta biblioteca. Seguidamente el código accede a una colección de pasos para cada fase mediante el método getSteps. Por último, el ejemplo usa el método forEach de la colección de pasos para acceder a cada paso y escribe las propiedades clave del paso a la consola.

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

Cuando el ejemplo se ejecuta en el explorador, puede usar las herramientas del desarrollador del explorador para ver el texto escrito en la consola. Por ejemplo, cuando este ejemplo se ejecuta en el formulario de entidad Cliente potencial con el Proceso de cliente potencial a ventas de la oportunidad, se escribe lo siguiente en la consola:

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

Ver también

Escribir scripts para flujos de procesos de negocio
Ejemplo: Xrm.Page.data.process.getEnabledProcesses

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright