For Each
A ferramenta For Each permite processar cada item em uma coleção, um de cada vez. Isso é importante para operações em lote nas quais vários itens precisam de manipulação similar.
Automatizar o processamento de vários itens reduz a intervenção manual, aumentando assim a eficiência e a consistência no processamento de dados.
Imagine que você tenha uma plataforma de E-commerce que recebe pedidos de clientes. Cada pedido pode ter vários itens (produtos) e, após a compra, cada item do pedido precisa ser processado individualmente para realizar ações como verificar estoque, calcular impostos e gerar uma fatura consolidada, por exemplo. Neste caso, você poderia usar um For Each para iterar sobre os itens do pedido e realizar uma série de ações para cada um desses itens de maneira independente. |
Veja como ficaria o fluxo descrito acima:
Em seguida, aprenda como adicionar o For Each ao canvas e como configurar o seu formulário.
Adicione o For Each ao canvas
-
Clique no ícone no menu de edição à esquerda.
-
Selecione o For Each para adicioná-lo ao canvas. Você pode usar a barra de pesquisa para encontrá-lo.
-
Arraste para dentro do quadro do For Each os steps (exceto gatilho) que serão iterados (repetidos).
Para remover steps de dentro do For Each sem excluí-los do canvas, há dois botões:
-
Detach: desvincula um único step. Selecione o step que deseja desvincular e clique no terceiro botão à direita.
-
Ungroup: desagrupa todos os steps e deixa o quadro do For Each vazio. Selecione o quadro do For Each e clique no terceiro botão à direita.
Para excluir o For Each do canvas, selecione-o e clique no botão . Todos os steps dentro do For Each serão excluídos e as conexões serão removidas.
Você só poderá ter um subfluxo dentro do step For Each, ou seja, não é possível executar subfluxos paralelos dentro do For Each. Se houver steps inativos, você verá um ícone de alerta amarelo no step, informando que está inativo e que ele requer uma conexão para ser executado. |
Configure o formulário
-
Selecione o For Each no canvas.
-
Clique no ícone de edição .
-
Preencha os seguintes campos do formulário:
-
Name: insira um nome único para o For Each. Este é um campo alfanumérico que permite caracteres especiais e espaços vazios, com limite de 20 caracteres.
-
Variable List: insira a lista de variáveis a serem executadas, ou seja, a lista que contém os itens que devem ser executados individualmente. Os valores devem ser um array (lista). Este é um campo alfanumérico que permite caracteres especiais e espaços vazios, com limite de 1024 caracteres.
Ao clicar no ícone de Properties à direita, você pode:
a. Selecionar variáveis previamente cadastradas.
b. Criar expressões usando o Expression Builder.Abaixo, demonstramos a seleção de uma lista (array) de itens provenientes de um conector do tipo API REST (a partir de Properties ) que serão processados pela ferramenta For Each.
-
Iteration Element: nome da estrutura que identifica os elementos que serão repetidos dentro do For Each. Este é um campo alfanumérico que permite caracteres especiais e espaços vazios, com limite de 250 caracteres.
Você poderá visualizar o nome do elemento a ser iterado em Properties ou no Data Mapping (FROM/TO) dos steps que estiverem dentro do For Each. A quantidade de iterações é determinada pela quantidade de itens do array (lista).
-
-
Configure o botão Ignore Errors: por padrão, o botão é desabilitado e você pode habilitá-lo.
Habilitado Desabilitado A execução continua, mesmo que haja erros no processo.
A execução será interrompida imediatamente.
Os logs apresentam o step com erro.
Os logs mostram a execução até a última iteração.
Steps após o For Each serão executados.
Nenhum step após o For Each será executado.
-
Clique em SAVE.
Consulte um exemplo de integração com CRM e For Each. |
For Each dentro de outro For Each
Você pode inserir um For Each dentro de outro For Each. Dessa forma, seu fluxo de integração processará dados em estruturas com loops aninhados.
Considere o exemplo anterior de um fluxo com um pedido que contém vários itens (produtos). Imagine que cada item está sujeito ao pagamento de dois impostos.
Dessa forma temos uma lista (array) dentro de outra lista:
|
O fluxo descrito ficaria desta forma:
Para mover um step entre dois quadros de For Each, você deverá desanexá-lo do For Each inicial. Para isso, clique em X e arraste-o para o novo For Each. |
Ignorando erros
Quando um fluxo possui um For Each dentro de um For Each, as seguintes regras se aplicam ao botão Ignore Errors:
"Ignore Errors" no For Each externo | "Ignore Errors" no For Each interno | Resultado |
---|---|---|
Desabilitado |
Desabilitado |
O fluxo será interrompido quando ocorrer um erro. |
Habilitado |
Habilitado |
O fluxo NÃO será interrompido quando ocorrer um erro. |
Habilitado |
Desabilitado |
Ocorrerá a execução de toda a iteração do For Each externo. |
Desabilitado |
Habilitado |
O fluxo NÃO será interrompido quando ocorrer um erro. |
Expression Builder
O componente Expression Builder permite que você crie expressões com parâmetros e variáveis através de funções e condições disponíveis dentro do componente. Assim, você pode ajustar a expressão conforme suas necessidades.
Siga os passos abaixo para acessar a tela do Expression Builder:
A tela de Expression Builder contém as seguintes seções:
-
Properties: mostra os dados dos steps anteriores e as variáveis de ambiente. Você pode filtrar os atributos usando o campo de busca no topo da seção e clicando em . Você pode selecionar mais de um atributo. Ao selecioná-lo, o atributo aparece no campo Expression.
-
Expression: campo para inserir os atributos de entrada ou criar uma expressão clicando no botão à direita. Apenas a função Concat está disponível para criar a expressão.
Ao selecionar dois ou mais atributos no campo Properties, será obrigatória a criação de uma expressão. |
Para salvar as informações, clique em CONFIRM.
Share your suggestions with us!
Click here and then [+ Submit idea]