Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


Índice
maxLevel3
exclude.*ndice


Falando de componente Exclusivo...


O componente Exclusivo representa um ponto onde o processo pode tomar um caminho ou outro automaticamente, dependendo das condições definidas e dos dados obtidos para atender a uma das condições. Dessa forma, ele permite automatizar decisões e aumentar a produtividade, flexibilizando a personalização de processos e reduzindo possíveis falhas. Ele também facilita a resolução de exceções em tempo real e garante conformidade com normas de governança.

Esse componente permite definir regras claras para compor as condições que serão consideradas para determinar uma rota única na qual o processo deve seguir a partir desse ponto, decidindo assim, o seu destino. Ou seja, ele funciona como uma porta – gateway – que direciona a solicitação para a próxima etapa baseando-se em dados que atendam à uma condição.

Para determinar essa rota, ele considera uma informação já existente no contexto da solicitação quando ela chega nesse ponto e, a partir dessa informação, verifica qual condição é atendida por ela e direciona a solicitação para o fluxo correspondente à condição atendida.

As condições são verificadas na ordem em que foram criadas. Assim que uma das condições for atendida, as demais não são verificadas. Como cada condição possui um fluxo de destino vinculado, a solicitação é movimentada para a primeira etapa do fluxo correspondente à condição que foi atendida.

Quando um processo é dividido em duas ou mais rotas utilizando o componente Exclusivo, cada rota a ser seguida é determinada por um dado com valor diferente.

Painel
borderColor#ebecf0

Estado
subtletrue
titleExemplo

Por exemplo: para uma informação “Resultado da avaliação” os resultados podem ser “aprovado” ou “reprovado”.


Em um outro exemplo, a informação verificada pode ser “Valor total”, em que os resultados podem ser aplicados para regras definidas como “até 1000 reais”, “de 1001 a 5000 reais” ou “acima de 5000 reais”.


Quando o processo possui um fluxo sincronizado utilizando esse componente, é importante ressaltar que, dentre as entradas que chegam no ponto de sincronização, apenas uma é suficiente para que a solicitação siga adiante, ou seja, não serão aguardados outros fluxos para movimentar a solicitação.

Nota
titleImportante!

Ao utilizar o componente Exclusivo, o resultado é auto excludente, ou seja, não há possibilidade da solicitação seguir por mais de uma rota do processo, ela sempre seguirá pela rota da primeira condição atendida. Desse conceito se origina o nome do componente: Exclusivo.

**imagem**


Requisitos para utilização


Para utilizar o componente Exclusivo, é necessário atentar-se a alguns pontos:

  • o fluxo de entrada para ele não pode ter retorno, pois como ele se comporta como uma atividade automática, a solicitação sempre seguirá para o fluxo de saída que corresponder à condição atendida;
  • se um dos fluxos de saída possuir retorno, quando a solicitação retornar, a etapa correspondente a ele será executada de forma automática novamente;
  • para criar as condições, é necessário que já exista um formulário vinculado ao processo e, pelo menos, uma etapa/atividade posterior a ele. Isso porque, para construir as regras de cada condição, é necessário selecionar os campos do formulário que devem ser considerados na verificação da condição e a etapa para a qual a solicitação será enviada quando a condição for atendida;
  • ele precisa de, pelo menos, uma condição para funcionar corretamente.


Condição simples


A condição simples permite criar as regras a partir da própria interface, definindo a origem dos dados e os operadores para determinar o que deve ser validado. Para cada regra, é necessário definir:

  • o campo do formulário do qual será obtido o valor que será utilizado na comparação;
  • o operador que vai determinar qual tipo de comparação será feita: igual ao, maior que, menor que, igual ou maior que, menor ou igual a, diferente de, parcialmente igual a, parcialmente diferente de e qualquer um;
  • a origem do valor que será comparado com o valor do campo do formulário, podendo ser um valor vindo de outro campo do mesmo formulário ou um valor inserido manualmente em um campo da regra;
  • o outro campo do formulário ou o valor que será comparado com o primeiro campo do formulário, dependendo do que foi definido no tipo.

