UiPath Documentation
maestro
latest
false
Guia do usuário do Maestro
Importante :
A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Subfluxos

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:

  1. Abra a paleta de nós na tela.
  2. Pesquise ou localize o nó do subfluxo .
  3. 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:

  1. Selecione o nó de subfluxo na tela.
  2. Abra a seção Entradas do subfluxo no painel de propriedades.
  3. 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.

Observação:

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:

  1. Solicitação HTTP (httpRequest1) — busca dados de pedidos de uma API externa.
  2. Subfluxo (validateOrder) — valida os dados do pedido e retorna um resultado.
  3. Decisão (decision1) — ramificações com base no resultado da validação.

Dentro do subfluxo validateOrder :

  1. 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" };
    
  2. 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.

  • 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

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades