كيفية إصلاح INVALID_FIELD في عمليات نشر Salesforce
يشير استعلام SOQL أو صيغة أو أتمتة إلى اسم API لحقل غير موجود على ذلك الكائن في المؤسسة الهدف.
يظهر أثناء: تجميع Apex أو تنفيذ SOQL، غالبًا داخل تشغيل الاختباراتالمعنى
يعني INVALID_FIELD أن Salesforce لم يتمكن من العثور على اسم الحقل المستخدم في استعلام SOQL أو صيغة أو أتمتة على الكائن الذي تم الاستعلام عنه، في المؤسسة التي يعمل فيها النشر أو الاختبار. على عكس MISSING_FIELD الذي يخص عروض القوائم والتقارير تحديدًا، يظهر INVALID_FIELD غالبًا داخل اختبارات Apex أو استعلامات SOQL أو حقول الصيغ في وقت التجميع أو التنفيذ.
بما أن Apex يُجمَّع مقابل المخطط الفعلي للمؤسسة وقت النشر، فإن استعلامًا يشير إلى حقل لم يصل بعد يُفشل تجميع الفئة بأكملها، وليس طريقة الاختبار الواحدة فقط، وهذا سبب توقف هذا الخطأ لعدد أكبر بكثير من الاختبارات من ذلك الذي يحتاج الحقل فعليًا.
الأسباب الشائعة
الحل
- انشر الحقل قبل الكود الذي يستعلم عنهرتّب نشر الحقل قبل أي كود Apex أو Flow يشير إليه في استعلام SOQL.
- حدّث كل مرجع بعد إعادة التسميةابحث في Apex وFlow وحقول الصيغ عن اسم API القديم واستبدله بالاسم الحالي.
grep -rln "Legacy_Score__c" force-app/main/default/ - تأكد أن الحقل موجود على الكائن الذي يتم الاستعلام عنهتحقق من كائن الحقل في Setup مقابل الكائن في جملة SOQL FROM أو سياق الصيغة.
إزاي Serpent بتمنع ده
يحدد Serpent AI نطاق المهمة بناءً على كل ما تلمسه، بما في ذلك الحقول التي يستعلم عنها اختبار Apex أو Flow، بحيث يُشحن الحقل الذي يعتمد عليه اختبار ضمن نفس المهمة بدلًا من مهمة لاحقة. راجع مكتبة أخطاء نشر Salesforce.

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