Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: BeforeSendData, adicionada nota``

...

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:

 

Image Modified


afterReleaseProcessVersion

Evento disparado após a criação ou modificação nas configurações de um determinado processo.

Nota
titleAtenção

 Caso o processo possua o evento "afterReleaseVersion" implementado, este evento global será desconsiderado na liberação de novas versões do processo em questão


  • Abaixo segue um exemplo de como implementar esse evento:
Bloco de código
languagejs
linenumberstrue
function afterReleaseProcessVersion(processXML){
    var pdv = getValue("ProcessDefinitionVersionDto");
    var processInfo = "\n### Nova versão de processo liberada: ###";
    processInfo += "\n User: " + getValue("WKUser");   
    processInfo += "\n processDescription: " + pdv.getProcessDescription();
    processInfo += "\n processId: " + pdv.getProcessId();
    processInfo += "\n version: " + pdv.getVersion();
    log.info(processInfo + "\n");
}

...

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 processostring


beforeStateEntry

Ocorre antes da entrada em uma nova atividade.

...

Descrição
Tipo
Sequência da atividadeInteger


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



Parâmetro:

Descrição
Tipo
Matrícula do usuáriostring


afterTaskCreate

Ocorre após o usuário receber uma tarefa.

...

Descrição
Tipo
Matrícula do usuáriostring


afterStateEntry

Ocorre após a entrada em uma nova atividade.

...

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. 

Nota

Este evento não deve possuir lógicas desenvolvidas diretamente nele, pois o importador de dados do Analytics não interpreta lógicas (if e else, por exemplo) fazendo com que estas lógicas complexas não sejam processadas

Todas as lógicas necessárias devem ser feitas nos eventos de processo, como BeforeStateEntry, deixando os valores que serão enviados para o Analytics corretos antes do envio.


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.

...

Tipo
Descrição
Tipo
iCurrentStateSequência da atividade atualInteger
stateListLista das sequências das atividadesList<Integer>


beforeTaskSave

Ocorre antes de salvar as informações selecionadas pelo usuário.

...

Descrição
Tipo
Usuário correntestring
Sequência da próxima atividadeInteger
Lista de usuários destinoList<String>


afterProcessCreate

Ocorre logo após a criação de um novo processo.

...

Descrição
Tipo
Número do novo processoInteger


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 correntestring
Seqüência da próxima atividadeInteger
Lista de usuários destinoList<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 correntestring
Seqüência da próxima atividadeInteger
Lista de usuários destinoList<String>


beforeStateLeave

Ocorre antes da saída de uma atividade.

...

Descrição
Tipo
Seqüência da atividadeInteger


afterStateLeave

Ocorre após a saída de uma atividade.

...

Descrição
Tipo
Seqüência da atividadeInteger


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
titleAtenção
  • Este evento não será executado na abertura de solicitação. O evento não impede o responsável de adicionar anexos e observações antes mesmo da solicitação ser aberta (possuir código de solicitação).
  • O evento checkComplementsPermission não permite oferecer permissões adicionais na edição de complementos em relação as permissões definidas na configuração do processo. Por este é evento é possível apenas restringir mais especificamente as permissões de adição de complementos. Se via configuração do processo determinado usuário não consegue adicionar anexos não é possível que este evento forneça permissão para este usuário.


subProcessCreated

Ocorre quando um sub-processo é criado.

...

Descrição
Tipo
Número do sub-processoInteger


afterProcessFinish

Ocorre após finalizada a solicitação.

...

Descrição
Tipo
Número do processoInteger


beforeCancelProcess

Ocorre antes do cancelamento da solicitação.

...

Descrição
Tipo
Usuário correntestring
Número do processoInteger


afterCancelProcess

Ocorre após o cancelamento da solicitação. É recomendado não disparar exceções neste método, pois o cancelamento já foi realizado.

...

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 tablename.

getChildrenIndexes
Esse evento retorna os índices dos registros (linhas) contidos em um Pai Filho a partir do seu tablename.

...

Dica
titleSaiba mais

Importante saber ressaltar que só será possível recuperar os dados após salvo, ou seja, somente nos eventos After.

Para saber mais detalhes sobre os eventos de formulário Pai Filho, acesse a documentação Eventos de Formulário.

...

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á:

...