Eventos

 

Os eventos representam acontecimentos durante a execução de um processo que afetam o seu fluxo. Podem iniciar ou terminar um processo, pausar um caminho, tratar algum erro ocorrido, entre outros. Os eventos nunca executarão tarefas, o que podem é forçar ou desviar a execução para outra tarefa.

 

Eventos iniciais

Indica onde a execução de um processo/subprocesso será iniciada.

Abaixo seguem os tipos de eventos de inicio e suas diferenciações entre processos e subprocessos.


Processo

Tipo de evento de inicio suportado em processos:

Nome Definição Exemplo
Simples Indica o inicio da execução do processo. Podendo existir mais de um, assim o processo iniciará com caminhos paralelos, de acordo com quantos eventos de inicio existirem.

Subprocesso

Tipos de eventos de inicio suportados em subprocessos:

Nome Definição Exemplo
Simples Indica o inicio da execução do subprocesso. Apenas pode existir um evento inicial.
Erro Indica o inicio da execução de um subprocesso de tratamento de erro.
Se o nome deste evento inicial não for informado o fluxo padrão de tratamento de erro do escopo em que o subprocesso está inserido é substituído. Mais informações serão apresentadas no Subprocesso de erro.
Compensação

Indica o inicio da execução da compensação do subprocesso pai. Mais informações serão apresentadas no Subprocesso de compensação.

Sinal

Indica o inicio da execução do subprocesso disparado por um sinal. É disparado quando feito o lançamento de um evento do tipo sinal do escopo em que esse subprocesso está inserido. Mais informações serão apresentadas no Subprocesso de Sinal.

Nota

Segundo a BPMN, um evento intermediário de sinal pode chamar mais de um subprocesso de evento de sinal,no entanto, não é possível fazer isto no Workflow, pois não se pode definir o nome de um evento inicial de um subprocesso, o evento inicial herda o nome do subprocesso em que esta inserido. Então, um processo ao possuir dois subprocessos com o mesmo nome acusará erro. Para contornar isso, e conseguir fazer a captura de mais de um evento desse tipo, pode-se utilizar vários eventos intermediários para capturar esse evento e ao invés de vários subprocessos.

 

 

 

Eventos intermediários

Os eventos intermediários são eventos que podem ocorrer durante a execução do processo. Esses eventos podem ser classificados em dois grupos:

A ligação entre o lançador e o capturador é realizada através dos seus nomes, dentro do escopo em que estão inseridos. A cardinalidade varia conforme o tipo do evento. Abaixo um quadro que exibe a cardinalidade para cada tipo de evento e os tipos de eventos intermediários.

Nome Tipo Definição Exemplo
Sinal Capturador Representa uma mensagem enviada de um ponto do processo para outro. Uma evento de sinal pode ter vários lançadores e vários capturadores.

Cardinalidade: mais de um lançador para mais de um capturador.
Lançador Representa uma mensagem enviada de um ponto do processo para outro. Uma evento de sinal pode ter vários lançadores e vários capturadores.

Cardinalidade: mais de um lançador para mais de um capturador.
Timer Timer

Indica uma pausa no fluxo do processo apenas no caminho em que está inserido, não afetando os paralelos. Será sempre apresentado como um evento de captura independente do Fluxo de entrada ou saída.

Cardinalidade: é lançador e capturador ao mesmo tempo.

Link Capturador Representa uma quebra em um SequenceFlow. O eventos intermediário de link pode ter apenas 1 lançador e 1 capturador.

Cardinalidade: um lançador para um capturador.
Lançador Representa uma quebra em um SequenceFlow. O eventos intermediário de link pode ter apenas 1 lançador e 1 capturador.

Cardinalidade: um lançador para um capturador.
Compensação Compensação

É usado para disparar a compensação de alguma Atividade. Para que isto ocorra é necessário que o nome do evento de compensação seja igual ao da Atividade a ser compensada, porém para isso ainda é necessário que a atividade possua uma atividade de compensação associada (será visto a seguir). Este evento será sempre de lançamento, ele dispara a compensação de uma atividade. Ele pode ter fluxo de sequência de entrada e saída ao mesmo tempo.

Cardinalidade: pode ter mais de um lançador para um capturador, sendo que:

  • O lançador é definido no próprio evento intermediário de compensação e é definido no fluxo normal do processo.
  • O capturador é representado pela atividade cujo o nome é igual ao evento lançador.

 

Eventos finais

São eventos que indicam onde uma execução de processo termina. Não aceitam SequenceFlow de saída. São representados graficamente por um círculo contornado por uma linha espessa. Dependendo do tipo evento, pode possuir um ícone no seu interior que representará o tipo do evento. Entenda abaixo como cada um dos tipos de eventos finais funciona:

Nome Definição Exemplo
Simples Indica que o caminho terminou com sucesso.
Caminhos paralelos continuam executando.
Esse evento pode ser utilizado em processos e subprocessos.
Erro

Indica que o caminho terminou com erro.
Caminhos paralelos do escopo em questão são abortados o Executa o tratamento de erro padrão do escopo ou executa um subprocesso de tratamento de erro (caso definido).

Se o evento final não possuir nome a captura do erro é feita pelo tratador de erro padrão do escopo.

Se o evento final possuir nome a captura do erro lançado é feita pelo subprocesso que contém o evento inicial de erro com o mesmo nome.

Pode ser utilizado em processos e subprocessos. Caso seja utilizado em um subprocesso de tratamento de erro este finaliza o subprocesso em que esta inserido (de tratamento de erro) e repassa o erro para o escopo pai.

Ao ser lançado, o erro possui algumas informações que ajudam a identificar o elemento que o disparou. As informações disponibilizadas são:

  • Nome: Nome do evento final definido no processo.
  • Mensagem: Descrição do evento final definido no processo.
  • Detalhes: Exibirá o texto: "Evento de fim do tipo erro".

