Workflow - Manual do Usuário > Modelador > Automatização > Funções JavaScript > Tarefa > Manipular propriedades dos executores > Executor Lista de ações > <performer>.addAction(name:String, id:String, sequence:Int, isReasonRequired:boolean)

<performer>.addAction(name:String, id:String, sequence:Int, isReasonRequired:boolean)

Essa função permite adicionar uma nova ação às ações já adicionadas via propriedades.

Sintaxe: <performer>.addAction(name:String, id:String, sequence:Int, isReasonRequired:boolean)

Parâmetros:

Nome Tipo Descrição
name String É o nome que se deseja definir para a ação, e que é utilizado quando a ação é exibida. Não pode ser definido como vazio.
id String É o identificador único da ação. Não pode ser definido como vazio e deve ser única entre todas as ações da tarefa.
sequence int

Não pode ser definido como vazio e deve ser um valor inteiro, caso não for, a ação irá assumir o valor mais baixo de um valor interno e das demais têm seu valor acrescentado.

Se definido uma sequência já em uso por outra ação, a nova ação assume a sequência e as ações com sequência igual ou superior à da nova ação, tem seu valor acrescentado.

A sequência deve ser maior ou igual a 0, e menor que a quantidade de itens adicionados á lista. Caso não for respeitado, é retornado um erro.

isReasonRequired boolean Identifica se a ação irá requisitar uma justificativa quando for acionada ou não.

Exemplo de utilização:

Essa função é utilizada quando deseja-se manipular as ações e/ou dados de negócio relevantes atrelados a tarefa.

Em um cenário em que exista a necessidade de definir uma tarefa de Aprovações de Férias em que o usuário final seja obrigado a tomar uma decisão baseada em algumas informações. Nesse caso é possível definir as ações que estarão disponíveis na tarefa, assim como os dados de negócio que serão exibidos ao usuário para consulta quando ele for realiza a tarefa.

 

Baseado nesse cenário existem as seguintes ações e dados de negócios para serem configuradas na tarefa de Aprovação de férias:

Ações

Ação Identificador único Sequência Necessita justificativa?
Aprovar 1 1 Não
Reprovar 2 2 Sim
Solicitar alterações 3 3 Sim

 

Dados de negócio relevantes

Variável Tipo
DataAdmissao Date
Colaborador.Nome String
Colaborador.Ferias.AdiantamentoFerias Double
QuantidadeDiasFerias Int
ValorAdiantamentoFerias Long
Abono String
ValorAbono String

Baseado nas informações acima é possível configurar para que essas ações e variáveis sejam definidas na tarefa para que o usuário consiga tomar as ações e consultar essas informações no momento da tomada de decisão.

Além disso, também é necessário alterar essas configurações após essas serem adicionadas à tarefas, como por exemplo: obter as ações já adicionadas, remover alguma ação, entre outras.

 

Script definido no BeforeExecute da tarefa de Aprovação de Férias:

// Obtém o objeto que contém as funções específicas do performer que está associado à tarefa

var performer = context.getTask().getPerformer();

 

 

// Obtém a lista de ações.

 

// Nenhuma ação foi definida previamente via propriedades, então essa lista estará vazia

var actions = performer.getActions();

 

 

// Adiciona as ações que lstadas acima, mais uma ação que servirá apenas para testes

performer.addAction("Aprovar", 1, 1, "false");

performer.addAction("Reprovar", 2, 2, "true");

performer.addAction("Solicitar alterações", 3, 3, "true");

performer.addAction("Teste", 4, 4, "true");

 

 

// Agora essa mesma função irá retornar as 4 ações adicionadas acima.

var actions = performer.getActions();

 

 

// Remove a ação com identificador único chamado "4", que nesse caso é a ação chamada de "Testes"

performer.removeAction(4);

 

 

// Obtém a ação que está adicionada na posição "1" da lista de ações - lembrando que as posições começam em 0.

 

// Nesse caso será retornada a ação "Reprovar"

var actionReprovar = performer.getActions().get(1);

 

 

// A partir da ação é possível ler a sua informações, sendo elas: nome, identificador, sequência e se necessita de jusitificativa ou não.

 

// Nesse caso as informações que irão retornar são:

actionReprovar.getName(); // Reprovar

actionReprovar.getId(); // 2

actionReprovar.getSequence(); // 2

actionReprovar.isReasonRequired(); // true

 

 

// Agora será adicionada as variáveis do processo como sendo dados relevantes para essa tarefa.

 

// Agora iremos adicionar dados de negócio a tarefa. Esses dados não são os dados mais relevantes, mas são dados que serão exibidos como dados de detalhamento.

// Para isso, primeiramente obtemos o objeto que contém os dados de entrada da tarefa.

var input = context.getTask().getInput();

 

// Agora com esse objeto iremos adicionar variável a variável que queremos que a tarefa possua como detalhamento.

input.setLong("ValorAdiantamentoFerias");

input.setString("Abono");

input.setLong("ValorAbono");

// Serão adicionadas todas as variáveis listadas acima.

performer.setDataRelevant("DataAdmissao");

performer.setDataRelevant("Colaborador.Nome");

performer.setDataRelevant("Colaborador.Ferias.AdiantamentoFerias");

performer.setDataRelevant("QuantidadeDiasFerias");

 

 

// Caso seja necessário remover alguma das variáveis dos dados relevantes da tarefa basta realizar o seguinte passo.

 

// Remove a variável "DataAdmissao" das variáveis relevantes

performer.removeRelevantData("DataAdmissao");

 

Este artigo ajudou você?