Validação por Fórmula em Produtos
Esta validação personalizada avalia uma regra que você escreve no momento de gravar o cadastro de um produto. Se a condição for verdadeira, o produto é salvo; se for falsa, a gravação é barrada com a mensagem de erro. Em produtos, este é o único tipo de validador disponível.
Os atributos da fórmula começam por product — inclusive 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 Produto.
- 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 o produto pode ser gravado. Deve devolver verdadeiro para liberar e falso para barrar.
- Mensagem de erro: o texto exibido quando o produto é barrado.
Exemplo: exigir um campo personalizado preenchido
Suponha que todo produto precise ter o campo personalizado cf_curva_abc preenchido. Para barrar o cadastro enquanto ele estiver vazio:
- Fórmula:
{ "is_filled": [{ "attr": "product.cf_curva_abc" }] }
- Mensagem de erro:
Preencha a curva ABC antes de salvar o produto.
Como funciona: a fórmula verifica se o campo está preenchido. Quando há valor, o produto é salvo; quando está vazio, a gravação é barrada com a mensagem acima.
Uma observação importante
Validações de produto 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 do produto funcionam normalmente.