FelsökningPoståtkomstFel

"Insufficient access rights on cross-reference id" — så fixar du det

Vad Salesforce-felet "insufficient access rights on cross-reference id" betyder, de fem orsakerna bakom det och en steg-för-steg-metod för att lösa det.

AgentForceAccess 3 min läsning
Två postikoner sammanlänkade av en bruten, gnistrande ljusstråle med en varningssymbol och ett hänglås

INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY: insufficient access rights on cross-reference id är ett av de mest feltolkade felen i Salesforce. Instinkten är att kontrollera behörigheter på posten du sparar — men felet handlar nästan aldrig om den posten. Det handlar om en annan post som den pekar på.

Den här guiden förklarar vad meddelandet betyder och ger dig en upprepningsbar metod för att lösa det.

Vad felet faktiskt betyder

När du infogar eller uppdaterar en post kontrollerar Salesforce även varje post som den refererar — via lookup- eller master-detail-fält, ägarskap eller related-list-operationer. Om den körande användaren inte kan komma åt en av dessa refererade poster avvisas hela operationen med insufficient access rights on cross-reference id: <id>.

<id> är det 15- eller 18-teckens ID:t för den post som användaren inte kan nå — inte den som sparas. Den distinktionen är hela nyckeln till att lösa det.

Tolka meddelandet som: “Användaren som kör den här åtgärden kan inte komma åt den relaterade posten <id> som den här posten pekar på.”

Steg 0 — Identifiera cross-reference-posten

Kopiera ID:t från felet och öppna det direkt:

https://yourdomain.my.salesforce.com/<id>

Nu vet du vilket objekt och vilken post som blockerar dig (ett överordnat Account, en Contact i ett lookup-fält, en ägare, ett relaterat Case osv.). Varje steg nedan riktar sig mot den posten.

De fem orsakerna, i sannolikhetsordning

1. Saknad objektbehörighet

Användarens profil eller permission sets saknar Read (eller Create/Edit) på det refererade objektet. Objektbehörigheter är grinden som passeras innan delning ens utvärderas — se objektbehörigheter kontra postdelning. Tilldela den nödvändiga CRUD-behörigheten via ett permission set.

2. Fältnivåsäkerhet på lookup-fältet

Användaren kan inte se eller redigera fältet som innehåller referensen. Om FLS döljer lookup-fältet misslyckas skrivningen till det. Kontrollera fältnivåsäkerheten för det fältet på användarens profil/permission sets.

3. Ingen åtkomst till den refererade posten (delning)

Användaren har objektåtkomst men inte poståtkomst till den specifika relaterade posten. Orsaker: en Private org-wide default utan delningsregel, eller att användaren inte ligger över ägaren i rollhierarkin. Bekräfta med Sharing-knappen på den relaterade posten och utöka sedan åtkomsten med en delningsregel, ett team eller en manuell delning.

4. Automation som körs i användarens kontext

Flows som konfigurerats att köras “How to run the flow → in user context”, eller Apex deklarerad with sharing, upprätthåller den körande användarens behörigheter. Om den användaren inte kan nå den relaterade posten misslyckas automationen med det här felet, även om en admin testade det utan problem.

  • Lösning A (rekommenderas när det är lämpligt): kör Flow:en i systemkontext / Apex without sharing, så att automationen inte begränsas av den körande användaren — använd endast när användaren legitimt inte ska behöva direkt åtkomst.
  • Lösning B: ge faktiskt användaren åtkomst till den relaterade posten (orsak 1–3).

5. En raderad, tom eller felformaterad referens

Lookup-fältet pekar på en post som raderats, aldrig funnits, eller så är ID:t tomt/felaktigt (vanligt vid dataladdningar och integrationer). Salesforce rapporterar saknade poster som otillräcklig åtkomst. Validera att ID:t pekar på en aktiv post innan du sparar.

En upprepningsbar åtgärdschecklista

  1. Extrahera <id> från felet och öppna det — identifiera objektet och posten.
  2. Har användaren objektbehörigheten Read/Edit på det objektet? → åtgärda profil/permission set.
  3. Har användaren fältnivåsäkerhet på lookup-fältet? → åtgärda FLS.
  4. Har användaren poståtkomst till den specifika posten? → kontrollera Sharing-knappen; lägg till en delning.
  5. Körs en automation i användarkontext? → välj mellan systemkontext och att ge åtkomst.
  6. Pekar det refererade ID:t fortfarande på en aktiv post? → åtgärda datan/integrationen.

Den första kontrollen som misslyckas är din grundorsak.

Varför det här felet egentligen är ett åtkomstspårningsproblem

Varje orsak ovan är samma underliggande fråga: har den här användaren faktiskt åtkomst till den relaterade posten, och via vilken mekanism? Det är mödosamt att besvara för hand över CRUD, FLS och sex delningsmekanismer.

AgentForceAccess besvarar det på vanlig svenska — klistra in användaren och posten, så spårar verktyget exakt vilken behörighet eller delning som ger (eller blockerar) åtkomst, så att du slutar gissa vilken av de fem orsakerna du har framför dig.

Vanliga frågor

Vad syftar "cross-reference id" egentligen på?

Det är Salesforce-post-ID:t för den *relaterade* post som din åtgärd pekar på via ett lookup- eller master-detail-fält. Den körande användaren har inte åtkomst till den posten, så sparningen avvisas. Lägg till ID:t efter din org-URL (https://yourdomain.my.salesforce.com/<id>) för att identifiera det.

Varför fungerar samma åtgärd för en admin men misslyckas för en standardanvändare?

Admins har vanligtvis "View All"/"Modify All" eller "Modify All Data", som kringgår delningsmodellen. Standardanvändaren blockeras av objektbehörigheter, fältnivåsäkerhet eller postnivådelning på den relaterade posten. Återskapa åtgärden som den drabbade användaren för att isolera problemet.

Döljer det ett verkligt behörighetsproblem att köra en Flow i systemkontext?

Det kan göra det. Systemkontext ignorerar den körande användarens delning och CRUD/FLS, vilket åtgärdar felet men kan ge åtkomst som användaren inte borde ha via gränssnittet. Använd det medvetet och bekräfta att användaren verkligen ska kunna nå den relaterade posten.

Kan det här felet bero på en raderad eller saknad post?

Ja. Om lookup-fältet pekar på en post som raderats, aldrig funnits, eller om ID:t är tomt/felformaterat, rapporterar Salesforce det som otillräcklig åtkomst snarare än "hittades inte". Verifiera att det refererade ID:t fortfarande pekar på en aktiv post.

Se det i din egen organisation

AgentForceAccess förklarar, på vanlig svenska, varför vilken användare som helst kan se vilken post eller fil som helst — över varje delningsmekanism i Salesforce.

Begär förhandsåtkomst