Erros comuns de fórmulas

ca: artigos de solução de problemas
Neste artigo

Saiba mais sobre os erros comuns nas fórmulas do Notion e descubra também como solucioná-los 🔨


Se você não tiver certeza de como corrigir os erros na fórmula, a IA do Notion pode ajudar. Saiba mais aqui →

Se você não tiver acesso a uma base de dados referenciada, as fórmulas não poderão ser computadas de forma confiável. Isso ocorre porque as fórmulas exigem acesso à base de dados fonte e suas configurações de propriedade.

Como corrigir

Certifique-se de ter acesso a todas as páginas e bases de dados referenciados em sua fórmula dentro de seu botão ou automação de banco de dados.

Ao contrário das propriedades de fórmulas em bases de dados, as fórmulas em automações esperam um tipo de retorno específico das fórmulas (por exemplo: data, texto, número, pessoa). Caso contrário, a automação não será salva e não será executada corretamente.

Como corrigir

Certifique-se de que a fórmula retorne o tipo correto de valor. Por exemplo, se escrever uma fórmula para definir o valor de uma propriedade Pessoa de uma página, a fórmula deve retornar um usuário ou lista de usuários, não uma data. Como alternativa, se estiver avaliando uma condição específica em uma propriedade de tipo de matriz (por exemplo: seleção múltipla), certifique-se de usar .includes em vez de == em sua instrução if().

Uma causa comum desse erro é usar um tipo diferente para representar um valor vazio. Por exemplo, em uma fórmula como if(Data, Date.dateAdd(1, “dia”), ""), o tipo de retorno é desconhecido porque pode ser data ou texto (devido ao ""). Isso pode ser corrigido usando empty() para representar valores vazios, de modo que a fórmula reparada se pareceria com if(Date, Date.dateAdd(1, "day"), empty()).

As fórmulas do Notion só podem ter 15 camadas de profundidade. Toda vez que uma fórmula faz referência a outra fórmula ou rollup, ela adiciona uma camada. Isso se aplica mesmo se a fórmula estiver em uma base de dados diferente.

Quando esse limite for atingido, o Notion mostrará uma mensagem de erro.

Como corrigir

Simplifique sua configuração combinando fórmulas e rollups desnecessários em menos propriedades. Procure lugares onde várias fórmulas fazem coisas semelhantes e tente mesclá-las em uma só.

Se as variáveis personalizadas forem definidas dentro da mesma ação de automação, elas não poderão fazer referência umas às outras.

Por exemplo, se você definir var1 e var2 na mesma ação, var2 não poderá usar var1 em sua definição.

Como corrigir

Defina cada variável em sua própria ação separada (crie a primeira variável, adicione uma nova ação à sua automação e defina a próxima variável separadamente). Isso garante que cada variável seja devidamente reconhecida.

Hoje, as variáveis definidas em uma automação não podem ser usadas para filtrar páginas em bases de dados nas quais você gostaria que a automação atuasse (por exemplo: "Editar páginas que correspondem ao filtro que contém variáveis").

Como corrigir

  1. Defina uma variável personalizada como Esta página digitando a página de gatilho na caixa de fórmula.

  2. Adicione uma ação Editar páginas e selecione a variável personalizada da etapa 1 como seu destino.

Ao trabalhar com relações, rollup e propriedades de pessoa em fórmulas, as fórmulas retornam uma lista de páginas ou pessoas. Para referenciar propriedades dentro da relação, você precisará definir o primeiro elemento, caso contrário, sua automação será pausada. Você também pode encontrar esse problema ao criar uma fórmula que usa a função de mapa para uma propriedade de relação.

Como corrigir

Use funções como .first() ou .at(0) para obter o primeiro elemento ou percorra a lista de páginas com funções como .map() , .filter() , .every(), .some(), .find().

Se uma fórmula encontrar inesperadamente um valor vazio (mais comumente um valor de data ou pessoa), a automação receberá um erro e será pausada automaticamente.

Como corrigir

Use if ou ifs para verificar se uma propriedade que está sendo operada tem um valor. Por exemplo, em vez de Date.dateAdd(1, "day"), é preferível usar if(Date, Date.dateAdd(1, "day"), empty()). Isso garante que dateAdd só seja executado quando o valor de Date estiver presente e informa explicitamente à automação para limpar a propriedade que está sendo atualizada quando Date não estiver preenchido. Como alternativa, configure uma visualização com um filtro que garanta que o valor da propriedade em que você está operando exista e configure a automação para ser executada apenas em páginas dessa visualização.

Se a fórmula não estiver funcionando conforme o esperado, pode ser devido a um erro de sintaxe, como parênteses ausentes, operadores incorretos ou funções não suportadas. Para obter um detalhamento completo da sintaxe da fórmula, leia este artigo →


Dar feedback

Este recurso foi útil?