- Introdução
- Introdução
- Modelagem de processos com o BPMN
- Noções Básicas sobre Modelagem de Processos
- Abertura da tela de modelagem
- Modelagem de seu processo
- Alinhamento e conexão de elementos BPMN
- Autopilot para Maestro (visualização)
- Repositório de processos
- Modelagem de processos com o Case Management
- Projeto de um esquema de entidades de casos persistente
- Definição de chaves de caso (sistema versus externo)
- Estabelecimento de contratos de E/S e de write-back
- Regras de saída e término do estágio inicial
- Modelagem de estágios primário e secundário
- Disparo de um caso a partir do Data Fabric
- Implementação de personas e permissões no nível de estágio
- Configuração de SLAs e regras de escalonamento automatizadas
- Configuração de um loop de retrabalho (reentrada)
- Gerenciamento de instâncias de casos ativas: pausar, migrar e tentar novamente
- Dicionário de componentes de gerenciamento de casos do Maestro
- Modelagem de processos com o Flow
- Implementação de processos
- Depuração
- Simulação
- Publicação e atualização de processos agênticos
- Cenários de implementação comuns
- Extração e validação de documentos
- Operações do processo
- Monitoramento de processo
- Otimização de processos
- Informações de referência
Subfluxos para agrupar nós de processo em unidades reutilizáveis e independentes dentro de um fluxo de trabalho pai, com regras de escopo de variáveis e configuração de entrada/saída.
O que é
Um subfluxo é um processo incorporado dentro de outro processo. Ele agrupa um conjunto de nós em uma unidade independente que é executada como parte do processo pai e retorna a saída para ele. Os subfluxos ajudam você a organizar uma lógica complexa em partes reutilizáveis e gerenciáveis.
Como funciona
Quando um processo pai atinge um nó de subfluxo, a execução entra no subfluxo e executa seus nós em sequência. O subfluxo tem seu próprio escopo de variável; portanto, as variáveis definidas dentro dele não colidem com variáveis no processo pai. Quando o subfluxo for concluído, seu valor de retorno é transmitido de volta para o processo pai, e a execução continua a partir do próximo nó após o subfluxo.
Os nós dentro de um subfluxo podem acessar:
- Outros nós dentro do mesmo subfluxo
- O escopo do processo pai
O valor de retorno do subfluxo é acessível ao processo pai $vars.<subflowName>.output.
Criação de um subfluxo
Para adicionar um subfluxo ao seu processo:
- Abra a paleta de nós na tela.
- Pesquise ou localize o nó do subfluxo .
- Arraste-o para a tela e conecte-o ao nó anterior.
Fluxo adiciona o subfluxo como um contêiner recolhível na tela. Selecione-o para expandi-lo e adicionar nós dentro dele.
Resultado: o subfluxo aparece na tela como um contêiner recolhível. Arraste nós para dentro dele para definir a lógica do subfluxo.
Transmissão de dados
Entradas
Você define entradas de subfluxo no painel de propriedades. Cada entrada aceita um valor ou expressão do escopo do processo pai.
Para configurar entradas de subfluxo:
- Selecione o nó de subfluxo na tela.
- Abra a seção Entradas do subfluxo no painel de propriedades.
- Para cada entrada, insira um nome e um valor ou expressão.
Resultado: as entradas são configuradas e disponíveis dentro do corpo do subfluxo $vars.<inputName>.
Saída
O valor de retorno do subfluxo está disponível para o processo pai $vars.<subflowName>.output. Você faz referência a ele em qualquer expressão de nó subsequente, assim como qualquer outra saída de nó.
// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid
// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid
Escopo de variáveis
Os subfluxos criam seu próprio escopo de variável. Isso significa que as variáveis atualizadas dentro de um subfluxo têm namespaces para evitar conflitos com o processo pai.
De fora do subfluxo, você faz referência às variáveis internas de um subfluxo como $vars.<subflowName>.<variableName>. Por exemplo, uma variável counter dentro de um subfluxo chamado subflow1 é referenciada como $vars.subflow1.counter a partir do processo pai.
De dentro do subfluxo, os nós acessam a saída de seus nós irmãos usando o padrão $vars.<nodeName>.<property> padrão. Eles também podem ler do escopo do processo pai diretamente.
O namespace da variável impede que as variáveis internas de um subfluxo substituam variáveis pai que compartilham o mesmo nome. Você não precisa coordenar nomes de variáveis entre pai e subfluxo.
Exemplo prático
Um processo pai que chama um subfluxo para validar os dados do pedido antes de processá-los.
Processo pai:
- Solicitação HTTP (
httpRequest1) — busca dados de pedidos de uma API externa. - Subfluxo (
validateOrder) — valida os dados do pedido e retorna um resultado. - Decisão (
decision1) — ramificações com base no resultado da validação.
Dentro do subfluxo validateOrder :
-
Script (
script1) — verifica se os campos obrigatórios estão presentes e se o total do pedido está acima de zero.const order = $vars.validateOrder.orderData; const isValid = order.items.length > 0 && order.total > 0 && order.customerId !== undefined; return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" };const order = $vars.validateOrder.orderData; const isValid = order.items.length > 0 && order.total > 0 && order.customerId !== undefined; return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" }; -
O subfluxo retorna a saída do Script como
$vars.validateOrder.output.
De volta ao processo pai:
O nó Decisão avalia $vars.validateOrder.output.isValid === true e roteia para um caminho de atendimento ou um caminho de tratamento de erros.
Páginas relacionadas
- Variáveis e fluxo de dados — regras de escopo de variáveis, sintaxe de expressão, padrões de acesso
$vars - A tela — navegando pela tela, painel de propriedades, paleta de nós
- Tratamento de erros — configuração de identificadores de erros em nós, incluindo dentro de subfluxos