जो रिकॉर्ड यूज़र को दिखना चाहिए वह नहीं दिखता — कैसे ठीक करें
Salesforce यूज़र को कोई रिकॉर्ड क्यों नहीं दिखता जबकि दिखना चाहिए — object permissions, field-level security, sharing और restriction rules की एक चेकलिस्ट।
“यह यूज़र वह रिकॉर्ड क्यों देख पा रहा है” का उलटा सवाल भी उतना ही आम है: किसी को कोई रिकॉर्ड दिखना चाहिए पर नहीं दिख रहा। अच्छी खबर यह है कि Salesforce में एक्सेस एक तय क्रम की जाँचों से गुज़रता है — इसलिए अनुमान लगाने के बजाय आप विफलता को व्यवस्थित ढंग से अलग कर सकते हैं।
हर रिकॉर्ड एक्सेस को पास करनी होती हैं दो जाँचें
Salesforce एक्सेस तभी देता है जब दोनों सफल हों:
- Object level — क्या यूज़र के पास object पर CRUD है, और संबंधित fields पर field-level security है? (profiles और permission sets से।)
- Record level — क्या sharing model इस खास रिकॉर्ड को देता है?
इनमें से किसी एक की विफलता रिकॉर्ड को छिपा देती है। तो पहला काम यह पता लगाना है कि कौन-सी जाँच विफल हो रही है — और लक्षण आपको बता देता है।
पहले लक्षण पढ़ें
| लक्षण | विफल जाँच | यहाँ जाएँ |
|---|---|---|
| object/tab बिल्कुल मिल ही नहीं रहा | Object permission या app/tab visibility | Step 1 |
| object दिखता है, पर एक रिकॉर्ड नहीं | Record-level sharing (या restriction rule) | Step 3 |
| रिकॉर्ड खुलता है, पर fields खाली हैं | Field-level security | Step 2 |
| कल दिखता था, आज नहीं | हाल का कोई बदलाव / recalculation | Step 4 |
Step 1 — Object permissions और visibility
अगर यूज़र object या उसके tab तक नहीं पहुँच पा रहा:
- उसके profile या किसी permission set में object पर Read की पुष्टि करें।
- पुष्टि करें कि app और tab उसे दिखाई देते हैं।
object एक्सेस न हो तो कोई रिकॉर्ड नहीं, चाहे sharing कुछ भी हो। इसे पहले ठीक करें। (अगर विफलता रिकॉर्ड देखने की नहीं बल्कि सेव करने की है, तो कारण आमतौर पर एक संबंधित रिकॉर्ड होता है जिस तक यूज़र नहीं पहुँच पाता — देखें insufficient access rights on cross-reference id।)
Step 2 — Field-level security
अगर रिकॉर्ड खुलता है पर कुछ खास fields खाली हैं, तो record-level एक्सेस ठीक है — field-level security उन fields को छिपा रही है। यूज़र के profile या किसी permission set पर उन fields के लिए FLS दें। (यह एक profile/permission-set सेटिंग है, sharing नहीं — देखें profiles vs permission sets vs sharing।)
Step 3 — Record-level sharing
अगर यूज़र के पास object एक्सेस है पर एक रिकॉर्ड तक नहीं पहुँच पा रहा, तो sharing model को क्रम से जाँचें:
- Org-wide default — अगर यह Private है, तो यूज़र को केवल वही रिकॉर्ड दिखते हैं जिनका वह मालिक है, जो role hierarchy में उसके नीचे किसी के स्वामित्व में हैं, या जो किसी rule/team/manual share से दिए गए हैं। अगर कुछ भी लागू नहीं होता, तो यही आपका जवाब है — एक sharing rule, team membership, या manual share जोड़ें।
- Role hierarchy — क्या यूज़र वाकई owner के ऊपर बैठता है? अगर नहीं, तो कोई roll-up नहीं।
- कोई restriction rule उसे फ़िल्टर कर रही है — restriction rules sharing के ऊपर एक्सेस को घटाती हैं। यूज़र के पास sharing से एक्सेस हो सकता है पर किसी restriction rule के मानदंड से उसे बाहर किया जा रहा हो। यूज़र के permission set के लिए object पर restriction rules जाँचें।
Step 4 — हाल के बदलाव और recalculation
अगर एक्सेस गायब हो गया:
- ownership, role hierarchy, sharing rules, किसी restriction rule, या यूज़र के permission set assignments में बदलाव ढूँढें — कोई भी एक्सेस हटा सकता है।
- पुष्टि करें कि sharing recalculation पूरा हो चुका है। ownership/role/rule बदलने के बाद Salesforce shares को asynchronously फिर से process करता है और उस दौरान एक्सेस में देरी हो सकती है।
एक निदान चेकलिस्ट
- क्या वे object/tab तक पहुँच सकते हैं? → object permission + app/tab visibility।
- क्या fields दिखते हैं? → field-level security।
- क्या OWD Private है और कोई लागू share नहीं? → sharing जोड़ें।
- क्या वे hierarchy में owner के ऊपर हैं? → ज़रूरत हो तो।
- क्या कोई restriction rule उन्हें बाहर कर रही है? → मानदंड समायोजित करें।
- क्या कोई हाल का बदलाव या recalculation चल रहा है? → प्रतीक्षा करें / वापस करें।
पहली विफल जाँच ही आपका समाधान है। और इसका उल्टा problem — बहुत ज़्यादा एक्सेस — पर ध्यान दें एक यूज़र वह रिकॉर्ड देख पा रहा है जो उसे नहीं दिखना चाहिए में।
सीधे विफल परत पर जाएँ
धीमा हिस्सा है हर परत को बारी-बारी से जाँचना, अक्सर यूज़र के रूप में लॉगिन करके। AgentForceAccess इसे समेट देता है: पूछें कि कोई यूज़र किसी रिकॉर्ड को क्यों नहीं देख पा रहा और यह बता देता है कि कौन-सी जाँच उसे रोक रही है — object permission, field-level security, कोई गायब share, या एक restriction rule — ताकि आप पहली ही बार सही परत ठीक करें।
अक्सर पूछे जाने वाले सवाल
यूज़र को object तो दिखता है पर एक खास रिकॉर्ड नहीं। क्यों?
यह एक record-level समस्या है। Private org-wide default के साथ, यूज़र को केवल वही रिकॉर्ड दिखते हैं जिनका वह मालिक है, जो role hierarchy में उसके नीचे किसी के स्वामित्व में हैं, या जो किसी sharing rule, team या manual share से उसे दिए गए हैं। अगर इनमें से कुछ भी लागू नहीं होता, तो रिकॉर्ड छिपा रहता है। कोई restriction rule भी उसे फ़िल्टर कर सकती है।
यूज़र रिकॉर्ड खोल तो सकता है पर मुख्य fields खाली हैं। क्यों?
यह field-level security है, record sharing नहीं। यूज़र के पास रिकॉर्ड का एक्सेस है पर उसका profile या permission sets उन fields को छिपा रहे हैं। संबंधित permission set पर उन fields के लिए field-level security दें।
यूज़र को object या tab बिल्कुल दिखता ही नहीं। क्या गड़बड़ है?
संभवतः उसके पास object Read permission नहीं है, या उसके profile के लिए app/tab छिपा है। Object permissions और tab/app visibility profiles और permission sets से आती हैं — sharing model देखने से पहले इन्हें ठीक करें।
कल तक एक्सेस काम कर रहा था और बंद हो गया। क्या बदला?
ownership, role hierarchy, sharing rules, किसी restriction rule, या यूज़र के permission sets में हाल का कोई बदलाव ढूँढें — इनमें से कोई भी एक्सेस हटा सकता है। यह भी पुष्टि करें कि sharing recalculation पूरा हो चुका है, क्योंकि reprocessing के दौरान एक्सेस में देरी हो सकती है।
इसे अपने org पर देखें
AgentForceAccess सीधी भाषा में समझाता है कि कोई भी user किसी भी record या file को क्यों देख सकता है — हर Salesforce sharing तंत्र में।
जल्द access का अनुरोध करें