Pular para o conteúdo principal

Parâmetros e Variáveis do Workflow

O uso estratégico de parâmetros e variáveis é crucial para criar Workflows dinâmicos e automatizados. Estas ferramentas permitem tornar os fluxos de trabalho reutilizáveis, fornecendo dados específicos a cada execução, mantendo informações úteis durante o processamento e criando uma sequência lógica de atividades interconectadas.

1. Parâmetros do Workflow

Painel de propriedades atual do fluxo de trabalho

Os parâmetros são valores de entrada definidos para todo o Workflow. Podem ser criados acedendo à secção de propriedades. Dentro das propriedades, encontrará duas abas dedicadas: "Parâmetros" e "Ficheiro".

Aba "Parâmetros"

Nesta secção, é possível definir parâmetros de diferentes tipos.

Aba Parâmetros nas propriedades do fluxo de trabalho
  • Adicionar um parâmetro: Para inserir um novo parâmetro, clique no botão “+Adicionar Parâmetro”. Será criada uma nova linha para configurar.
  • Configuração: Para cada parâmetro, é necessário definir:
  • Tipo: Selecione o tipo de dado no menu suspenso. As opções disponíveis são:
  • NUMÉRICO: Para valores numéricos.
  • STRING: Para valores textuais.
  • DATA: Para datas e horas.
  • ENCRYPT: Para valores sensíveis que devem ser armazenados e geridos em formato encriptado.
  • EXPRESSÃO: Para definir valores dinâmicos através de expressões.
  • LISTA DE VALORES: Para listas de valores.
  • Nome: Atribua um nome único ao parâmetro (ex: "x").
  • Valor: Insira o valor padrão do parâmetro (ex: "1").
  • Remover: Para eliminar um parâmetro, clique no ícone de menos (-) no final da linha.

Aba "Ficheiro"

Esta secção é dedicada à gestão de parâmetros do tipo ficheiro, úteis para carregar documentos (ex: CSV, XLSX) que o workflow deverá processar.

Aba Arquivo nas propriedades do fluxo de trabalho
  • Adicionar um ficheiro: Clique em "+ Adicionar Ficheiro" para criar um novo parâmetro do tipo ficheiro.
  • Configuração:
  • Nome do parâmetro ficheiro: Defina um nome para o parâmetro (ex: "test_01").
  • Escolher ficheiro: Clique neste botão para carregar o ficheiro do seu computador. O nome do ficheiro carregado e o seu tamanho em bytes serão mostrados automaticamente.
  • Serão criados 3 tipos de parâmetros associados ao ficheiro:.filename”, “.file” (um caminho absoluto) e “.content”

Utilização dos Parâmetros no Lançamento do Workflow

Modal de Lançamento: Quando um workflow é executado, os seus parâmetros são exibidos numa modal de início. Isto permite ao utilizador personalizar os valores de entrada para aquela execução específica, sem ter de modificar o Workflow.

Parâmetros exibidos na janela de inicialização do fluxo de trabalho

Modularidade (Sub-Workflows): Os parâmetros são fundamentais para tornar os Workflows reutilizáveis. Podem ser personalizados e passados como entrada para tarefas específicas como: Run Workflow (para executar um sub-workflow), Parallel Run Workflow e Iterator.

2. Variáveis do Workflow

Ao contrário dos parâmetros, as variáveis têm um escopo puramente interno e servem para gerir dados intermédios durante a execução do fluxo.

  • Criação: As variáveis não são definidas nas propriedades do fluxo de trabalho, mas são criadas através de uma tarefa específica chamada Declarar Variáveis.
  • Restrição: É importante notar que dentro de um único fluxo de trabalho pode existir apenas uma tarefa Declarar Variáveis.
  • Modificação: A modificação do valor das variáveis é permitida unicamente através do uso das tarefas Definir Variáveis.
Configuração atual da tarefa Declarar Variáveis
  • Criação: As variáveis não são definidas nas propriedades do fluxo de trabalho, mas são criadas através de uma tarefa específica chamada Declarar Variáveis.
  • Restrição: É importante notar que dentro de um único fluxo de trabalho pode existir apenas uma tarefa Declarar Variáveis.
  • Modificação: A modificação do valor das variáveis é permitida unicamente através do uso das tarefas Definir Variáveis.

