Histórico da Página
...
Para criar um novo evento do processo, clicar com o botão direito do mouse no projeto, acessar a opção New e, em seguida, a opção Other. No assistente aberto, selecionar a opção "Script evento workflow", presente na pasta fluig, e clicar no botão Next. Na nova tela, selecionar qual o evento que será criado e relacionar ele a um processo já existente. Para finalizar, clicar no botão Finish:
afterReleaseProcessVersion
...
Evento disparado após a criação ou modificação nas configurações de um determinado processo.
...
Propriedade | Descrição | Tipo |
WKCompany | Código da empresa | long |
WKUser | Usuário logado | String |
ProcessDefinitionVersion | Objeto com propriedades da versão do processo alterada | ProcessDefinitionVersionDto |
afterReleaseVersion
...
Ocorre após a liberação de uma versão do processo.
...
Descrição | Tipo |
---|---|
XML com a definição do processo | string |
beforeStateEntry
...
Ocorre antes da entrada em uma nova atividade.
Informações | ||
---|---|---|
| ||
Utilize este evento para realizar validações que ocasionalmente possam resultar no bloqueio da movimentação do processo. Para suspender a movimentação e exibir uma mensagem de alerta para o usuário, utilize o comando 'throw', conforme exemplo abaixo: throw "Erro ao movimentar solicitação"; |
Parâmetro:
...
...
...
Nota |
---|
Este evento não retorna erros para a tela naturalmente. Caso ocorra um erro durante a execução do afterStateEntry, ele será ignorado. Se o mesmo erro resultar no encerramento da transação (por exemplo, causando o timeout de transação ou uma exceção que force Rollback) a mensagem de transação abortada será apresentada em tela ao invés do erro esperado. |
Parâmetro:
Descrição | Tipo |
---|---|
Sequência da atividade | Integer |
beforeTaskCreate
...
Ocorre antes que o usuário
beforeTaskCreate
Ocorre antes que o usuário receba uma tarefa.
Bloco de código |
---|
function beforeTaskCreate(colleagueId){ // Impede que um determinado usuário assuma a tarefa if(colleagueId == "Administrador2" && getValue("takeTask") == true) { throw "Você não pode assumir esta tarefa"; } } ; } } |
Nota |
---|
Este evento não retorna erros para a tela naturalmente. Caso ocorra um erro durante a execução do afterStateEntry, ele será ignorado. Se o mesmo erro resultar no encerramento da transação (por exemplo, causando o timeout de transação ou uma exceção que force Rollback) a mensagem de transação abortada será apresentada em tela ao invés do erro esperado. |
Parâmetro:
Descrição | Tipo |
---|---|
Matrícula do usuário | string |
afterTaskCreate
...
Ocorre após o usuário receber uma tarefa.
...
Descrição | Tipo |
---|---|
Matrícula do usuário | string |
afterStateEntry
...
Ocorre após a entrada em uma nova atividade.
...
Descrição | Tipo |
---|---|
Sequência da atividade | Integer |
Exemplo (Exemplo - chamada do Dataset com varredura por colunas):
Bloco de código |
---|
var datasetReturned = DatasetFactory.getDataset("Formuláriodelocal6", null, null, null); log.info("===============COLUNAS======================="); log.info("===============NOME COLUNAS======================="); for (var j = 0; j < datasetReturned.rowsCount; j++) { try { log.info("******** COLUMN ---->" + datasetReturned.getColumnName(j)); } catch (e) { log.info("EEEEEEEEEEEEEEEEEE ->" + e); } } |
beforeSendData
...
É o último evento a ser executado. Possui integração com Analytics, podendo enviar dados específicos de processos Workflow.
...
Para maiores detalhes sobre a utilização desse evento, acesse Guia de Implementação Fluig Analytics.
validateAvailableStates
...
Ocorre após montada a lista de tarefas disponíveis para o usuário a partir da tarefa atual.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
function validateAvailableStates(iCurrentState, stateList) { // Código: 1 - Descrição: Atividade inicial // Código: 2 - Descrição: Atividade ordem 3 // Código: 3 - Descrição: Atividade ordem 2 // Código: 4 - Descrição: Atividade ordem 1 // stateList atual: [2,3,4] var stateArray = new Array(); if (iCurrentState == 1) { stateList.clear(); stateArray.push(4,3,2); } stateArray.forEach(function(code) { stateList.add(new java.lang.Integer(code)); }); // stateList reordenado: [4,3,2] return stateList; } |
Parâmetro:
...
...
...
beforeTaskSave
...
Parâmetro:
Tipo | Descrição | Tipo |
---|---|---|
iCurrentState | Sequência da atividade atual | Integer |
stateList | Lista das sequências das atividades | List<Integer> |
beforeTaskSave
...
Ocorre antes de salvar as informações selecionadas pelo usuário.
Nota |
---|
Este evento não retorna erros para a tela naturalmente. Caso ocorra um erro durante a execução do afterStateEntry, ele será ignorado. Se o mesmo erro resultar no encerramento da transação (por exemplo, causando o timeout de transação ou uma exceção que force Rollback) a mensagem de transação abortada será apresentada em tela ao invés do erro esperado. |
Parâmetros:
Descrição | Tipo |
---|---|
Usuário corrente | string |
Sequência da próxima atividade | Integer |
Lista de usuários destino | List<String> |
afterProcessCreate
...
Ocorre logo após a criação de um novo processo.
...
Descrição | Tipo |
---|---|
Número do novo processo | Integer |
beforeTaskComplete
...
Ocorre antes que o usuário complete uma tarefa, porém as informações de próxima tarefa e usuários destino já foram salvas.
...
Descrição | Tipo |
---|---|
Usuário corrente | string |
Seqüência da próxima atividade | Integer |
Lista de usuários destino | List<String> |
afterTaskComplete
...
Ocorre após o usuário completar uma tarefa, porém as informações de próxima tarefa e usuários destino já foram salvas.
...
Descrição | Tipo |
---|---|
Usuário corrente | string |
Seqüência da próxima atividade | Integer |
Lista de usuários destino | List<String> |
beforeStateLeave
...
Ocorre antes da saída de uma atividade.
...
Descrição | Tipo |
---|---|
Seqüência da atividade | Integer |
afterStateLeave
...
Ocorre após a saída de uma atividade.
...
Descrição | Tipo |
---|---|
Seqüência da atividade | Integer |
onNotify
...
Se refere a um evento global que ocorre após a movimentação da solicitação e antes de enviar as notificações.
Para mais detalhes consulte a página Desenvolvimento de eventos - On Notify.
checkComplementsPermission
...
Através dele é possível determinar se o usuário corrente do processo poderá ou não adicionar complementos mesmo com permissionamento ligado na modelagem do processo. Este evento possui acesso a todas as propriedades dos processos workflow (quando disponíveis) bem como acesso a hAPI, FLUIG e seus métodos.
...
Nota | ||
---|---|---|
| ||
|
subProcessCreated
...
Ocorre quando um sub-processo é criado.
...
Descrição | Tipo |
---|---|
Número do sub-processo | Integer |
afterProcessFinish
...
Ocorre após finalizada a solicitação.
...
Descrição | Tipo |
---|---|
Número do processo | Integer |
beforeCancelProcess
...
Ocorre antes do cancelamento da solicitação.
...
Descrição | Tipo |
---|---|
Usuário corrente | string |
Número do processo | Integer |
afterCancelProcess
...
Ocorre após o cancelamento da solicitação. É recomendado não disparar exceções neste método, pois o cancelamento já foi realizado.
...
Descrição | Tipo |
---|---|
Usuário corrente | string |
Número do processo | Integer |
Eventos de Formulário Pai Filho
...
getChildrenFromTable
...
Esse evento retorna um mapa com todos os campos filhos de um Pai Filho a partir do seu seu tablename.
getChildrenIndexes
...
Esse evento retorna os índices dos registros (linhas) contidos em um Pai Filho a partir do seu seu tablename.
Quando utilizado em processos será necessário acessar a hAPI.
...
Eventos nas etapas dos processos
Liberar nova versão do processo
...
Quando liberar uma nova versão do processo configurado, o evento executado será:
- afterReleaseVersion
Salvar nova solicitação
...
Quando iniciar uma solicitação pelo menu Processos, é evento executado será:
...
- beforeStateEntry
- beforeTaskCreate
- afterTaskCreate
- afterStateEntry
- beforeSendData
- validateAvailableStates
- beforeTaskSave
- afterTaskSave
- afterProcessCreate
Criar nova solicitação
...
Quando iniciar uma solicitação pelo menu Processos, é evento executado será:
...
- beforeStateEntry
- beforeTaskCreate
- afterTaskCreate
- afterStateEntry
- beforeSendData
- validateAvailableStates
- beforeTaskSave
- afterTaskSave
- beforeTaskComplete
- afterTaskComplete
- beforeStateLeave
- afterStateLeave
- afterProcessCreate
- onNotify
Visualizar solicitação
...
Quando acessar a Central de Tarefas, abrir uma solicitação já iniciada, os eventos executados serão:
- validateAvailableStates
- checkComplementsPermission
Salvar solicitação
...
Quando acionar o botão Salvar a solicitação, os eventos executados serão:
- validateAvailableStates
- beforeTaskSave
- afterTaskSave
Movimentar solicitação
...
Quando movimentar a solicitação acionando o botão Enviar, os eventos executados serão:
- validateAvailableStates
- beforeTaskSave
- afterTaskSave
- beforeTaskComplete
- afterTaskComplete
- beforeStateLeave
- afterStateLeave
- beforeStateEntry
- beforeTaskCreate
- afterTaskCreate
- afterStateEntry
- beforeSendData
- onNotify
Movimentar para subprocesso
...
Quando movimentar a solicitação para subprocesso acionando o botão Enviar, os eventos executados serão:
- validateAvailableStates
- beforeTaskSave
- afterTaskSave
- beforeTaskComplete
- afterTaskComplete
- beforeStateLeave
- afterStateLeave
- beforeStateEntry
- subProcessCreated
- afterStateEntry
- BeforeSendData
- onNotify
Finalizar solicitação
...
Quando finalizar a solicitação acionando o botão Enviar, os eventos executados serão:
- validateAvailableStates
- beforeTaskSave
- afterTaskSave
- beforeTaskComplete
- afterTaskComplete
- beforeStateLeave
- afterStateLeave
- beforeStateEntry
- afterStateEntry
- afterProcessFinish
- beforeSendData
Cancelar solicitação
...
Quando usuário acessar solicitação já iniciada na Central de Tarefas para Cancelamento, o evento executado será:
...