A validação da regra ocorre da seguinte forma em relação ao segundo valor a ser comparado:

  • se a origem do valor é um Campo de formulário, ela será feita comparando o valor dos dois campos do formulário que foram selecionados;
  • se a origem é um valor fixo, ela será feita comparando o valor do primeiro campo do formulário selecionado com o valor inserido manualmente no campo da regra.

É possível criar múltiplas regras para compor cada condição. E, também, é possível criar múltiplas condições para cada componente Exclusivo.

Nota
titleImportante!

As regras são validadas considerando o operador E, ou seja, todas as regras que compõem a condição precisam ser verdadeiras para que a condição seja atendida.

A primeira regra criada nunca pode ser excluída, apenas as regras criadas depois da primeira, pois é necessário que exista pelo menos uma regra para que o componente funcione corretamente.


Exemplos de uso




6. Exemplo de Estrutura da Regra

Se um usuário criar uma regra com dois critérios obrigatórios, ela pode ser assim:

Se o campo "Gestor Solicitante" for igual ao campo "Atribuição do Gestor" E o campo "Gestor Solicitante" for igual a "João da Silva", então o fluxo seguirá para a próxima atividade.



Condição avançada


A condição avançada permite criar as regras a partir de codificação, flexibilizando a criação de condições para pessoas mais técnicas que saibam programar e desejam criar expressões avançadas para as condições usando JavaScript.

Para esse tipo de condição, é disponibilizada uma IDE embutida, ou seja, um editor de código onde as expressões avançadas podem ser escritas. O ambiente para codificação permite a escrita de códigos de forma estruturada.

A condição avançada deve ser escrita utilizando expressões JavaScript e seguindo a estrutura:

  • Propriedade: campo do formulário ou variável do processo;
  • Condição: operadores como ===, >, <, != etc.;
  • Valor: valor fixo ou outra variável.

No ambiente para codificação, também são disponibilizados snippets prontos com os HPIs da plataforma para facilitar a criação das condições. Assim, é possível inserir facilmente chamadas e manipulação de dados. Esses snippets ajudam a reduzir erros de codificação e aceleram a configuração das condições avançadas.

Além disso, o ambiente exibe um exemplo de condição avançada para facilitar o entendimento da construção das regras.

Dica
titleDica!

Clique aqui e veja todos os métodos que estão disponíveis por meio da hAPI e que podem ser utilizados na criação de condições avançadas.


Verificar se existem outras documentações que auxiliam a criação da condição avançada.



Exemplos de uso





Configurar componente Exclusivo


01. No diagrama do processo, clique no componente Exclusivo que deseja configurar.

Painel
borderColor#f2f2f2
bgColor#f2f2f2

As configurações disponíveis são exibidas na lateral direita.

02. Defina um título ou nome para o componente que representa o direcionamento da solicitação para uma das etapas possíveis do fluxo do processo, de acordo com o resultado obtido.

Painel
borderColor#f2f2f2
bgColor#f2f2f2

O nome também pode ser alterado diretamente no componente, clicando sobre seu nome atual e depois em Editar– localizado no lado direito.

Painel
borderColor#ebecf0

Estado
subtletrue
titleExemplo de uso

Em um processo de Xxxxxxx, o componente poderia receber o nome Xxxxxxxx.

03. Clique em Adicionar condição para definir as condições que precisam ser atendidas para que a solicitação seja direcionada para a etapa correspondente.

04. Em Nome da condição, insira um nome para identificar a condição depois de criada.

05. Selecione o tipo de condição que deseja criar.

Painel
borderColor#f2f2f2
bgColor#f2f2f2

As opções disponíveis são:

  • Condição simples: permite definir regras a partir de operadores (igual, maior, menor, maior ou igual, etc.) para compor as condições. Obtenha mais detalhes em Condição simples.
  • Condição avançada: permite definir regras a partir de codificação em JavaScript para compor as condições. Obtenha mais detalhes em Condição avançada.

06. Xxxxxxxxxxxxxxx

Painel
borderColor#f2f2f2
bgColor#f2f2f2


07. Xxxxxxxxxxxxxxx

Painel
borderColor#f2f2f2
bgColor#f2f2f2


08. Xxxxxxxxxxxxxxx

Painel
borderColor#f2f2f2
bgColor#f2f2f2