3. Utilização de Parâmetros e Variáveis – Menu “Lista de Parâmetros”

O menu “Lista de Parâmetros” é um componente essencial do Fluxo de Trabalho. Permite criar processos dinâmicos gerindo o passagem de dados entre tarefas e o uso de valores calculados durante a execução, tornando o fluxo de trabalho mais flexível e adaptável.

Acesso e Utilização

Dentro das abas “Configuração” e “Condições de Saída” de cada tarefa, está disponível o botão “Parâmetros ≡”, que abre o menu “Lista de Parâmetros”.

A partir deste painel, é possível arrastar (drag-and-drop) um parâmetro da lista e soltá-lo no campo de entrada desejado (por exemplo, nos campos Attachments ou Content de um e-mail).

A operação insere automaticamente no campo a referência dinâmica ao parâmetro, formatada de acordo com a sintaxe:

`#>nome_parametro<#`

4. O menu “Lista de Parâmetros” na aba “Configuração”

Menu Lista de Parâmetros na aba Configuração de uma tarefa

O menu está organizado em secções, cada uma das quais expõe um tipo diferente de dado dinâmico.

Parâmetros de Execução (Runtime)

Esta secção expõe as variáveis de sistema relativas à execução em curso. São parâmetros de leitura, valorizados automaticamente pela plataforma.

  • Contexto do Fluxo de Trabalho: Informações sobre toda a execução do processo.
  • $$SYBOT_USER: O utilizador que iniciou o Fluxo de Trabalho.
  • $$RUN_ID: O ID único desta execução específica.
  • $$WORKFLOW_ID: O ID único do Fluxo de Trabalho.
  • $$WORKFLOW_NAME: O nome do Fluxo de Trabalho.
  • Contexto da Tarefa: Informações sobre a tarefa imediatamente anterior.
  • $$LAST_TASK_ID: O ID da tarefa anterior.
  • $$LAST_TASK_NAME: O nome da tarefa anterior.
  • $$LAST_TASK_TYPE: O tipo da tarefa anterior (ex: “db” para Tarefas "Database" ).

Parâmetros do Fluxo de Trabalho

Lista todos os parâmetros de entrada definidos para o Fluxo de Trabalho inteiro nas secções "Parâmetros" e "Arquivos". Para os parâmetros do tipo "Arquivo", são expostos atributos específicos para aceder a diferentes partes da informação:

  • .file: O caminho completo do ficheiro.
  • .filename: Apenas o nome do ficheiro.
  • .content: O conteúdo do ficheiro (se textual).

Variáveis do Fluxo de Trabalho

Mostra as variáveis criadas através da Tarefa "Declarar Variáveis". Estas variáveis mantêm o seu estado durante a execução e podem ser lidas ou modificadas (através da Tarefa "Definir Variáveis") em qualquer ponto do fluxo após a sua declaração.

Operadores Aritméticos

Esta secção fornece atalhos para a inserção de operadores matemáticos padrão. São utilizados para executar cálculos em tempo real, combinando valores estáticos ou parâmetros dinâmicos.

OperadorDescriçãoExemplo de Utilização
+Adição#>Declare variables.contatore<# + 1
-Subtração#>TotaleOrdini.count<# - 10
*Multiplicação#>Prodotto.prezzo<# * #>Ordine.quantità<#
/Divisão#>FatturatoAnnuale.valore<# / 12
%Módulo#>Controllo loop.loopCount<# % 2 (Retorna o resto de uma divisão, útil para determinar se um número é par ou ímpar)

Funções

Esta secção expõe um conjunto de funções pré-definidas para a execução de operações complexas que vão além de simples cálculos aritméticos. Entre elas, existe um conjunto de funções dedicadas ao manuseamento da data e hora atuais, fundamentais para a geração de timestamps dinâmicos e para a formatação de outputs temporais.

FunçãoDescriçãoValor Retornado (Exemplo)
Date.datetimeRetorna a data e a hora atuais.2025-09-17 10:30:00
Date.dateRetorna apenas a data atual.2025-09-17
Date.timeRetorna apenas a hora atual.10:30:00
Date.unixRetorna a data e a hora atuais em formato Unix Timestamp (número de segundos decorridos desde 1 de janeiro de 1970).1757893800
Date.format("...")Formata a data e a hora atuais de acordo com um modelo personalizado.17/09/2025 10:30:00 (usando "d/m/Y H:i:s")

