كيفية إصلاح INVALID_CROSS_REFERENCE_KEY في عمليات نشر Salesforce
يشير مكون تم نشره إلى سجل أو حقل آخر باستخدام ID أو اسم API غير موجود في المؤسسة المستهدفة.
تظهر أثناء: التحقق من نشر metadata وأيضًا DML وقت التشغيل على record IDsالمعنى
يعني INVALID_CROSS_REFERENCE_KEY أن Salesforce حاول حل مرجع داخل metadata الخاصة بك، ID لسجل، اسم API لحقل، page layout، تعيين permission set، ولم يجد تطابقًا في المؤسسة المستهدفة. قد يكون المرجع نفسه صالحًا تمامًا في المؤسسة التي جاء منها؛ المشكلة أن المؤسسة المستلمة للنشر لا تملك بعد مكونًا مطابقًا، أو لن تملكه أبدًا.
يظهر هذا في سياقين مختلفين: وقت النشر، عندما يحل Metadata API مرجع مكون، ووقت التشغيل، عندما يمرر Apex أو الـ API معرّف سجل لا يقابل أي سجل يستطيع المستخدم المُشغِّل رؤيته في تلك المؤسسة.
الأسباب الشائعة
الحل
- استبدل المعرّفات الثابتة بعمليات بحثاستبدل أي معرّف سجل ثابت مكوّن من 18 حرفًا باستعلام SOQL، أو Custom Metadata Type، أو Custom Setting، بحيث يُحل المرجع لكل مؤسسة على حدة.
Id defaultRecordTypeId = Schema.SObjectType.Case .getRecordTypeInfosByDeveloperName() .get('Support_Request') .getRecordTypeId(); - اجمع سلسلة التبعيات الكاملةأدرج كل حقل ونوع سجل وlayout يعتمد عليه المكون في نفس عملية النشر، وانشر بترتيب التبعيات الصحيح.
- تحقق من تطابق اسم API تمامًاتأكد من أن اسم API للمكون المُشار إليه في المؤسسة المستهدفة مطابق تمامًا، بما في ذلك اللاحقة __c وبادئة الكائن.
إزاي Serpent بتمنع ده
يرسم Serpent AI خريطة التبعيات الكاملة قبل أن تصل أي مهمة إلى النشر، بحيث يظهر مرجع مفقود أو تمت إعادة تسميته كتحذير نطاق بدلاً من عملية نشر فاشلة. راجع مكتبة أخطاء نشر Salesforce للاطلاع على الأخطاء ذات الصلة.

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