# Gateway condicional inclusivo

![](/files/vGwjuODvOZuJ5VhlwHR8)

## Como divergente

Como elemento [**divergente**](/zeev/como-construir-processos/como-desenhar-processos/como-configurar-gateways.md#gateways-divergentes), cada conexão de saída deve ter uma [condição associada](/zeev/como-construir-processos/como-desenhar-processos/como-configurar-gateways/condicoes-em-gateways.md).  Após avaliar as condições associadas a cada uma das saídas, um ou mais caminhos podem ser ativados.  Se nenhum caminho for ativado, a solicitação emitirá erro.&#x20;

Por exemplo, no processo abaixo, conforme definido na tarefa "Definir quem deve aprovar", o processo **poderá** acionar as tarefas "RH aprovar", "Financeiro aprovar" ou "TI aprovar". No mínimo uma delas deverá ser acionada.

![](/files/02hbLol7JTRxZkJ9OLtb)

## Como convergente

Como elemento [convergente](/zeev/como-construir-processos/como-desenhar-processos/como-configurar-gateways.md#gateways-convergentes), esse gateway possui associado uma variável que chamaremos de "K", definida em suas configurações. O gateway irá esperar "K"  conexões de entrada chegarem para dar prosseguimento no processo.&#x20;

No desenho abaixo, imagine que o K é igual a 2. Isso significa que o gateway irá esperar 2 elementos chegarem para dar sequencia. Digamos que "RH aprovar" finalize; nada acontecerá. Daqui algumas horas, "Financeiro aprovar" finaliza; o gateway permitirá a passagem e "Realizar compra" será iniciado. Enquanto isso, "TI aprovar" continua pendente. Quando "TI aprovar" finalizar, nada acontecerá.&#x20;

![](/files/F2Y9oTHnKKEimRaNql1h)

Esse tipo de fluxo é bastante comum quando você tem por exemplo diversas instâncias de aprovação, ou um colegiado, mas não precisa que todos finalizem para dar andamento no processo.

<mark style="color:red;">Se o valor de "K"</mark> <mark style="color:red;"></mark><mark style="color:red;">**não for definido**</mark><mark style="color:red;">, o gateway irá esperar todas as conexões chegarem para dar sequência no processo. No desenho acima, "Realizar a compra" será ativada somente quando "RH aprovar", "Financeiro aprovar" e "TI aprovar" forem finalizadas.</mark> Esse comportamento é similar ao [gateway paralelo convergente](/zeev/como-construir-processos/como-desenhar-processos/como-configurar-gateways/gateway-paralelo.md#como-convergente).

### Cuidado especial

Você deve ter extra cuidado ao utilizar o gateway inclusivo como elemento convergente.  Você deve ter certeza que existem condições no processo para que o número correto de setas de conexão cheguem no elemento convergente.  Por exemplo, no processo abaixo a divergência é realizada por um gateway condicional inclusivo, o que indica que das três tarefas subsequentes,  "Emitir NF", "Despachar" e "Pagar comissão", uma, duas, ou três delas poderão ser acionadas. Se somente 2 forem acionadas, e o elemento convergente estiver configurado com seu valor "K" igual a 3, **o processo poderá ficar trancado**. &#x20;

![](/files/lb90vds7KZW1wYJZLZ1u)

Para tentar amenizar essa questão, o Zeev possui um mecanismo de controle adicional que pode ajudar em algumas situações. Quando o elemento convergente é acionado, Zeev irá verificar se existem alguma outra atividade (tarefa ou subprocesso) em andamento nessa solicitação. Se não existir nenhuma atividade em andamento, Zeev irá liberar a continuidade da solicitação, independente do que o elemento convergente espera.&#x20;

Verifique no relatório de monitoramento da solicitação se existem outros elementos em andamento.

## Compatibilidade com versões legadas

Se você é usuário do Orquestra BPMS 3, Orquestra BPMS 4 e está utilizando a versão anterior do desenhador de processos, a principal diferença que é nesses produtos existem dois gateways condicionais inclusivos, independentes:

* O gateway condicional inclusivo **divergente**, representado pela cor rosa;
* O gateway condicional inclusivo **convergente**, representado pela cor verde;

### Gateway condicional inclusivo divergente legado

Assim como no [gateway condicional inclusivo divergente](#como-divergente), cada conexão de saída deve ter uma [condição associada](/zeev/como-construir-processos/como-desenhar-processos/como-configurar-gateways/condicoes-em-gateways.md).  Após avaliar as condições associadas a cada uma das saídas, um ou mais caminhos podem ser ativados.

A principal diferença é que, nas versões legadas, por ele for funcionar exclusivamente como **divergente**, se ele estiver em uma posição convergente também, dará sequencia no processo todas as vezes que for acionado, após o valor "K" ter sido atingido.&#x20;

Veja o exemplo abaixo. No modo legado, o gateway exclusivamente divergente não tem nenhuma função convergente. Isso significa que, se "K" é igual a 1, quando a tarefa A finalizar, C e D serão testadas e poderão iniciar. Porém, quando B finalizar, C e D serão, novamente, testadas e poderão iniciar novamente.

![](/files/5CFGXVdgllO6tS9hZxHA)

Esse comportamento não é o novo padrão do Zeev, como vimos acima. No novo desenhador, o gateway tem dupla função, convergente e divergente. Portanto, o gateway dará sequencia no processo após "K" ser atingido, **porém fará isso somente 1 vez.**&#x20;

### Demonstração prática

Confira no vídeo a seguir como funciona os gateways do desenhador de processos.

{% embed url="<https://youtu.be/-Fg6WhWim6o>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.stoque.com.br/zeev/como-construir-processos/como-desenhar-processos/como-configurar-gateways/gateway-condicional-inclusivo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
