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

  1. No menu superior, clique na Engrenagem.
  2. Clique em Validações personalizadas.
  3. Escolha Produto.
  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 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.