كيفية إصلاح MANAGER_NOT_DEFINED في عمليات نشر Salesforce
تفشل عملية موافقة أو أتمتة تعتمد على التسلسل الهرمي لأن حقل Manager الخاص بالمستخدم غير معبّأ.
يظهر أثناء: تقديم موافقة وقت التشغيل، غالبًا ضمن تنفيذ اختبارات Apexالمعنى
يظهر خطأ MANAGER_NOT_DEFINED عندما تصل عملية تعتمد على دور المستخدم أو التسلسل الهرمي الإداري، وغالبًا ما تكون خطوة عملية موافقة مُعدَّة للتوجيه إلى مدير المستخدم، إلى سجل User لا يحتوي على قيمة في حقل Manager. لا يستطيع Salesforce توجيه الموافقة، أو إكمال المنطق المعتمد على التسلسل الهرمي الذي أطلقها، دون وجود تلك السلسلة.
تُنشئ scratch orgs والـsandboxes الجديدة عادةً مستخدم المسؤول الافتراضي دون تعيين Manager، وهذا بالضبط سبب ظهور هذا الخطأ بشكل غير متناسب في تشغيلات اختبار CI بدلاً من مؤسسة إنتاج ناضجة تم فيها ملء التسلسل الهرمي بمرور الوقت.
الأسباب الشائعة
الحل
- عبّئ حقل Manager لكل مستخدم ذي صلةتأكد من أن سجلات User التجريبية والمستخدمة في تدفقات الموافقة أو التدفقات المعتمدة على التسلسل الهرمي لديها مدير معيّن.
User approver = new User(/* ... */); insert approver; User submitter = new User(ManagerId = approver.Id, /* ... */); insert submitter; - رتّب إعداد المستخدمين قبل الأتمتة المعتمدة على التسلسل الهرميخصّص المدراء كخطوة مبكرة، قبل أن تُطلَق أي عملية موافقة أو مُشغِّل يعتمد على التسلسل الهرمي.
- أضف موافقًا احتياطيًا لمستخدمي أعلى التسلسل الهرمياضبط عملية الموافقة بموافق افتراضي بحيث يتم توجيه المستخدمين الذين لا يملكون مديرًا إلى جهة ما على أي حال.
إزاي Serpent بتمنع ده
يمكن لإعداد المهام في Serpent تزويد مستخدمي الاختبار بتسلسل هرمي كامل، بحيث لا تفشل اختبارات عملية الموافقة المعتمدة على سلسلة المدراء لسبب لا علاقة له بالكود قيد الاختبار. راجع مكتبة أخطاء نشر Salesforce.

الوقاية
أخطاء ذات صلة
أسئلة شائعة حول MANAGER_NOT_DEFINED
ابدأ مجانًا. بدون بطاقة ائتمان، وبدون تثبيت، وبدون التزام.
الإعداد في أقل من 15 دقيقة. لا حاجة لتوظيف مختص DevOps.
