استكشاف الأخطاء وإصلاحهاالوصول إلى السجلاتمسؤول Salesforce

تعذُّر رؤية مستخدم لسجل يفترض أن يراه — كيف تُصلح ذلك

لماذا يتعذر على مستخدم Salesforce رؤية سجل يُفترض أن يراه — قائمة تحقق تشمل أذونات الكائن وأمان مستوى الحقل والمشاركة وقواعد التقييد.

AgentForceAccess 3 دقيقة قراءة
صورة ظلية لمستخدم يمد يده نحو سجل محبوس خلف حاجز شفاف

النقيض المطابق لسؤال “لماذا يستطيع هذا المستخدم رؤية ذلك السجل” شائع بالقدر نفسه: شخص يفترض أن يتمكن من رؤية سجل لكنه لا يستطيع. والخبر الجيد أن الوصول في Salesforce يمر عبر سلسلة ثابتة من الفحوص — لذا يمكنك عزل موضع الفشل بمنهجية بدلًا من التخمين.

الفحصان اللذان يجب أن يجتازهما كل وصول إلى سجل

لا يمنح Salesforce الوصول إلا إذا نجح كلا الفحصين التاليين:

  1. مستوى الكائن — هل يملك المستخدم صلاحيات CRUD على الكائن، وأمان مستوى الحقل على الحقول المعنية؟ (من ملفات التعريف ومجموعات الأذونات.)
  2. مستوى السجل — هل يمنح نموذج المشاركة هذا السجل تحديدًا؟

فشل أيٍّ منهما يُخفي السجل. لذا فالمهمة الأولى هي معرفة أي فحص يفشل — والعَرَض يدلّك على ذلك.

اقرأ العَرَض أولًا

العَرَضالفحص الفاشلاذهب إلى
تعذُّر العثور على الكائن/علامة التبويب أصلًاإذن الكائن أو إظهار التطبيق/علامة التبويبالخطوة 1
يرى الكائن لكن ليس سجلًا واحدًاالمشاركة على مستوى السجل (أو قاعدة تقييد)الخطوة 3
يفتح السجل لكن الحقول فارغةأمان مستوى الحقلالخطوة 2
رآه أمس وليس اليومتغيير حديث / إعادة حسابالخطوة 4

الخطوة 1 — أذونات الكائن وإظهاره

إذا تعذر على المستخدم الوصول إلى الكائن أو علامة تبويبه:

  • تأكد من وجود إذن Read على الكائن في ملف تعريفه أو في مجموعة أذونات.
  • تأكد من أن التطبيق وعلامة التبويب ظاهران له.

انعدام الوصول إلى الكائن يعني انعدام السجلات، بصرف النظر عن المشاركة. أصلح هذا أولًا. (إن كان الفشل عند حفظ سجل وليس عرضه، فالسبب عادةً سجل مرتبط يتعذر على المستخدم الوصول إليه — راجع insufficient access rights on cross-reference id.)

الخطوة 2 — أمان مستوى الحقل

إذا فُتح السجل لكن حقولًا محددة كانت فارغة، فالوصول على مستوى السجل سليم — وأمان مستوى الحقل هو ما يُخفي الحقول. امنح FLS لتلك الحقول على ملف تعريف المستخدم أو في مجموعة أذونات. (هذا إعداد على مستوى ملف التعريف/مجموعة الأذونات، وليس مشاركة — راجع ملفات التعريف مقابل مجموعات الأذونات مقابل المشاركة.)

الخطوة 3 — المشاركة على مستوى السجل

إذا كان لدى المستخدم وصول إلى الكائن لكن يتعذر عليه الوصول إلى سجل واحد، فتتبّع نموذج المشاركة:

  • الإعداد الافتراضي على مستوى المؤسسة — إن كان Private، فلا يرى المستخدم سوى السجلات التي يملكها، أو التي يملكها شخص أدنى منه في التسلسل الهرمي للأدوار، أو التي تمنحها قاعدة/فريق/مشاركة يدوية. وإن لم ينطبق أيٌّ منها، فتلك هي إجابتك — أضِف قاعدة مشاركة، أو عضوية فريق، أو مشاركة يدوية.
  • التسلسل الهرمي للأدوار — هل يقع المستخدم فعلًا فوق المالك؟ إن لم يكن كذلك، فلا تجميع تصاعدي للوصول.
  • قاعدة تقييد تُرشِّحه خارجًا — تُقلّص قواعد التقييد الوصول فوق المشاركة. فقد يكون لدى المستخدم وصول عبر المشاركة لكن تستبعده معايير قاعدة تقييد. تحقق من قواعد التقييد على الكائن بالنسبة لمجموعة أذونات المستخدم.

