Un utente non vede un record che dovrebbe vedere: come risolvere
Perché un utente Salesforce non vede un record che dovrebbe: una checklist tra permessi oggetto, field-level security, condivisione e regole di restrizione.
L’immagine speculare di “perché questo utente vede quel record” è altrettanto comune: qualcuno dovrebbe poter vedere un record e non ci riesce. La buona notizia è che l’accesso in Salesforce attraversa una sequenza fissa di controlli, quindi puoi isolare il problema in modo metodico invece di tirare a indovinare.
I due controlli che ogni accesso a un record deve superare
Salesforce concede l’accesso solo se entrambi questi controlli hanno esito positivo:
- Livello di oggetto — l’utente ha il CRUD sull’oggetto e la field-level security sui campi pertinenti? (Da profili e permission set.)
- Livello di record — il modello di condivisione concede questo specifico record?
Il fallimento di uno solo nasconde il record. Quindi il primo compito è capire quale controllo sta fallendo, e il sintomo te lo dice.
Leggi prima il sintomo
| Sintomo | Controllo che fallisce | Vai a |
|---|---|---|
| Non trova affatto l’oggetto/tab | Permesso oggetto o visibilità app/tab | Passo 1 |
| Vede l’oggetto, ma non un record | Condivisione a livello di record (o restriction rule) | Passo 3 |
| Apre il record, ma i campi sono vuoti | Field-level security | Passo 2 |
| Lo vedeva ieri, oggi no | Una modifica recente / ricalcolo | Passo 4 |
Passo 1 — Permessi oggetto e visibilità
Se l’utente non riesce a raggiungere l’oggetto o la sua scheda:
- Verifica il permesso Read sull’oggetto nel suo profilo o in un permission set.
- Verifica che app e tab siano visibili per lui.
Nessun accesso all’oggetto significa nessun record, indipendentemente dalla condivisione. Sistema prima questo. (Se il problema riguarda il salvataggio di un record anziché la sua visualizzazione, la causa è di solito un record correlato che l’utente non riesce a raggiungere: vedi insufficient access rights on cross-reference id.)
Passo 2 — Field-level security
Se il record si apre ma alcuni campi sono vuoti, l’accesso a livello di record è a posto: è la field-level security che nasconde i campi. Concedi la FLS per quei campi sul profilo dell’utente o su un permission set. (È un’impostazione di profilo/permission set, non di condivisione: vedi profili, permission set e condivisione.)
Passo 3 — Condivisione a livello di record
Se l’utente ha accesso all’oggetto ma non riesce a raggiungere un record, ripercorri il modello di condivisione:
- Org-wide default — se è Private, l’utente vede solo i record che possiede, quelli posseduti da qualcuno sotto di lui nella gerarchia dei ruoli, oppure quelli concessi da una regola/team/condivisione manuale. Se non si applica nessuno di questi casi, ecco la risposta: aggiungi una regola di condivisione, un’appartenenza a un team o una condivisione manuale.
- Gerarchia dei ruoli — l’utente si trova effettivamente sopra il proprietario? In caso contrario, nessun roll-up.
- Una restriction rule lo sta filtrando via — le restriction rules riducono l’accesso al di sopra della condivisione. L’utente potrebbe avere accesso tramite la condivisione ma essere escluso dai criteri di una restriction rule. Controlla le restriction rules sull’oggetto per il permission set dell’utente.
Passo 4 — Modifiche recenti e ricalcolo
Se l’accesso è scomparso:
- Cerca modifiche alla proprietà, alla gerarchia dei ruoli, alle regole di condivisione, a una restriction rule o alle assegnazioni di permission set dell’utente: ognuna può rimuovere l’accesso.
- Verifica che un ricalcolo della condivisione sia terminato. Dopo modifiche a proprietà/ruoli/regole, Salesforce rielabora le condivisioni in modo asincrono e l’accesso può subire ritardi durante quella finestra.
Una checklist diagnostica
- Riesce a raggiungere l’oggetto/tab? → permesso oggetto + visibilità app/tab.
- I campi sono visibili? → field-level security.
- L’OWD è Private senza alcuna condivisione applicabile? → aggiungi una condivisione.
- È sopra il proprietario nella gerarchia? → se necessario.
- Una restriction rule lo sta escludendo? → modifica i criteri.
- C’è una modifica recente o un ricalcolo in corso? → attendi / annulla.
Il primo controllo che fallisce è la tua soluzione. E nota il problema inverso — troppo accesso — in un utente vede un record che non dovrebbe vedere.
Vai dritto al livello che fallisce
La parte lenta è testare ogni livello a turno, spesso effettuando il login come l’utente. AgentForceAccess elimina questo passaggio: chiedi perché un utente non riesce a vedere un record e ti riferisce quale controllo lo blocca — permesso oggetto, field-level security, una condivisione mancante o una restriction rule — così sistemi il livello giusto al primo tentativo.
Domande frequenti
L'utente vede l'oggetto ma non un record specifico. Perché?
È un problema a livello di record. Con un org-wide default Private, un utente vede solo i record che possiede, quelli posseduti da qualcuno sotto di lui nella gerarchia dei ruoli, oppure quelli concessi da una regola di condivisione, da un team o da una condivisione manuale. Se non si applica nessuno di questi casi, il record resta nascosto. Anche una restriction rule può filtrarlo via.
L'utente apre il record ma i campi chiave sono vuoti. Perché?
È field-level security, non condivisione del record. L'utente ha accesso al record ma il suo profilo o i permission set nascondono quei campi. Concedi la field-level security per i campi sul permission set pertinente.
L'utente non vede affatto l'oggetto o la scheda. Cosa c'è che non va?
Probabilmente non ha il permesso Read sull'oggetto, oppure l'app/tab è nascosta per il suo profilo. I permessi oggetto e la visibilità di tab/app provengono da profili e permission set: sistema questi prima di guardare il modello di condivisione.
L'accesso funzionava ieri e ha smesso. Cosa è cambiato?
Cerca una modifica recente alla proprietà, alla gerarchia dei ruoli, alle regole di condivisione, a una restriction rule o ai permission set dell'utente: ognuna di queste può rimuovere l'accesso. Verifica inoltre che un ricalcolo della condivisione sia terminato, poiché l'accesso può subire ritardi durante la rielaborazione.
Provalo sulla tua org
AgentForceAccess spiega, in linguaggio chiaro, perché un utente può vedere un record o un file — attraverso ogni meccanismo di condivisione di Salesforce.
Richiedi accesso anticipato