Exemplo: Xrm.Page.data.process.getEnabledProcesses

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Este exemplo mostra como recuperar informações sobre processos habilitados para uma entidade usando o método Xrm.Page.data.process.getEnabledProcesses.

Requisitos

A função Sdk.formOnLoad na biblioteca do JavaScript de amostra precisa ser definida como o manipulador de eventos do OnLoad para um formulário.

Demonstra

O método Xrm.Page.data.process.getEnabledProcesses retorna informações sobre processos habilitados para uma entidade que esteja disponível para o usuário atual alternar. Se você quiser usar o método Xrm.Page.data.process.setActiveProcess, é possível usar o método getEnabledProcesses para obter informações sobre os processos válidos que você pode definir.

Este exemplo mostra a utilização de alguns dos métodos no the Xrm.Page.data.processsAPI. Não represente usando este API para atender um requisito corporativo; somente pretende-se demonstrar como os valores de propriedade principais podem ser acessados no código.

Exemplo

A função Sdk.formOnLoad usa o método Xrm.Page.data.process.getEnabledProcesses de maneira assíncrona para recuperar informações sobre fluxos de processo empresarial habilitados para a entidade. O exemplo transmite uma função anônima como o primeiro parâmetro. A função é executada de maneira assíncrona quando os dados são retornados e transmitidos como o parâmetro para a função anônima.

As informações sobre o fluxo de processos de negócios não é fornecida como um objeto de dicionário cuja ID do processo é o nome da propriedade e o nome do fluxo de processos de negócios é o valor da propriedade. O código de exemplo processa essas informações e define os valores em uma matriz Sdk.enabledProcesses global a ser acessada pela lógica que executa posteriormente. O exemplo também fornece loop com os valores em uso na matriz Sdk.enabledProcesses e usa a função de Sdk.writeToConsole para gravar as informações sobre fluxos de processo empresarial recuperados para o console.

//A namespace defined for SDK sample code
//You should define a unique namespace for your libraries
var Sdk = window.Sdk || { __namespace: true };
(function () {
 //A global variable to store information about enabled business processes after they are retrieved asynchronously
 this.enabledProcesses = [];

 // 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 () {
  //Retrieve Enabled processes
  Xrm.Page.data.process.getEnabledProcesses(function (processes) {
   //Move processes to the global Sdk.enabledProcesses array;
   for (var processId in processes) {
    Sdk.enabledProcesses.push({ id: processId, name: processes[processId] })
   }
   Sdk.writeToConsole("Enabled business processes flows retrieved and added to Sdk.enabledProcesses array.");

   //Write the values of the Sdk.enabledProcesses array to the console
   if (Sdk.enabledProcesses.length < 0) {
    Sdk.writeToConsole("There are no enabled business process flows for this entity.");
   }
   else {
    Sdk.writeToConsole("These are the enabled business process flows for this entity:");
    for (var i = 0; i < Sdk.enabledProcesses.length; i++) {
     var enabledProcess = Sdk.enabledProcesses[i];
     Sdk.writeToConsole("id: " + enabledProcess.id + " name: " + enabledProcess.name)
    }
   }

   //Any code that depends on the Sdk.enabledProcesses array needs to be initiated here

  });
 };

}).call(Sdk);

Quando você executa esse exemplo com as ferramentas do desenvolvedor do navegador abertas, a seguir está um exemplo do resultado escrito no console de uma entidade com vários fluxos de processo empresarial habilitados.

Enabled business processes flows retrieved and added to Sdk.enabledProcesses array.
These are the enabled business process flows for this entity:
id: 7994be68-899e-4a40-8d18-f5c3b6940188 name: Sample Lead Process
id: 919e14d1-6489-4852-abd0-a63a6ecaac5d name: Lead to Opportunity Sales Process

Confira Também

Criar scripts para fluxos de processos de negócios
Exemplo: Xrm.Page.data.process.getActivePath

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais