Regras cross-objeto
Defina regras em que uma condição em um objeto dispara uma ação em outro: bloquear a gravação, criar um registro ou atualizar registros relacionados. É automação de integridade, escrita em formulário, sem código e sem esperar por um fluxo agendado.
Algumas regras do negócio não cabem na validação de um campo isolado: uma oportunidade acima de certo valor não pode ser salva sem proposta anexada; toda oportunidade ganha deve gerar um registro de implantação; mudar o status de uma conta precisa refletir nos contratos ligados a ela. As Regras cross-objeto expressam exatamente isso: condição em um objeto, efeito em outro.
Como criar
- Abra Configurações e, no grupo Automação e processos, clique em Regras cross-objeto.
- Preencha o Nome da regra e escolha o Objeto de origem, aquele cujo registro será observado.
- Em Quando, escolha Ao criar, Ao editar ou Ao criar ou editar.
- Em Condições (todas verdadeiras), clique em Adicionar condição e monte cada linha: Campo, operador e Valor.
- Escolha a Ação: Bloquear, Criar registro ou Atualizar relacionados. As duas últimas pedem também o Objeto alvo.
- Marque Ativa e clique em Salvar.
Os campos são escolhidos em lista, não digitados, o que evita errar o nome interno. Os operadores disponíveis são igual a, diferente de, maior que, maior ou igual, menor que, menor ou igual, contém, vazio e preenchido. As condições somam: todas precisam ser verdadeiras para a regra disparar, e uma regra sem condição nenhuma dispara sempre.
As três ações
- Bloquear: impede a gravação e mostra a Mensagem de bloqueio que você escrever. A checagem acontece antes de gravar, então nada fica pela metade.
- Criar registro: cria um registro no objeto alvo. Em Dados do novo registro, você monta pares de campo e valor que serão preenchidos.
- Atualizar relacionados: percorre os registros do objeto alvo que apontam para o registro de origem pelo Campo de vínculo (um campo de relacionamento do objeto de origem) e grava o Novo valor no Campo a alterar.
Cuidados e limites
- As ações disparadas por uma regra não reavaliam as regras do objeto alvo. Isso é proposital: evita que duas regras se chamem em círculo e travem o sistema.
- Uma regra aceita até vinte condições.
- Desmarcar Ativa desliga a regra sem apagá-la, o que é o jeito seguro de testar uma suspeita.
- Regra que bloqueia atinge todo mundo, inclusive importações e integrações que gravem pelo mesmo caminho. Escreva a mensagem pensando em quem vai ler.
- Em Atualizar relacionados, o Campo de vínculo é escolhido entre os campos de relacionamento do objeto de origem. Sem ele e sem o Campo a alterar, a regra não faz nada.
Quem pode fazer
Criar, editar e excluir regras exige permissão para administrar configurações. O efeito, porém, é sentido por todos: qualquer pessoa que gravar um registro do objeto de origem passa pela regra.
Perguntas comuns
- Minha regra não dispara: confirme que ela está Ativa, que o gatilho cobre a operação que você testou e que todas as condições são verdadeiras ao mesmo tempo.
- Comparação de números e datas: os operadores de maior e menor comparam numericamente; igual a e contém comparam como texto, sem diferenciar maiúsculas no contém.
- Excluir a regra desfaz o que ela já fez? Não. Registros criados e valores gravados permanecem; a regra só deixa de agir daqui para a frente.
- Qual a diferença para as Validações? Validações cuidam do próprio registro, campo a campo. Regras cross-objeto olham um objeto e agem em outro.