Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Recupera de forma assíncrona os fluxos do processo de negócios habilitados para uma tabela para a qual o usuário atual pode alternar.
Sintaxe
formContext.data.process.getEnabledProcesses(callbackFunction(enabledProcesses));
Parâmetro
| Nome | Tipo | Obrigatório | Description |
|---|---|---|---|
callbackFunction |
Função | Yes | A função de retorno de chamada deve aceitar um parâmetro que contenha um objeto com propriedades de dicionário, onde o nome da propriedade é a Id do fluxo do processo comercial e o valor da propriedade é o nome do fluxo do processo comercial. Os processos ativados são filtrados de acordo com os privilégios do usuário. A lista de processos habilitados é a mesma que um usuário pode ver na interface do usuário se quiser alterar o processo manualmente. |
Example
A função Sdk.formOnLoad no exemplo usa o método formContext.data.process.getEnabledProcesses para recuperar de forma assíncrona informações sobre fluxos de processos de negócios habilitados para a tabela. O exemplo passa uma função anônima como o primeiro parâmetro. Esta função é executada de forma assíncrona quando os dados são retornados e os dados são passados como parâmetro para a função anônima.
As informações sobre o fluxo de processo de negócios habilitado são fornecidas como um objeto de dicionário, onde o Id do processo é o nome da propriedade e o nome do fluxo do processo de negócios é o valor da propriedade. O código de exemplo processa essas informações e define os valores em uma matriz global Sdk.enabledProcesses para serem acessados pela lógica que é executada posteriormente. O exemplo também percorre os valores na matriz Sdk.enabledProcesses e usa a função Sdk.writeToConsole para gravar informações sobre os fluxos do processo de negócios recuperado no console.
Observação
A função Sdk.formOnLoad na biblioteca JavaScript de exemplo deve ser definida como o manipulador de eventos OnLoad para um formulário e a caixa de seleção Passar contexto de execução como o primeiro parâmetro deve ser marcada na caixa de diálogo Propriedades do manipulador .
Além disso, este exemplo apenas ilustra o uso de alguns dos métodos na API formContext.data.process . Ele não representa o uso dessa API para atender a um requisito de negócios; destina-se apenas a demonstrar como os valores da propriedade chave podem ser acessados no código.
//A namespace defined for SDK sample code
//You should define a unique namespace for your libraries
var Sdk = window.Sdk || {};
(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 (executionContext) {
// Retrieve the formContext
var formContext = executionContext.getFormContext();
// Retrieve Enabled processes
formContext.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 table.");
}
else {
Sdk.writeToConsole("These are the enabled business process flows for this table:");
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 este exemplo com as ferramentas de desenvolvedor do navegador abertas, a seguir está um exemplo da saída gravada no console para uma tabela com vários fluxos de processo de negócios habilitados.
Enabled business processes flows retrieved and added to Sdk.enabledProcesses array.
These are the enabled business process flows for this table:
id: 7994be68-899e-4a40-8d18-f5c3b6940188 name: Sample Lead Process
id: 919e14d1-6489-4852-abd0-a63a6ecaac5d name: Lead to Opportunity Sales Process