Terminal Indica que a instância do processo é imediatamente terminada com sucesso.
Caminhos paralelos são abortados.
Não executa compensação e tratamento de erro.
Pode ser utilizado em processos e subprocessos.
Sinal Envia uma mensagem para o escopo pai do subprocesso em questão, onde nesse escopo pai, deve existir um elemento tratador correspondente. Pode ser utilizado apenas em subprocessos.

Eventos de Borda

São eventos intermediários que ficam à borda das atividades. São utilizados para determinar comportamentos ou caminhos alternativos, de acordo com eventos ocorridos na execução do processo. Os eventos suportados para serem tratados como eventos de borda são os de erro, compensação e expiração. Segue o funcionamento de cada um abaixo.

 

Nome Definição Exemplo
Erro Trata qualquer erro ocorrido durante a execução da atividade em que o evento esta anexado. Caso ocorra algum erro durante a execução da atividade o caminho segue pelo fluxo do evento de borda.
Caminhos paralelos no processo continuam executando normalmente.
Esse evento pode ser anexado em atividades e subprocessos.
Compensação

Define a tarefa que deve ser executada, caso a tarefa que tem o evento anexado precise ser compensada. Esse evento pode ser anexado apenas em tarefa.

Quando um evento de borda de compensação é adicionado é automaticamente adicionado uma tarefa de compensação, a qual, tem como pai o mesmo pai da tarefa onde o evento está associado.

O evento não permite a conexão de fluxos de sequência (entrada ou saída) a ele. O único que pode existir é o que é criado automaticamente no momento da criação do evento. Esse fluxo de sequência possui sua linha tracejada.

Nota

A tarefa que executará a compensação mais o evento de borda são também conhecidos como Compensation Handler. Mais informações sobre essa definição podem ser encontradas na definição da Compensação.
Timer de expiração Define o fluxo de tratamento quando uma pendência (colocar link para a definição do que é uma pendência) expira. Esse evento pode ser anexado apenas em atividades. Mais informações sobre pendência podem ser acessadas no help do referente a visão geral do processo ou no Cockpit. 

 

Restrições:

Representação gráfica:

 

Propriedades

Eventos intermediários

Guia Geral

Nome: Campo obrigatório utilizado para identificar o elemento no diagrama. Essa informações pode também ser alterada via Script.

Descrição: Texto para auxiliar o entendimento do evento intermediário. Essa informações pode também ser alterada via Script.

Nota

A descrição tem um limite de 4000 caracteres, o que exceder isto será truncado.

Tipo: Campo obrigatório que define o tipo de evento intermediário, os tipos disponíveis são: Link, Sinal, Timer e Compensação. Estes tipos estão disponíveis no escopo do processo e subprocesso.

 

Guia detalhes

Detalhes técnicos: Permite o registro de detalhes técnicos para que sirva de orientação na edição ou automatização do modelo do processo.

 

Timer

Guia Geral

Nome: Campo utilizado para identificar o elemento no diagrama. Essa informações pode também ser alterada via Script.

Descrição: Texto para auxiliar o entendimento do evento intermediário. Essa informações pode também ser alterada via Script.

Nota

A descrição tem um limite de 4000 caracteres, o que exceder isto será truncado.

Tipo: Campo obrigatório que define o tipo de evento intermediário, os tipos disponíveis são: Link, Sinal, Timer e Compensação. Estes tipos estão disponíveis no escopo do processo e subprocesso.

Intervalo: Campo obrigatório que determina o intervalo para que o Timer seja executado.

Nota

No intervalo, considera-se por padrão o mês sendo 30 dias.

Considerar apenas dias úteis: Considera apenas os dias úteis para o intervalo informado no campo

Nota

  • Quando o timer considera apenas dias úteis, será utilizado o usuário definido na Central de Configurações>Sistemas>Performance Corporativa>Workflow. Caso esse usuário não exista, é gerado erro de negócio.
  • Deve ser respeitado o timeout configurado em Central de Configurações > Sistemas > Performance Corporativa > Workflow > Web services, pois os dias úteis são calculados a partir de um web server.

Intervalo. O cálculo é feito pelo web service do Gestão de Pessoas. O Web service tem as seguintes informações:

Aba detalhes

Detalhes técnicos: Permite o registro de detalhes técnicos para que sirva de orientação na edição ou automatização do modelo do processo.

 

Eventos iniciais

Guia Geral

Nome: Campo utilizado para identificar o elemento no diagrama. Essa informações pode também ser alterada via Script

Descrição: Texto para auxiliar o entendimento do evento inicial. Essa informações pode também ser alterada via Script.

Nota

A descrição tem um limite de 4000 caracteres, o que exceder isto será truncado.

Tipo: Campo obrigatório que define o tipo de evento inicial, os tipos disponíveis são:

 

Guia detalhes

Detalhes técnicos: Permite o registro de detalhes técnicos para que sirva de orientação na edição ou automatização do modelo do processo.

 

Eventos finais

Guia Geral

Nome: Campo utilizado para identificar o elemento no diagrama. Essa informações pode também ser alterada via Script

Descrição: Texto para auxiliar o entendimento do evento final. Essa informações pode também ser alterada via Script.

Nota

A descrição tem um limite de 4000 caracteres, o que exceder isto será truncado.

Tipo: Campo obrigatório que define o tipo de evento final, os tipos disponíveis são:

 

Guia detalhes

Detalhes técnicos: Permite o registro de detalhes técnicos para que sirva de orientação na edição ou automatização do modelo do processo.

 

Importante

Os eventos de borda não permitem a edição de suas propriedades por isso não foi incluído neste documento.

Este artigo ajudou você?