Validação por Fórmula em Pessoas

Esta validação personalizada avalia uma regra que você escreve no momento de gravar o cadastro de uma pessoa (cliente, fornecedor, etc.). Se a condição for verdadeira, o cadastro é salvo; se for falsa, a gravação é barrada com a mensagem de erro. Em pessoas, este é o único tipo de validador disponível.

Os atributos da fórmula começam por person — por exemplo person.name, person.kind, person.cpf, person.cnpj, além de campos personalizados com o prefixo cf_. Consulte Fórmulas para a sintaxe e a lista de atributos.

Cadastrando

  1. No menu superior, clique na Engrenagem.
  2. Clique em Validações personalizadas.
  3. Escolha Pessoa.
  4. Clique em Incluir.
  5. Na galeria, selecione o modelo Fórmula personalizada.
  6. Preencha os campos e clique em Salvar.

Campos

Além dos campos comuns a toda validação, este validador tem dois campos próprios:

  • Fórmula: a regra que decide se a pessoa pode ser gravada. Deve devolver verdadeiro para liberar e falso para barrar.
  • Mensagem de erro: o texto exibido quando o cadastro é barrado.

Exemplo: exigir CNPJ para pessoa jurídica

Para impedir que uma pessoa jurídica seja salva sem CNPJ:

  • Fórmula:
{
  "if": [
    { "==": [{ "attr": "person.kind" }, "company"] },
    { "is_filled": [{ "attr": "person.cnpj" }] },
    true
  ]
}
  • Mensagem de erro: Informe o CNPJ para cadastros de pessoa jurídica.

Como funciona: quando a pessoa é jurídica (kind igual a company), a fórmula exige o CNPJ preenchido; para os demais cadastros, devolve verdadeiro e libera a gravação.

Uma observação importante

Validações de pessoa não têm o licenciado no contexto. Por isso, evite fórmulas que dependem do fuso de horário do licenciado — como strftime, time.from_now e as demais operações de tempo que precisam dele. Comparações simples, verificação de preenchimento e regras sobre os próprios atributos da pessoa funcionam normalmente.