كيفية إصلاح FIELD_FILTER_VALIDATION_EXCEPTION في عمليات نشر Salesforce

قيمة حقل بحث لا تستوفي مرشح البحث المُعد على ذلك الحقل.

يظهر أثناء: عمليات DML وقت التشغيل، أينما يتم تعيين قيمة بحث، بما في ذلك اختبارات Apex

المعنى

يعني FIELD_FILTER_VALIDATION_EXCEPTION أن علاقة بحث أو رئيسي-تفصيلي يتم ضبطها على قيمة تفشل في اجتياز مرشح البحث المُعرّف على ذلك الحقل. تقيّد مرشحات البحث السجلات التي يمكن اختيارها بناءً على معايير مثل الحالة أو نوع السجل، ويفرضها Salesforce عند كل حفظ، وليس فقط عبر الواجهة.

على عكس قاعدة التحقق، يُعد مرشح البحث على الحقل نفسه في الإعداد بدلاً من كتابته كصيغة، لذا يسهل نسيان وجوده حتى تقوم بيانات أولية أو نص برمجي للترحيل بضبط قيمة صُمم المرشح لرفضها.

التشخيص

الأسباب الشائعة

بيانات مُرحّلة ترتبط بسجل يفشل في اجتياز المرشح
ينشئ نص برمجي للترحيل بحثًا يشير إلى سجل لا تستوفي حالته أو نوعه معايير المرشح الحالية لمؤسسة الوجهة.
تم تشديد مرشح البحث بعد كتابة البيانات الأولية
تغيّرت معايير المرشح في إصدار لاحق، ولم يتم تحديث نصوص الاختبار أو البيانات الأولية الحالية لتتوافق معها.
إعداد الاختبار يشير إلى سجل تم استبعاده لاحقًا
يرتبط إعداد البيانات لاختبار Apex بسجل في حالة يستبعدها مرشح البحث الآن، مما يكسر الاختبار عند النشر.

الحل

  1. حدّث بيانات الترحيل أو البيانات الأولية لتلبية معايير المرشح الحالية
    وجّه البحث إلى سجل يستوفي مرشح البحث النشط لمؤسسة الوجهة.
  2. راجع مرشح البحث عند نشر بيانات تحتاج إلى استثناء
    خفف المرشح مؤقتًا إذا كانت عملية تحميل جماعي معينة تحتاج فعليًا إلى تجاوزه، ثم أعده كما كان بعد ذلك.
  3. دقّق مرشحات البحث بعد تغييرات نموذج الكائن
    كلما تغيّرت معايير مرشح ما، افحص الأتمتة الحالية وبيانات الاختبار بحثًا عن مراجع ستفشل الآن في اجتيازه.
من واقع الاستخدام

إزاي Serpent بتمنع ده

يتحقق Serpent من عمليات النشر مقابل البيانات الوصفية الحالية للمؤسسة الهدف قبل ترقية مهمة، لذا يظهر مرشح بحث تم تشديده في إصدار لاحق أثناء CI بدلاً من أثناء تحميل بيانات الإنتاج. راجع مكتبة أخطاء نشر Salesforce.

الـ metadata والبيانات في مسار نشر واحد داخل Serpent

الوقاية

وثّق معايير كل مرشح بحث بجانب الحقل
احتفظ بملاحظة موجزة في وصف الحقل أو في وثائق المخطط توضح ما يقيده المرشح، حتى تعرف عمليات الترحيل المستقبلية بوجود هذا القيد.
تعامل مع تغييرات مرشح البحث كتغييرات جذرية تستحق المراجعة
ضع علامة على أي عملية نشر تشدد معايير مرشح بحث لفحصها مقابل الأتمتة الحالية وبيانات الاختبار قبل الدمج.
أبقِ سجلات إعداد الاختبار متوافقة مع معايير المرشح الحالية
أعد مراجعة مصانع بيانات اختبار Apex كلما تغيّر مرشح بحث على كائن تلمسه، وليس فقط عند تغيّر الاختبار نفسه.
أسئلة شائعة

FIELD_FILTER_VALIDATION_EXCEPTION، تمت الإجابة

هل يمنع مرشح البحث إدراجات API بنفس الطريقة التي يمنع بها الواجهة؟
نعم. تُفرض مرشحات البحث عند كل حفظ بغض النظر عما إذا كان السجل قادمًا من الواجهة أو API أو تحميل بيانات.
هل مرشح البحث هو نفسه قاعدة التحقق؟
لا. يُعد مرشح البحث مباشرة على حقل البحث في الإعداد ويقيد السجلات التي يمكن اختيارها؛ أما قاعدة التحقق فهي فحص منفصل قائم على صيغة يمكنه الرجوع إلى أي حقل في السجل.
هل يمكن أن يكون مرشح البحث اختياريًا بدلاً من إلزامي؟
نعم. يدعم Salesforce كلاً من المرشحات الإلزامية، التي تحظر دائمًا السجلات غير المطابقة، والمرشحات الاختيارية، التي تحذر المستخدم في الواجهة فقط دون حظر إدراجات API أو Apex.

ابدأ مجانًا. بدون بطاقة ائتمان، وبدون تثبيت، وبدون التزام.

يتم الإعداد في أقل من 15 دقيقة. لا حاجة لتوظيف متخصص DevOps.

هل تريد معرفة كيف يمكنكم الشحن أسرع قبل البدء؟ لنتحدث

بدون التزام.