Falando de componente Subprocesso...


 O componente Subprocesso representa um ponto do processo onde será iniciado outro processo completo, que é o subprocesso. Ou seja, esse componente representa um conjunto de atividades agrupadas – que formam um processo – dentro de um processo principal ou maior, permitindo encapsular esse conjunto de atividades dentro de um único componente para facilitar a leitura e a manutenção do diagrama do processo principal.

Com o componente Subprocesso, é possível reutilizar um fluxo de trabalho em vários processos ou em vários pontos de um mesmo processo.


Se na sua empresa existem algumas etapas de aprovação de valores que são comuns em vários processos, você pode agrupar essas etapas em um processo de Aprovação financeira e reutilizá-lo a partir do componente Subprocesso em todos os outros processos que, em algum momento, precisam passar por essas mesmas etapas de aprovação.

Quando uma solicitação chega na etapa do subprocesso, ela é finalizada e uma nova solicitação é aberta no subprocesso.

Porém, se o fluxo do processo principal permite retorno, quando a solicitação chega na etapa do subprocesso, uma nova solicitação será aberta no subprocesso e a solicitação do processo principal fica bloqueada até que a solicitação do subprocesso seja finalizada. Assim que a solicitação do subprocesso for finalizada, a solicitação do processo principal é enviada para a etapa anterior à do subprocesso, para que continue no fluxo principal até sua finalização.

** imagem**


Em um processo de Compra de materiais, depois de alguém solicitar a compra de um material específico, passar por todas as aprovações necessárias da necessidade da compra e chegar na área de compras, primeiramente é verificado se o item existe em estoque. Se não existir no estoque, será necessário comprá-lo. Porém, antes de ir para a compra efetivamente, é necessário fazer a cotação e obter a aprovação dos valores com a área financeira. Neste ponto do processo é onde pode ser adicionado um subprocesso contendo as etapas necessárias de aprovação da área financeira. E, depois de concluídas as etapas financeiras, se os valores cotados foram aprovados, a solicitação retorna para a área de compras para que eles prossigam com a compra do material efetivamente.

** imagem**


Envio de dados entre o processo e o subprocesso


O componente Subprocesso permite que informações sejam compartilhadas entre o processo principal e o subprocesso. Para isso, é necessário que os dois processos – o principal e o subprocesso – possuam um formulário vinculado, possibilitando assim, o tráfego de informações entre os processos de forma simples e transparente.

O envio e o recebimento de informações entre os processos é definido a partir da configuração dos campos existentes nos dois formulários, podendo ser definido quais valores devem ser compartilhados e a direção de cada um:


  • Enviar valor do campo do formulário do processo principal (origem) para o campo do formulário do subprocesso (destino): Nome Nome do usuário;
  • Enviar valor do campo do formulário do subprocesso (origem) para o campo do formulário do processo principal (destino): Nome Nome do usuário;
  • Enviar e receber o valor do campo do formulário do processo principal e do formulário do subprocesso (ambos enviam e recebem o valor um do outro): Nome  Nome do usuário.


Configurar componente Subprocesso


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

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

02. Na aba Geral, defina as informações gerais para o componente que representa outro processo dentro do processo.

Título
Nome da etapa que representa o início de outro processo dentro do processo principal. O nome também pode ser alterado diretamente no componente, clicando sobre seu nome atual e depois em Editar– localizado no lado direito.


Em um processo de Compra de ativos para uma empresa, o componente poderia receber o nome Aprovação financeira, que são etapas de aprovação específicas da área financeira.

Processo
Processo que será incluído dentro do processo principal como um subprocesso. Qualquer processo existente na plataforma pode ser utilizado como um subprocesso dentro de outro processo.

Transferir anexos
Quando ativada, determina que todos os anexos presentes na solicitação do processo principal serão copiados para a solicitação criada no subprocesso em questão.

Cancelamento conjunto
Quando ativada, determina que, se a solicitação do processo principal for cancelada, a solicitação do subprocesso também será. Porém, o contrário não ocorre, ou seja, se a solicitação do subprocesso for cancelada, a solicitação do processo principal não será.

Movimentar atividade
Quando ativada, determina que assim que a solicitação chegar na etapa que é o subprocesso, ele será iniciado imediatamente, sem a necessidade de acessar a Central de tarefas para isso. Ou seja, ao enviar a solicitação principal para o subprocesso, a primeira etapa do subprocesso – ou as primeiras, caso o fluxo do subprocesso seja alternativo – será exibida para seleção, permitindo, também, definir o responsável por ela quando o tipo de atribuição permitir.

03. Clique em Configurar campos para .

04. Xxxxxxxxxxx

05. Xxxxxxxxxxx

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

  • Xxxxxxx: xxxxxxxxx
  • Xxxxxx: xxxxxxxxxxx

06. Xxxxxxxxxxxxxxx


07. Xxxxxxxxxxxxxxx


08. Clique na aba Atribuição para ver quem será o responsável pela solicitação que será criada no subprocesso.

A atribuição exibida é a que foi configurada na primeira etapa do subprocesso, ou seja, a solicitação que será aberta no subprocesso será enviada para o responsável de acordo com o tipo de atribuição definido no subprocesso.

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


Configurar envio de dados entre os processos


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

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

02. Na aba Geral, defina as informações gerais para o componente que representa outro processo dentro do processo.


Dúvidas frequentes


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

<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-3', 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-3" href="#" data-expand="true">Abrir/fechar todas as dúvidas</a>

O componente Subprocesso pode impactar o desempenho do processo?


Em termos gerais, o uso do componente Subprocesso não impacta significativamente o desempenho ou a execução de um processo.

O que pode impactar é o uso de muitos subprocessos em um único processo, subprocessos muito complexos e com muitas atividades automáticas ou interações externas – como chamadas de API.

Portanto, o ideal é garantir que os subprocessos não sejam excessivamente sobrecarregados com atividades complexas.

É possível reutilizar um subprocesso em diferentes partes do mesmo processo ou em outros processos?


Sim. O objetivo do componente Subprocesso é justamente esse: permitir que processos sejam reutilizados em vários pontos de um mesmo processo ou em vários processos diferentes, tornando a modelagem mais eficiente e evitando a duplicação de atividades que sejam comuns em diversos processos.

 O que acontece se um subprocesso falhar ou retornar uma reprovação?


Se nenhum caminho alternativo foi configurado, é possível que o processo principal fique travado se o subprocesso apresentar uma falha ou uma reprovação.

Por isso, é extremamente importante configurar eventos de captura de erros para tratar exceções dentro do subprocesso – que redirecionarão o processo para uma etapa de correção ou notificação – e fluxos de exceção com decisões condicionais – que redirecionarão o processo por um outro caminho ou finalizam a solicitação com uma notificação sobre a falha. 

Certificar-se de que o subprocesso tenha fluxos de exceção bem definidos evitará com que o processo principal seja impactado por uma falha ou recusa.

O subprocesso pode ter atribuições e responsáveis diferentes do processo principal?


Sim. O subprocesso nada mais é do que um processo que foi incluído dentro do processo principal e que possui o seu próprio conjunto de participantes – como usuários, grupos e papéis – que podem ser diferentes – ou os mesmos – do processo principal.

Isso permite que as responsabilidades sejam delegadas de acordo com o que faz sentido para o subprocesso, facilitando a distribuição de tarefas e o acompanhamento dentro de um processo mais amplo que é o processo principal.

Esta documentação é válida a partir da atualização 9.9.9 – Xxxxxxx. Se você utiliza uma atualização anterior, ela pode conter informações diferentes das quais você vê na sua plataforma.



<!-- 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>