الخطوة 4 — التغييرات الحديثة وإعادة الحساب

إذا اختفى الوصول:

  • ابحث عن تغييرات في الملكية، أو التسلسل الهرمي للأدوار، أو قواعد المشاركة، أو قاعدة تقييد، أو تعيينات مجموعات أذونات المستخدم — فأيٌّ منها قد يزيل الوصول.
  • تأكد من اكتمال إعادة حساب المشاركة. فبعد تغييرات الملكية/الأدوار/القواعد، يعيد Salesforce معالجة المشاركات بشكل غير متزامن وقد يتأخر الوصول خلال تلك الفترة.

قائمة تحقق للتشخيص

  1. هل يصلون إلى الكائن/علامة التبويب؟ → إذن الكائن + إظهار التطبيق/علامة التبويب.
  2. هل تظهر الحقول؟ → أمان مستوى الحقل.
  3. هل OWD من نوع Private بلا مشاركة منطبقة؟ → أضِف مشاركة.
  4. هل هم فوق المالك في التسلسل الهرمي؟ → عند الحاجة.
  5. هل تستبعدهم قاعدة تقييد؟ → عدّل المعايير.
  6. هل هناك تغيير حديث أو إعادة حساب قيد التنفيذ؟ → انتظر / تراجع.

أول فحص فاشل هو موضع إصلاحك. ولاحظ المشكلة المعاكسة — وصول أكثر من اللازم — في مستخدم يستطيع رؤية سجل لا يفترض أن يراه.

تخطَّ مباشرةً إلى الطبقة الفاشلة

الجزء البطيء هو اختبار كل طبقة بالتتابع، غالبًا بتسجيل الدخول بصفة المستخدم. يختصر AgentForceAccess ذلك: اسأل لماذا لا يستطيع مستخدم رؤية سجل، فيُبلغك بالفحص الذي يحجبه — إذن الكائن، أو أمان مستوى الحقل، أو مشاركة مفقودة، أو قاعدة تقييد — لتُصلح الطبقة الصحيحة من المرة الأولى.

الأسئلة الأكثر تكراراً

يستطيع المستخدم رؤية الكائن لكن ليس سجلًا محددًا واحدًا. لماذا؟

هذه مشكلة على مستوى السجل. مع إعداد افتراضي على مستوى المؤسسة من نوع Private، لا يرى المستخدم سوى السجلات التي يملكها، أو التي يملكها شخص أدنى منه في التسلسل الهرمي للأدوار، أو التي تمنحها له قاعدة مشاركة أو فريق أو مشاركة يدوية. وإن لم ينطبق أيٌّ من هذه، يظل السجل مخفيًا. كما قد تكون قاعدة تقييد تُرشِّحه خارجًا.

يستطيع المستخدم فتح السجل لكن الحقول الرئيسية فارغة. لماذا؟

هذا أمان على مستوى الحقل، وليس مشاركة سجلات. لدى المستخدم وصول إلى السجل لكن ملف تعريفه أو مجموعات الأذونات الخاصة به تُخفي تلك الحقول. امنح أمان مستوى الحقل لتلك الحقول على مجموعة الأذونات المعنية.

يتعذر على المستخدم رؤية الكائن أو علامة التبويب أصلًا. ما الخطأ؟

على الأرجح يفتقر إلى إذن Read على الكائن، أو أن التطبيق/علامة التبويب مخفية عن ملف تعريفه. تأتي أذونات الكائن وإظهار علامة التبويب/التطبيق من ملفات التعريف ومجموعات الأذونات — أصلح هذه أولًا قبل النظر في نموذج المشاركة.

كان الوصول يعمل أمس ثم توقف. ما الذي تغيّر؟

ابحث عن تغيير حديث في الملكية، أو التسلسل الهرمي للأدوار، أو قواعد المشاركة، أو قاعدة تقييد، أو مجموعات أذونات المستخدم — فأيٌّ من هذه قد يزيل الوصول. وتأكد أيضًا من اكتمال إعادة حساب المشاركة، إذ قد يتأخر الوصول أثناء إعادة المعالجة.

شاهده على مؤسستك أنت

يشرح AgentForceAccess بلغة واضحة وبسيطة لماذا يستطيع أي مستخدم رؤية أي سجل أو ملف — عبر كل آلية مشاركة في Salesforce.

اطلب وصولاً مبكراً