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
- No menu superior, clique na Engrenagem.
- Clique em Validações personalizadas.
- Escolha Pessoa.
- Clique em Incluir.
- Na galeria, selecione o modelo Fórmula personalizada.
- 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.