09. Clique em Salvar rascunho – localizado no lado direito da barra superior – para salvar as configurações feitas no componente Exclusivo.


Adicionar condição simples


01. No diagrama do processo, clique no componente Exclusivo para o qual deseja adicionar uma condição simples.

02. Clique em Adicionar condição.

03. Em Nome da condição, insira um nome para identificar a condição simples depois de criada.

04. Selecione o tipo Condição simples.

05. Xxxxxxx

Painel
borderColor#f2f2f2
bgColor#f2f2f2


06. Clique em Salvar.

Painel
borderColor#f2f2f2
bgColor#f2f2f2


07. Ao concluir a inclusão de todas as condições simples desejadas, clique em Fechar– localizado no canto superior direito.


Editar condição simples




Excluir condição simples



Adicionar condição avançada


01. No diagrama do processo, clique no componente Exclusivo para o qual deseja adicionar uma condição avançada.

02. Clique em Adicionar condição.

03. Em Nome da condição, insira um nome para identificar a condição simples depois de criada.

04. Selecione o tipo Condição avançada.

Painel
borderColor#f2f2f2
bgColor#f2f2f2


05. Xxxxxxx

Painel
borderColor#f2f2f2
bgColor#f2f2f2


06. Clique em Salvar.

Painel
borderColor#f2f2f2
bgColor#f2f2f2


07. Ao concluir a inclusão de todas as condições avançadas desejadas, clique em Fechar– localizado no canto superior direito.


Editar condição avançada




Excluir condição avançada




Dúvidas frequentes


Confira aqui algumas dúvidas frequentes sobre o componente Exclusivo.

HTML
<script>
    (function() {
        function toggleAreas(isExpand, $parent) {
            var $items = $parent.find('.panel');

            $.each($items, function(idx, el) {
                var $arrow = $(el).find('span.cloakToggle').find('span');
                var $content = $(el).find('span.cloak');
                if (isExpand) {
                    $arrow.removeClass('cloakDefaultOpen').addClass('cloakDefaultClose');
                    $content.show();
                } else {
                    $arrow.addClass('cloakDefaultOpen').removeClass('cloakDefaultClose');
                    $content.hide();
                }
            });
        }

        $(document).on('click', '#toggleAll-2', function(ev) {
            ev.preventDefault();
            var isExpand = $(this).data('expand');
            var $parent = $(this).nextAll('.sectionColumnWrapper').first();
            toggleAreas(isExpand, $parent);
            $(this).data('expand', !isExpand);
        });
    })();
</script>
<a id="toggleAll-2" href="#" data-expand="true">Abrir/fechar todas as dúvidas</a>
Section
Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-1
Qual a diferença entre os componentes Exclusivo, Inclusivo e Paralelo?

Cloak
id@saiba-mais-1

Xxxxxxxx

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-2
O componente Exclusivo pode afetar o desempenho do processo?

Cloak
id@saiba-mais-2

Xxxxxxxxxxx

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-3
 É possível utilizar múltiplas regras no mesmo componente Exclusivo?

Cloak
id@saiba-mais-3

Sim. É possível criar múltiplas regras para cada condição, bem como, criar múltiplas condições para serem avaliadas.

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-4
Como alternar entre a condição Simples e a Avançada?

Cloak
id@saiba-mais-4

Xxxxxxxxxxxxxx

Importante!

Xxxxxxxxxxxxx

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-5
 Como testar se as condições definidas estão corretas?

Cloak
id@saiba-mais-5

Xxxxxxxxxxxxxx

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-6
 Por que a solicitação parou depois do componente Exclusivo?

Cloak
id@saiba-mais-6

Xxxxxxxxxxxxxx

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-7
Quais linguagens são suportadas para criar scripts na condição Avançada?

Cloak
id@saiba-mais-7

Apenas a linguagem JavaScript pode ser utilizada para criar as expressões para compor as condições.



HTML
<!-- Hotjar Tracking Code for http://tdn.totvs.com/display/fb -->
<script>
    (function(h,o,t,j,a,r){
        h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
        h._hjSettings={hjid:1280165,hjsv:6};
        a=o.getElementsByTagName('head')[0];
        r=o.createElement('script');r.async=1;
        r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
        a.appendChild(r);
    })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>