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

English
Español


