Funções JavaScript
Nos elementos Atividade e Fluxo de Sequência é possível adicionar código JavaScript para a automatização do processo. O JavaScript por si só, já possui uma vasta quantidade de funções que podem ser utilizadas para essa automatização, porém além dessas, são disponibilizadas também funções para a manipulação de informações específicas do Workflow e para a facilitar a integração com sistemas da Senior. Essas funções são sempre acessadas através de um contexto.
O contexto é o ponto de partida para acessar as funções disponibilizadas. O contexto base para acessar as funções é context. Dentro do contexto base são disponibilizadas algumas funções. As demais funções são acessíveis através dos objetos retornados pelas funções. Ou seja, uma função pode retornar um objeto que por sua vez possui diversas outras funções e assim sucessivamente.
- Obtendo as variáveis do processo a partir do contexto base: context.getVars()
- Obtendo o contexto para acessar as funções de manipulação de usuários e grupos:
- Primeiro buscamos o objeto <security>: context.getSecurity()
- Agora a partir do objeto retornado por essa função, podemos utilizar as demais funções disponibilizadas por ele: <security>.isGroup(int)
Processo
Contém funções para a obtenção de informações sobre a instância do processo que está sendo executada.
O customizador pode obter as informações da instância do processo via JavaScript. As informações são obtidas a partir do contexto.
Nota
Este recurso está disponível para os scripts BeforeExecute e AfterExecute da Tarefa.
Nota
Este recurso está disponível para os scripts AfterExecute da Tarefa.
Tarefa
Contém funções para a obtenção, alteração ou adição de informações na instância da tarefa.
O customizador pode alterar as informações da atividade via JavaScript. Estas informações são utilizadas para criar a pendência e a atividade é obtida a partir do contexto através do método context.getTask().
Nota
- Em atividades de compensação, se utilizado alguma função para alterar as informações da tarefa, estas serão executadas normalmente porém não alterarão as variáveis de fato.
- Este recurso está disponível nos scripts BeforeExecute da atividade.
O customizador pode consultar as informações da atividade via JavaScript. A atividade é obtida a partir do contexto através do método context.getTask().
Nota
Este recurso está disponível para os scripts BeforeExecute e AfterExecute.
O customizador pode definir os dados de entrada do executor, e obter os de saída via JavaScript.
O customizador pode registrar informações de execução da atividade via JavaScript. A atividade é obtida a partir do contexto através do método context.getTask().
Nota
Este recurso está disponível nos scripts BeforeExecute e AfterExecute da atividade.
Cada registro no log é armazenado com a data e hora em que o script é executado. O tamanho máximo do texto armazenado é 2000 caracteres, textos maiores que isto serão truncados.
O customizador pode manipular as propriedades das notificações via JavaScript.
Nota
- Este recurso está disponível no Script de Notificação da tarefa.
- Estas funções não alteram o modelo do processo. Elas são aplicadas apenas à instância da tarefa na qual foram executadas.
- <task>.getCurrentNotification(): <CurrentNotification>;
- <currentNotification>.disable();
- <currentNotification>.addCCAsId(id: long);
- <currentNotification>.addCCAsMail(email: String);
- <currentNotification>.clearCC();
- <currentNotification>.setSubject(title: String);
- <currentNotification>.setMessage(message: String).
O customizador pode manipular as propriedades dos executores via JavaScript.
Nota
- Este recurso está disponível no script BeforeExecute da tarefa.
- Estas funções não alteram o modelo do processo. Elas são aplicadas apenas à instância da tarefa na qual foram executadas.
- <task>.getPerformer(): <performer>;
- Para executor (<performer>) Lista de ações:
- <performer>.getActions() : List<Action>;
- Obtém a ação tomada pelo usuário: <task>.getOutput : ReadOnlyObject;
- <performer>.addAction(name:String, id:String, sequence:Int, isReasonRequired:boolean);
- <performer>.addRelevantData(variableName : String);
- <performer>.removeAction(id:String);
- <performer>.removeRelevantData(variableName : String);
- Adicona dados de negócio: <task>.getInput() : ReadWriteObject.
- Para executor (<performer>) Web service do Middleware Senior:
- Quando executor (<performer>) Envio de e-mail:
O customizador pode criar variáveis locais para manipulação de dados do processo via JavaScript. Para isto deve-se obter o objeto de manipulação de variáveis locais, e em seguida, utilizando os métodos de manipulação de objetos, adicionar e remover as variáveis locais desejadas. A variável é definida como uma propriedade do objeto de manipulação através do método <objeto>.set<Tipo>(<nome>, <valor>).
Importante
Não é aconselhada a utilização de valores dinâmicos no nome da variável, por exemplo, retorno de funções ou outras variáveis. Caso sejam utilizados valores dinâmicos, não há garantias de funcionamento e compatibilidade futuras versões do Workflow.
O ciclo de vida dessas variáveis locais criadas é definido de acordo com o Script onde esta for criada:
- BeforeExecute: pode ser utilizada durante todo ciclo de vida da tarefa;
- AfterExecute: pode ser utilizada somente dentro deste script;
- Script de Notificação: pode ser utilizada somente dentro deste script.
Nota
- Este recurso está disponível nos scripts BeforeExecute, AfterExecute e Script de Notificação da tarefa.
- As variáveis locais criadas através das funções de script não podem ser utilizadas para acessar dados através de placeholders.
Utilitários
Possui funções utilitárias para a manipulação do processo. Através dessas funções é possível, por exemplo, realizar a chamada de serviços do Middleware, fazer o lançamento de erros de negócio, verificar se algum usuário é usuário ou um grupo, registrar informações no log do servidor, entre muitas outras funções.
O customizador pode obter informações de usuários e grupos via JavaScript.
Nota
Este recurso está disponível para os scripts BeforeExecute e AfterExecute da atividade.
- context.getSecurity(): <security>;
- <security>.getId(name: String): Int;
- <security>.getName(id: Int): String;
- <security>.getEmail(id: Int): String
- <security>.getEmail (name: String): String
- <security>.isUser(id: Int): Boolean;
- <security>.isUser(name: String): Boolean;
- <security>.isGroup(id: Int): Boolean;
- <security>.isGroup(name: String): Boolean;
- <security>.isMemberOf(id: Int, group: Int): Boolean.
- <security>.addToGroup(personId: Int, groupId: Int);
- <security>.addToGroup(personName: String, groupName: String);
- <security>.addAccessGroup(userId: Int, groupId: Int);
- <security>.addAccessGroup(userName: String, groupName: String);
- <security>.removeFromGroup(personName: String, groupName: String);
- <security>.createUser(name: String);
- <security>.setEmail(name: String, email: String);
- <security>.setPassword(name: String , password: String, changePwdAtLogon: boolean);
- <security>.createGroup(String name);
- <security>.deletePerson(name: String);
- <security>. deletePerson(id: Int);
O customizador pode obter informações através de web services do Middleware via JavaScript. Os web services são chamados no mesmo ambiente de execução da engine do Workflow e a execução é sempre síncrona.
Nota
Este recurso está disponível para os scripts BeforeExecute e AfterExecute da atividade.
O customizador pode obter as informações para tratamento de erros de negócio via JavaScript.
Nota
Este recurso está disponível para os scripts BeforeExecute e AfterExecute da atividade.
As informações estão disponíveis na primeira Atividade do caminho de tratamento do erro em questão.
O customizador pode lançar erros de negócio via JavaScript.
Nota
Este recurso está disponível para os scripts BeforeExecute e AfterExecute da atividade.
O customizador pode realizar o parser de uma String para JSON via JavaScript.
Nota
Este recurso está disponível para os scripts BeforeExecute, AfterExecute e Expressão do fluxo de sequência da Tarefa.
O customizador pode registrar informações no log do servidor Java EE via JavaScript.
Nota
Este recurso está disponível para os scripts BeforeExecute e AfterExecute da Tarefa.

English
Español


