Subprocesso

Esse elemento permite que o processo atual inicie uma outra instância de um outro processo. Você pode utilizar um processo já existente ou utilizar a própria caixa de configuração da tarefa para criar o novo subprocesso.

A utilização de subprocessos permite criar um processo no sistema e reutilizá-lo em diversos outros processos como um subprocesso.

Um mesmo processo pode ser executado diretamente ou pode ser utilizado como subprocesso de outro.

É importante destacar que, ao ser utilizado como um subprocesso, o evento de ínicio do subprocesso não será executado, passando a execução do processo diretamente para a segunda atividade ou elemento.

Outra consideração importante é que, para fins de relatório, o requisitante de subprocesso será sempre o requisitante do processo pai.

Para uma boa utilização do conceito de subprocessos é importante considerar as configurações apresentadas abaixo no que diz respeito ao processo ser Síncrono ou Assíncrono e a Sincronização dos Dados do Formulário.

  1. Título: o título da tarefa, para identificação;
  2. Descrição: uma breve descrição da tarefa, para referência;
  3. Processo: selecione o processo que será iniciado;
  4. Síncrono/Assíncrono:
    1. Síncrono: Se um elemento de subprocesso for configurado como síncrono então o processo-pai ficará parado esperando o subprocesso terminar. Esse subprocesso deverá ser um outro processo da ferramenta e possui um elemento de fim total.
    2. Assíncrono:  Se um elemento de subprocesso for configurado como assíncrono o subprocesso é iniciado, mas o processo-pai segue adiante sem esperar o término do subprocesso.
  5. Sincronizar Valores do Formulário: Os campos do formulário do subprocesso que tiverem o mesmo identificador que o formulário do processo-pai atual serão populados com os dados do processo-pai. Quando os processos-filhos finalizarem, atualizarão os campos correspondentes do processo-pai;
  6. Mensagens:
    1. Visualizar mensagens dos demais processos desta cadeia: Quando marcado permite às tarefas deste subprocesso exibir as mensagens adicionadas aos demais processos desta cadeia que compartilharam suas mensagens.
    2. Compartilhar mensagens com outros processos : Compartilha as mensagens desse subprocesso com os demais processos desta cadeia.
  7. Arquivos:
    1. Visualizar arquivos dos demais processos desta cadeia: Quando marcado permite às tarefas deste subprocesso exibir os arquivos adicionadas aos demais processos desta cadeia que compartilharam seus arquivos.
    2. Compartilhar arquivos com outros processos : Compartilha os arquivos desse subprocesso com os demais processos desta cadeia.
  8. Multi-instância: Permite selecionar o agrupamento de campos do formulário que será usado para multiplicar o subprocesso em questão. Esse agrupamento deverá conter somente campos que pertençam a uma tabela-multivalorada. Esse sub-processo será multiplicado pelo número de linhas dessa tabela multi-valorada.

Multi-instância

Conforme definido o item 8 acima ao configurar um Elemento de Subprocesso com essa opção serão gerados N subprocessos onde N é a quantidade de linhas da tabela Multivalorada. É necessário marcar a opção Sincronizar valores do formulário para utilizar esta funcionalidade.

Mais informações sobre processo multi-instância em Implementação de uma lógica de subprocesso multi-instância

Restrições de uso

Para que um subprocesso multi-instância seja disparado mais de uma vez se faz necessário que existam diferentes elementos de subprocesso no fluxograma. Caso o mesmo elemento do desenho seja utilizado é possível que as linhas da tabela multivalorada sejam duplicadas.

ATENÇÃO Jamais use o recurso de subprocesso multi-instância para gerar mais de 50 processos concomitantemente. JAMAIS.

Para mais informações leia o artigo Dicas e cuidados com performance

No caso de um processo com um subprocesso assíncrono é possível que o processo principal seja concluído e o subprocesso permaneça em andamento. Essa situação é normal e o status do subprocesso assíncrono será exibido como "Em andamento" no passo-a-passo do fluxo no Relatório de Detalhamento de uma instância.