Output das Tarefas Anteriores

Esta secção é o coração do fluxo de dados. É preenchida dinamicamente com uma lista de todas as Tarefas que precedem a atualmente selecionada no diagrama. Ao expandir uma Tarefa nesta lista, tem acesso a todos os seus parâmetros de saída, que podem, então, ser arrastados e usados como entrada para a Tarefa atual. Por exemplo, o resultado de uma Tarefa Base de Dados pode ser usado no Conteúdo de uma TarefaE-Mail Out v.2 para enviar um relatório por e-mail.

Sintaxe de Inserção

Ao utilizar um elemento da "Lista de Parâmetros", este é inserido automaticamente no campo de entrada com uma sintaxe específica: #>nome_task.nome_parametro<#. Por exemplo:

`#>E-Mail Out.body<#`
`#>Importa Testo.result<#`
`#>Database.Dataset.nome<#`

Esta notação atua como um marcador de posição. Durante a execução do fluxo de trabalho, #>Importa Testo.result<# será substituído pelo valor real produzido pela tarefa "Importar Texto".

Nota

  • Na tarefa Base de Dados, para usar parâmetros nas secções Cláusula FROM e Statement, deve ser usada a seguinte sintaxe: #>dbobj:nome_tabella<#(após ">" usar "dbobj:")

5. O menu "Lista de Parâmetros" na aba "Condições de Saída"

Menu Lista de Parâmetros na aba Condições de Saída de uma tarefa

Ao aceder ao menu "Lista de Parâmetros" a partir da aba "Condições de Saída" de uma Tarefa, a sua função principal é auxiliar na construção de expressões lógicas complexas. Estas expressões determinam qual caminho o Fluxo de Trabalho seguirá após a execução da Tarefa.

A estrutura base do menu e as secções Parâmetros de Execução, Parâmetros do Fluxo de Trabalho, Variáveis do Fluxo de Trabalho, Funções e Saída das Tarefas Anteriores são idênticas às descritas no capítulo anterior.

A diferença fundamental reside na adição de duas secções específicas para a construção de lógica booleana: Operadores de Comparação e Operadores Lógicos.

Operadores de Comparação

Esta secção fornece atalhos para inserir operadores utilizados para comparar dois valores. O resultado de uma comparação é sempre um valor booleano (verdadeiro ou falso), que é a base para qualquer decisão de fluxo.

OperadorDescriçãoExemplo de Utilização numa Expressão
==Igual (comparação de valor, com conversão de tipo)#>Unix Search Process.exitStatus<# == 0
===Estritamente igual (comparação de valor e de tipo)#>Chiamata REST.httpCode<# === 200 (compara um número com um número)
!=Diferente (comparação de valor)#>Variabili Workflow.stato<# != 'Completado'
!==Estritamente diferente (comparação de valor e de tipo)#>Database.count<# !== '0'
< / >Menor que / Maior que#>Iterator.Dataset.Count<# > 10
<= / >=Menor ou igual a / Maior ou igual a#>Controllo loop.loopCount<# <= 5
inVerifica se um valor está presente numa lista ou array.
not inVerifica se um valor não está presente numa lista ou array.
containsVerifica se uma string contém outra substring.contains(#>Importa Testo.result<#, 'ERROR')

Operadores Lógicos

Estes operadores são utilizados para combinar duas ou mais expressões de comparação, permitindo construir condições complexas e multifatoriais.

OperadorDescriçãoExemplo de Utilização numa Expressão
andRetorna verdadeiro apenas se ambas as expressões forem verdadeiras.#>Chiamata REST.httpCode<# === 200 and #>Chiamata REST.response<# contains 'success'
orRetorna verdadeiro se pelo menos uma das expressões for verdadeira.#>StatoServizio.result<# == 'stopped' or #>StatoServizio.exitStatus<# != 0
notInverte o resultado de uma expressão (de verdadeiro para falso e vice-versa).not (#>Variabili Workflow.utente_attivo<#)

O uso combinado de parâmetros, funções e destes operadores lógicos e de comparação permite definir com precisão granular o comportamento do Workflow em resposta a qualquer resultado proveniente das Tarefas executadas.