Um utilizador não vê um registo que devia — como resolver
Porque é que um utilizador do Salesforce não vê um registo que devia — uma checklist por permissões de objeto, FLS, partilha e regras de restrição.
A imagem ao espelho de “porque é que este utilizador vê aquele registo” é igualmente comum: alguém devia conseguir ver um registo e não consegue. A boa notícia é que o acesso no Salesforce passa por uma sequência fixa de verificações — por isso pode isolar a falha de forma metódica em vez de adivinhar.
As duas verificações que todo o acesso a registos tem de passar
O Salesforce só concede acesso se ambas estas passarem:
- Nível do objeto — o utilizador tem CRUD no objeto e field-level security nos campos relevantes? (A partir de perfis e permission sets.)
- Nível do registo — o modelo de partilha concede este registo específico?
Uma falha em qualquer uma esconde o registo. Por isso a primeira tarefa é perceber qual a verificação que está a falhar — e o sintoma di-lo.
Leia o sintoma primeiro
| Sintoma | Verificação que falha | Ir para |
|---|---|---|
| Não encontra de todo o objeto/separador | Permissão de objeto ou visibilidade da aplicação/separador | Passo 1 |
| Vê o objeto, mas não vê um registo | Partilha ao nível do registo (ou regra de restrição) | Passo 3 |
| Abre o registo, mas os campos estão em branco | Field-level security | Passo 2 |
| Via-o ontem, hoje não | Uma alteração recente / recálculo | Passo 4 |
Passo 1 — Permissões de objeto e visibilidade
Se o utilizador não consegue chegar ao objeto ou ao seu separador:
- Confirme a permissão Read no objeto, no seu perfil ou num permission set.
- Confirme que a aplicação e o separador estão visíveis para ele.
Sem acesso ao objeto não há registos, independentemente da partilha. Corrija isto primeiro. (Se a falha for ao guardar um registo e não ao visualizá-lo, a causa costuma ser um registo relacionado a que o utilizador não consegue chegar — ver insufficient access rights on cross-reference id.)
Passo 2 — Field-level security
Se o registo abre mas campos específicos estão vazios, o acesso ao nível do registo está bem — é a field-level security que está a esconder os campos. Conceda FLS para esses campos no perfil ou num permission set do utilizador. (Isto é uma definição de perfil/permission set, não de partilha — ver perfis vs permission sets vs sharing.)
Passo 3 — Partilha ao nível do registo
Se o utilizador tem acesso ao objeto mas não consegue chegar a um registo, percorra o modelo de partilha:
- Org-wide default — se for Private, o utilizador só vê os registos de que é proprietário, os que pertencem a alguém abaixo dele na hierarquia de funções, ou os concedidos por uma regra/equipa/partilha manual. Se nada disto se aplicar, está aí a resposta — adicione uma sharing rule, uma associação a uma equipa ou uma partilha manual.
- Hierarquia de funções — o utilizador está mesmo acima do proprietário? Se não, não há roll-up.
- Uma regra de restrição está a filtrá-lo — as regras de restrição reduzem o acesso por cima da partilha. O utilizador pode ter acesso através da partilha mas ser excluído pelos critérios de uma regra de restrição. Verifique as regras de restrição no objeto para o permission set do utilizador.
Passo 4 — Alterações recentes e recálculo
Se o acesso desapareceu:
- Procure alterações à propriedade, à hierarquia de funções, às sharing rules, a uma regra de restrição, ou às atribuições de permission sets do utilizador — qualquer uma pode remover o acesso.
- Confirme que um recálculo de partilha terminou. Após alterações de propriedade/função/regra, o Salesforce reprocessa as partilhas de forma assíncrona e o acesso pode ficar atrasado durante essa janela.
Uma checklist de diagnóstico
- Consegue chegar ao objeto/separador? → permissão de objeto + visibilidade da aplicação/separador.
- Os campos aparecem? → field-level security.
- O OWD é Private sem partilha aplicável? → adicione partilha.
- Está acima do proprietário na hierarquia? → se necessário.
- Há uma regra de restrição a excluí-lo? → ajuste os critérios.
- Alteração recente ou recálculo em curso? → aguarde / reverta.
A primeira verificação que falha é a sua correção. E repare no problema inverso — acesso a mais — em um utilizador vê um registo que não devia.
Salte diretamente para a camada que falha
A parte lenta é testar cada camada uma a uma, muitas vezes iniciando sessão como o utilizador. O AgentForceAccess elimina isso: pergunte porque é que um utilizador não consegue ver um registo e ele indica qual a verificação que o bloqueia — permissão de objeto, field-level security, uma partilha em falta, ou uma regra de restrição — para que corrija a camada certa logo à primeira.
Perguntas frequentes
O utilizador vê o objeto mas não vê um registo específico. Porquê?
Isso é um problema ao nível do registo. Com um org-wide default Private, um utilizador só vê os registos de que é proprietário, os que pertencem a alguém abaixo dele na hierarquia de funções, ou os que uma sharing rule, equipa ou partilha manual lhe concede. Se nada disto se aplicar, o registo permanece oculto. Uma regra de restrição também pode estar a filtrá-lo.
O utilizador consegue abrir o registo mas campos importantes aparecem em branco. Porquê?
Isso é field-level security, não partilha de registos. O utilizador tem acesso ao registo, mas o seu perfil ou conjuntos de permissões ocultam esses campos. Conceda field-level security para os campos no permission set relevante.
O utilizador não vê de todo o objeto nem o separador. O que está errado?
Provavelmente falta-lhe a permissão Read no objeto, ou a aplicação/separador está oculta para o seu perfil. As permissões de objeto e a visibilidade de separadores/aplicações vêm de perfis e permission sets — corrija isso antes de olhar para o modelo de partilha.
O acesso funcionava ontem e deixou de funcionar. O que mudou?
Procure uma alteração recente à propriedade, à hierarquia de funções, às sharing rules, a uma regra de restrição, ou aos permission sets do utilizador — qualquer uma destas pode remover o acesso. Confirme também que um recálculo de partilha terminou, já que o acesso pode ficar atrasado durante o reprocessamento.
Veja na sua própria org
O AgentForceAccess explica, em linguagem clara, porque é que qualquer utilizador vê qualquer registo ou ficheiro — em todos os mecanismos de partilha do Salesforce.
Pedir acesso antecipado