Variáveis e Formatação
Aprendendo como utilizar variáveis e formatação de dados, se desejar, você pode avançar para o uso de expressões, que permitem realizar cálculos, condições e manipulações mais avançadas. Consulte a documentação de Expressões.
Use variáveis para personalizar seus dados
O ENSPACE permite utilizar variáveis para inserir dinamicamente os valores dos campos dos seus itens em diversos contextos da plataforma. Com elas, você pode exibir informações e formatar dados automaticamente.
As variáveis podem ser utilizadas em qualquer contexto que aceite campos dinâmicos — entre eles: título e descrição de tarefas (agendadas e rápidas), templates de documento, modelos de e-mail, formato de exibição na configuração de campos (ex: display de campo de relacionamento), colunas de expressão em relatórios e construtores de condicionais.
Sintaxe básica
A sintaxe para inserir o valor de um campo é:
{{ data.referencia_do_campo }}
Nesse caso, se um campo foi criado com o nome "Data de vencimento", a referência será:
{{ data.data_de_vencimento }}
A referência de cada campo pode ser consultada na tela de configuração de campos, na coluna Referência. Ela segue o formato
snake_casebaseado no nome do campo.
Fallback com pipe (|)
Você pode definir múltiplas opções dentro de uma variável usando o operador |.
O sistema tentará resolver da esquerda para a direita, retornando o primeiro valor disponível.
| Situação | Expressão | Resultado |
|---|---|---|
| Nome ou sobrenome | {{data.nome | data.sobrenome}}. | Retorna nome se existir. Caso contrário, retorna sobrenome |
| Nome, sobrenome ou valor padrão | {{data.nome | data.sobrenome | 'Cliente'}}. | Retorna o primeiro valor disponível. Ex: nome → sobrenome → "Cliente" |
Valor padrão vazio
O valor padrão de um encadeamento pode ser vazio. Use essa forma quando o campo pode não estar preenchido e você prefere que nada apareça no lugar dele, em vez do indicador de valor vazio.
Três formas são aceitas e têm o mesmo efeito:
| Forma | Expressão |
|---|---|
| Parênteses vazios | {{data.observacoes | ()}}. |
| Aspas duplas vazias | {{data.observacoes | ""}}. |
| Aspas simples vazias | {{data.observacoes | ''}}. |
Com o campo vazio, as três retornam uma string vazia: sem o indicador --, sem espaço e sem nenhum outro caractere. Com o campo preenchido, o valor do campo prevalece, como em qualquer encadeamento com |.
Não use parênteses com um espaço dentro (
( )) para esconder o indicador de valor vazio. O espaço faz parte do valor padrão e é inserido no texto gerado, o que produz espaços sobrando no resultado. Para não exibir nada, use uma das três formas vazias acima.Variáveis disponíveis para itens
Variáveis padrão do item (metadados)
Sempre que você estiver trabalhando com um item de uma categoria, o ENSPACE disponibiliza automaticamente algumas variáveis para acessar seus dados.
| Variável | Descrição |
|---|---|
id | Identificador único numérico do item |
reference | Referência única do item no ENSPACE |
created_at | Data de criação do item |
updated_at | Data da última atualização do item |
data | Contém todos os campos personalizados do item |
Variáveis de campos personalizados
Os campos que você cria (como nome, valor, data, status, etc.) ficam dentro de data.
Para acessar um campo, use:
{{ data.nome_do_campo }}
| Situação | Expressão | Resultado |
|---|---|---|
| Campo "Nome" | {{ data.nome }}. | Retorna o valor do campo Nome |
| Campo "Valor total" | {{ data.valor_total }}. | Retorna o valor numérico |
| Campo "Data de vencimento" | {{ data.data_de_vencimento }}. | Retorna a data do campo |
Se um campo referenciado não existir ou estiver vazio, o sistema exibirá
--como indicador de valor vazio. Esse indicador é de exibição em tela: em um arquivo extraído de relatório, o mesmo campo sai em branco. Para não exibir o indicador, defina um valor padrão vazio no encadeamento.
Formatação de dados
Após montar suas variáveis, você pode formatar como os valores serão exibidos. O ENSPACE oferece duas sintaxes para formatação: Sufixo e Função.
Use Sufixo para formatar um campo sozinho. Use Função quando precisar combinar com expressões ou aplicar múltiplas configurações.
Sintaxe com sufixo (__mod[])
Ideal para formatar campos individuais, sem necessidade de expressões.
Estrutura: {{ variavel__mod[format?parametro1=valor1¶metro2=valor2] }}
Detalhamento:
| Parte | Exemplo | O que faz |
|---|---|---|
| Variável | {{ data.valor_total }} | Valor original do campo |
| Modificador | __mod[...] | Indica que será aplicada uma formatação |
| Tipo | format | Define que será usada formatação de dados |
| Parâmetros | ?type=number | Define o tipo de formatação |
| Múltiplos parâmetros | &n_style=currency | Permite adicionar mais configurações |
Exemplos:
| Situação | Expressão | Resultado |
|---|---|---|
| Moeda (USD) | {{ data.valor_total__mod[format?type=number&n_style=currency&n_currency=USD] }}. | $10.00 |
| Moeda (BRL) | {{ data.valor_total__mod[format?type=number&n_style=currency&n_currency=BRL] }}. | R$ 10,00 |
| Percentual | {{ data.taxa__mod[format?type=number&n_style=percent&n_minimumFractionDigits=2] }}. | 7,50% (se valor = 0.075) |
| Data completa | {{ data.data_vencimento__mod[format?type=date&d_style=full] }}. | terça-feira, 8 de março de 2025 |
| Data e hora | {{ data.data_vencimento__mod[format?type=date&d_style=medium&dt_style=short] }}. | 8 de mar. de 2025 14:30 |
| Texto truncado | {{ data.descricao__mod[format?type=text&t_length=20&t_suffix="..."] }}. | Texto limitado com "..." |
| Lista de itens | {{ data.produtos__mod[format?type=list&value_path=nome&l_separator=", "] }}. | Produto A, Produto B, Produto C |
Sintaxe com função format()
Recomendada quando você precisa:
- formatar resultados de expressões
- aplicar múltiplas configurações
- trabalhar com estruturas mais complexas
Estrutura: format(VALOR, {"parametro": "valor"})
Detalhamento:
| Parte | Exemplo | O que faz |
|---|---|---|
| Função | format(...) | Aplica formatação ao valor |
| Valor | {{ data.preco }} | Pode ser variável ou resultado de expressão |
| Configuração | {"type": "number"} | Define como o valor será formatado |
Exemplos:
| Situação | Expressão | Resultado |
|---|---|---|
| Formatar data completa | format({{data.data_vencimento}}, {"type": "date", "locale": "pt-BR", "d_style": "full", "dt_style": "short"}). | Data formatada com dia e hora |
| Formatar moeda (BRL) | format({{data.preco}}, {"type": "number", "locale": "pt-BR", "n_style": "currency", "n_currency": "BRL", "n_minimumFractionDigits": 2}). | Ex: R$ 1.250,50 |
| Calcular e formatar média | format(math(({{data.campo_01}} + {{data.campo_02}} + {{data.campo_03}} + {{data.campo_04}}) / 4), {"type": "number"}). | Retorna a média formatada |
| Formatar lista de itens | format({{data.produtos}}, {"type": "list", "value_path": "nome", "l_separator": " | "}). | Ex: Produto A | Produto B |
Comparação entre as sintaxes
| Recurso | Sufixo (__mod[]) | Função (format) |
|---|---|---|
| Sintaxe | variavel__mod[query_string] | format(variavel, {JSON}) |
| Separador de parâmetros | & | , |
| Suporta expressões | Não | Sim |
| Uso ideal | Exibição simples de campos | Relatórios, dashboards, valores calculados |
Parâmetros de formatação
Os parâmetros de formatação definem como o valor será exibido — por exemplo:
- como número, data ou texto
- com moeda, percentual ou casas decimais
- com formato curto ou completo
Você pode usar esses parâmetros tanto no sufixo (__mod[]) quanto na função format().
Parâmetros gerais
Esses parâmetros são a base de qualquer formatação.
| Parâmetro | O que define | Valores comuns | Padrão |
|---|---|---|---|
type | Tipo de dado | text, date, number, boolean, list, object | "text" |
locale | Idioma/formato regional | pt-BR, en-US | Idioma do sistema |
Parâmetros para datas (type="date")
Controlam como datas e horários são exibidos.
| Parâmetro | O que faz | Valores possíveis | Padrão |
|---|---|---|---|
d_style | Formato da data | full, long, medium, short | "short" |
dt_style | Formato da hora | full, long, medium, short | — |
dt_utc | Converte para UTC | true / false | false |
Exemplos:
- Data completa:
{{ data.custom_due_date__mod[format?type=date&d_style=full] }} - Data e hora:
{{ data.server_time__mod[format?type=date&d_style=medium&dt_style=short] }}
Parâmetros para números (type="number")
Controlam como valores numéricos são exibidos.
| Parâmetro | O que faz | Valores comuns | Padrão |
|---|---|---|---|
n_style | Tipo de número | decimal, currency, percent | "decimal" |
n_currency | Moeda | BRL, USD, EUR | "BRL" |
n_currencyDisplay | Forma da moeda | symbol, code, name | "symbol" |
n_minimumFractionDigits | Casas decimais mínimas | número | — |
n_maximumFractionDigits | Casas decimais máximas | número | — |
n_multiplier | Multiplica o valor antes de exibir | número | 1 |
Exemplos:
- Dólar:
{{ data.preco__mod[format?type=number&n_style=currency&n_currency=USD] }} - Percentual:
{{ data.taxa__mod[format?type=number&n_style=percent&n_minimumFractionDigits=2] }} - Multiplicador:
{{ data.tempo__mod[format?type=number&n_multiplier=60] }}
Parâmetros para texto (type="text")
Usados para limitar ou ajustar textos.
| Parâmetro | Tipo | O que faz | Padrão |
|---|---|---|---|
t_length | number (número) | Limita o tamanho do texto | — |
t_suffix | string (texto) | Texto adicionado ao truncar | "..." |
Exemplo: {{ data.descricao__mod[format?type=text&t_length=20&t_suffix="..."] }}
Parâmetros para listas (type="list")
Usados para exibir listas de itens.
| Parâmetro | Tipo | O que faz | Padrão |
|---|---|---|---|
value_path | string (texto) | Campo a extrair de cada item | obrigatório |
l_separator | string (texto) | Separador entre itens | "<br/>" |
value_pathé obrigatório para listas.
Exemplo: {{ data.produtos__mod[format?type=list&value_path=name&l_separator=", "] }}
Parâmetros para type="object"
Usados para definir como objetos serão exibidos.
| Parâmetro | Tipo | O que faz | Padrão |
|---|---|---|---|
display_string | string | Define um formato personalizado de exibição do objeto | — |
Um objeto é um conjunto de dados estruturados (com múltiplos campos), como por exemplo um item de relacionamento ou um registro com várias propriedades.
Modificador transformText
O modificador transformText permite alterar o formato de textos automaticamente, como:
- mudar para maiúsculas ou minúsculas
- remover espaços ou acentos
- converter para formatos como
slug,camelCase,snake_case
Este modificador é utilizado somente na sintaxe de sufixo (
__mod[]).Opções disponíveis
| Opção | Descrição |
|---|---|
lowercase | Converte para minúsculas |
uppercase | Converte para maiúsculas |
deburr | Remove acentos e caracteres especiais |
stripTags | Remove tags HTML |
trim | Remove espaços no início e fim |
kebabCase | Converte para kebab-case |
camelCase | Converte para camelCase |
snakeCase | Converte para snake_case |
dotCase | Converte espaços em pontos |
capitalize | Primeira letra em maiúscula |
startCase | Todas as palavras iniciam com maiúscula |
titleCase | Capitaliza títulos (preserva preposições) |
numeroPorExtenso | Converte números em palavras (apenas PT-BR) |
slugify | Formato amigável para URLs |
removeNumbers | Remove números do texto |
Exemplos:
| Situação | Expressão | Resultado |
|---|---|---|
| Converter texto para maiúsculas | {{ data.nome_cliente__mod[transformText?options=uppercase] }}. | "joão silva" → "JOÃO SILVA" |
| Remover espaços e ajustar capitalização | {{ data.nome_cliente__mod[transformText?options=trim&options=capitalize] }}. | " maria santos " → "Maria santos" |
| Gerar versão para URL (slug) | {{ data.titulo__mod[transformText?options=slugify] }}. | "Como Usar Variáveis?" → "como-usar-variaveis" |
Encadeando format com transformText
Você pode combinar format com transformText usando pipe (|).
Nesse caso:
- o
formaté aplicado primeiro - o
transformTexttransforma o resultado
| Situação | Expressão | Resultado |
|---|---|---|
| Formatar lista e transformar texto | {{ data.pessoas__mod[format?type=list&value_path=dados.cpf|transformText?options=lowercase&options=capitalize] }}. | Lista formatada e texto ajustado |
Guia rápido de decisão
| Se você precisa... | Use... | Exemplo |
|---|---|---|
| Exibir um campo simples | Variável direta | {{ data.nome }} |
| Fazer um cálculo | Expressões | Veja documentação de Expressões |
| Formatar um campo individual | Sufixo __mod[] | {{ data.preco__mod[format?type=number&n_style=currency] }} |
| Calcular e formatar | format() com expressões | Veja documentação de Expressões |
| Transformar texto | transformText | {{ data.titulo__mod[transformText?options=slugify] }} |
| Formatar e transformar texto | Pipe | {{ data.campo__mod[format?... | transformText?...] }} |
Erros comuns
Quantidade incorreta de chaves
- Errado:
{ data.campo },{{{ data.campo }}},{{ data.campo } - Correto:
{{ data.campo }}— sempre duas chaves de cada lado.
Parênteses não fechados
- Errado:
format(math({{a}} + {{b}}), {"type":"number"} - Correto:
format(math({{a}} + {{b}}), {"type":"number"})
Aspas no JSON
- Errado:
format({{data.valor}}, {type: number}) - Correto:
format({{data.valor}}, {"type": "number"})
Misturar sintaxes
- Errado:
{{ data.valor__mod[format?type=number] }}({"n_style":"currency"}) - Correto: escolha uma das duas sintaxes
Esquecer value_path em listas
- Errado:
{{ data.produtos__mod[format?type=list&l_separator=", "] }} - Correto:
{{ data.produtos__mod[format?type=list&value_path=name&l_separator=", "] }}
Expressões
Para aprender como criar expressões matemáticas, textuais ou de data utilizando variáveis e formatação, consulte a documentação de Expressões