كيفية إصلاح DELETE_FAILED في عمليات نشر Salesforce
يُحظر حذف سجل بسبب علاقة بحث (lookup) أو مشغّل (trigger) أو موافقة معلّقة، بمعزل عن خطأ DEPENDENCY_EXISTS على مستوى البيانات الوصفية.
يظهر أثناء: عمليات حذف DML وقت التشغيل، في تحميل البيانات ومهام الدفعات واختبارات Apexالمعنى
DELETE_FAILED خطأ على مستوى البيانات يظهر عندما لا يمكن إتمام عملية حذف DML، غالبًا لأن سجلًا آخر لا يزال يحمل مرجع بحث (lookup) أو علاقة رئيسي-تفصيلي (master-detail) إليه، أو لأن مشغّلًا اعترض على الحذف، أو لأن السجل مقفل بموافقة معلّقة. ينطبق هذا على حذف السجلات أثناء تحميل البيانات واختبارات Apex، وليس على حذف مكونات البيانات الوصفية.
تُحذف السجلات التابعة في علاقة رئيسي-تفصيلي تلقائيًا عند حذف السجل الرئيسي، لذا يتعلق هذا الخطأ غالبًا بعلاقة بحث، حيث يترك Salesforce خيار التتابع (cascade) أو الحظر لتكوين الحقل، أو بمنطق مخصص يمنع الحذف صراحةً.
الأسباب الشائعة
الحل
- احذف السجلات التابعة أو أعد ربطها أولًاأزل أو حدّث حقل البحث على السجلات التابعة قبل حذف السجل الرئيسي، أو غيّر إعداد الحقل ليُمسح عند الحذف إذا كان ذلك هو السلوك الصحيح.
- راجع منطق المشغّلات وقواعد التحققابحث عن منطق يحظر الحذف في مشغّلات Apex (trigger.isDelete) وقواعد التحقق التي تُفعَّل عند الحذف.
- ألغِ الموافقات المعلّقة أو أكملهاأنهِ أي عملية موافقة جارية على السجل قبل محاولة حذفه.
إزاي Serpent بتمنع ده
تُبرز فحوصات ما قبل التنفيذ في Serpent السجلات والبيانات الوصفية التابعة التي قد تتأثر بتغييرات بيانات مهمة ما، بحيث تظهر عملية حذف محظورة قبل الإصدار بدلًا من فشلها في منتصف النشر. طالع مكتبة أخطاء نشر Salesforce.

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