كيفية إصلاح CANNOT_MODIFY_MANAGED_OBJECT في عمليات نشر Salesforce
يحاول النشر تغيير مكوّن ينتمي إلى حزمة مُدارة مثبّتة، وهو أمر لا تستطيع مؤسسات المشتركين تعديله مباشرة.
يظهر أثناء: التحقق من صحة نشر الميتاداتا، قبل تنفيذ أي DMLالمعنى
يعني CANNOT_MODIFY_MANAGED_OBJECT أن عملية النشر تحاول تعديل ميتاداتا مملوكة لحزمة مُدارة، سواء كان ذلك حقلًا أو كائنًا أو فئة Apex مثبّتة من AppExchange أو حزمة مُدارة داخلية. تستطيع مؤسسات المشتركين توسيع كائنات الحزم المُدارة بطرق محددة تحددها الحزمة نفسها، لكنها لا تستطيع تعديل المكونات المحمية الخاصة بالحزمة مباشرة.
يظهر هذا الخطأ وقت النشر، قبل التأثير على أي سجلات، لأن Metadata API تتحقق من ملكية المكونات كجزء من التحقق من صحة الحزمة التي تنشرها.
الأسباب الشائعة
الحل
- أزل المكوّن المُدار من حزمة النشراستبعد أي ميتاداتا يعود بادئة الـ namespace الخاصة بها إلى الحزمة المثبّتة، وانشر فقط التغييرات الأصلية للمؤسسة.
- استخدم نقاط التوسعة المدعومة من الحزمة بدلًا من ذلكوسّع الكائنات المُدارة عبر حقول مخصصة أو ميتاداتا مخصصة أو واجهات برمجية يوفرها مزود الحزمة، بدلًا من تعديل مكونات الحزمة نفسها.
- وائم بين إصدارات الحزمة عبر المؤسسات قبل النشرقم بترقية أو خفض إصدار الحزمة المُدارة بحيث تعمل المؤسستان المصدر والهدف بنفس الإصدار قبل إعادة المحاولة.
إزاي Serpent بتمنع ده
يتعرّف Serpent AI على مكونات الحزم المُدارة ذات الـ namespace عند تحديد نطاق المهمة، فيتم استبعادها تلقائيًا من حزمة النشر بدلًا من التسبب في فشل الإصدار. اطّلع على مكتبة أخطاء نشر Salesforce.

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