Skip to content

Validações e expressões do Cadastro ​

Tipo
Como fazer
Para
Analista, Desenvolvedor
Na tela
HorusDW › Tabelas › Cadastro › Estrutura

O editor Estrutura do Cadastro guarda dois tipos de regra. A validação, em JavaScript, roda no servidor toda vez que alguém salva um registro e o recusa com a mensagem que você escreveu. A expressão, em SQL, é uma coluna calculada a partir dos campos, que ninguém digita e que aparece no BI.

Antes de começar ​

Mudar validações e expressões é mudar a estrutura: é para o dono do Cadastro, os administradores do Tenant e quem tem a função de editar tabelas. A criação dos campos está em Criar e estruturar um Cadastro.

Validar um campo ​

  1. Na Estrutura, abra Configurar no campo.
  2. Em Validação (JavaScript), escreva o corpo de uma função. Ela recebe this.value (o valor do campo), this.record (o registro inteiro, com os campos pelo nome interno) e this.old (o registro anterior, null num registro novo).
  3. Para bloquear, devolva a mensagem que a pessoa vai ver. Para aprovar, não devolva nada.
  4. Em Registro de exemplo (JSON), monte um registro e clique em Testar. Validação aprovada. quer dizer que aquele registro passaria.
  5. Clique em Aplicar e depois em Salvar definição.

Uma meta que precisa ser positiva:

js
if (this.value == null || this.value <= 0) {
  return "A meta precisa ser maior que zero.";
}

Se preferir, descreva a regra em português e use Gerar com IA no editor para escrever o código. Revise antes de salvar.

Validar o registro inteiro ​

Regra que compara campos fica em Configurações › Hook ao salvar, que roda uma vez por gravação com this.record e this.old:

js
if (this.record.DATA_FIM < this.record.DATA_INICIO) {
  return "A data final não pode ser anterior à data inicial.";
}

WARNING

Validações e o hook rodam quando alguém salva um registro na grade ou no formulário. Na importação de XLSX, só o tipo e os campos obrigatórios são conferidos. Limpe a planilha antes de importar.

Criar uma expressão ​

  1. Na Estrutura, na seção Expressões, clique em Adicionar expressão.
  2. Preencha Rótulo, Tipo (Número, Data ou Texto), Máscara e Comportamento.
  3. Em Expressão (SQL), escreva a conta citando os campos pelo nome interno. O painel Colunas do Cadastro lista os nomes disponíveis, inclusive WB_ID, o identificador de cada registro.
  4. Clique em Aplicar e salve a definição.

Num Cadastro de metas com REALIZADO e META, o atingimento fica:

sql
REALIZADO / NULLIF(META, 0)

O valor é recalculado sempre a partir dos campos, então não tem como ficar desatualizado. A expressão não aparece para edição na grade nem no formulário: para um valor que alguém precisa digitar, crie um campo.

Se der errado ​

A mensagem da validação aparece em todo registro: a regra devolve texto mesmo quando o valor está certo. Confira o if com Testar, usando um registro válido no JSON de exemplo.

JSON inválido: …: o registro de exemplo do teste não é um JSON válido. Use aspas duplas nos nomes e nos textos.

Informe a expressão (SQL).: a expressão foi salva sem fórmula.

Relacionado ​