Em Desenvolvimento
Esta documentação ainda está em desenvolvimento. Agradecemos sua paciência!
Pular para o conteúdo principal
Versão: 03.008.000

Funções (Functions)

O botão Funções abre um editor de código Ruby onde é possível definir funções reutilizáveis disponíveis em todos os blocos de código do fluxo de captura. É o local ideal para centralizar lógicas que se repetem em vários nodes — validações, formatações, integrações com APIs externas etc.

As funções são salvas por processo e ficam armazenadas no arquivo functions.fnc do fluxo. Ao publicar o processo, o conteúdo é gravado no banco de dados e passa a ser carregado automaticamente pelo captureprocessor durante a execução.


Interface

O editor é um único bloco de código Ruby com realce de sintaxe (tema escuro). Dois botões estão disponíveis na toolbar do modal:

BotãoAção
BeautifyFormata e organiza o código automaticamente
SaveSalva as funções para o processo atual

Definindo Funções

Escreva funções Ruby normais com def. Todas as funções definidas aqui estarão disponíveis em qualquer expressão Ruby configurada nos nodes do fluxo.

def formatar_cpf(valor)
v = valor.to_s.gsub(/\D/, '')
"#{v[0..2]}.#{v[3..5]}.#{v[6..8]}-#{v[9..10]}"
end

def valor_em_reais(valor)
"R$ " + sprintf("%.2f", valor.to_s.gsub(",", ".").to_f)
end

Chamando Funções nas Expressões dos Nodes

Para chamar uma função definida aqui a partir de um campo Ruby de qualquer node, use normalmente o nome da função:

formatar_cpf(#Node_3#)
valor_em_reais(getval("ValorTotal"))

Variáveis Disponíveis nas Funções

Dentro das funções (e nas expressões em geral), é possível acessar os valores capturados no fluxo pelos seguintes formatos:

SintaxeO que retorna
#Node_X#Valor do node com ID X
getval("AliasDoNode")Valor do node pelo Alias
getcode()Código único da instância de captura
#field_nomedofield#Valor extraído pelo IA Gemini para o campo
getfieldval("nomedofield")Mesmo que acima, em formato de chamada

Testando as Funções

Use o botão Terminal na toolbar do ScanDesigner para testar qualquer código Ruby com acesso às funções do processo atual. O Terminal carrega automaticamente as funções salvas, permitindo verificar o comportamento antes de publicar.


dica

Centralize validações e formatações recorrentes aqui para facilitar a manutenção. Uma correção na função se propaga imediatamente para todos os nodes que a chamam.