كيفية إصلاح MALFORMED_ID في عمليات نشر Salesforce
قيمة تم تمريرها حيث تتوقع Salesforce معرّف سجل ليست معرّفًا صالحًا على الإطلاق، وليست مجرد معرّف خاطئ.
يظهر أثناء: DML وSOQL وقت التشغيل، في تحميل البيانات والتكاملات واختبارات Apexالمعنى
يعني MALFORMED_ID أن القيمة التي استلمتها Salesforce ليست معرّف سجل صالحًا نحويًا: طول خاطئ، أحرف غير صالحة، أو قيمة ليست معرّفًا على الإطلاق. يختلف هذا عن INVALID_ID_FIELD، حيث يكون المعرّف صحيح التنسيق لكنه يشير إلى السجل أو الكائن الخطأ؛ يعني MALFORMED_ID أن السلسلة نفسها فاسدة.
يتكون معرّف Salesforce الصالح دائمًا من 15 أو 18 حرفًا أبجديًا رقميًا يبدأ ببادئة مفتاح كائن من ثلاثة أحرف؛ أي شيء أقصر أو أطول أو يحتوي على أحرف خارج [A-Za-z0-9] يفشل في هذا الفحص قبل أن تحاول Salesforce حتى حله إلى سجل.
الأسباب الشائعة
الحل
- تحقق من صحة تنسيق المعرّف قبل الاستخدامتحقق من أن أي معرّف مبني ديناميكيًا أو مستورد يتكون من 15 أو 18 حرفًا أبجديًا رقميًا بالضبط قبل تمريره إلى DML أو حقل بحث.
Boolean looksLikeId = idValue != null && idValue.isAlphanumeric() && (idValue.length() == 15 || idValue.length() == 18); - أعد تصدير ملفات تحميل البيانات دون إعادة تنسيقصدّر ملفات CSV كنص عادي وعطّل التنسيق التلقائي في جداول البيانات الذي قد يزيل أو يغيّر أعمدة المعرّف.
- لا تُضمّن معرّفات عنصر نائب بشكل ثابت في إعداد الاختبار أبدًااستعلم عن معرّف سجل حقيقي في إعداد الاختبار بدلاً من إسناد سلسلة حرفية إلى متغير من نوع Id.
إزاي Serpent بتمنع ده
يحلّ Serpent AI المراجع عبر مفتاح العمل بدلاً من سلاسل المعرّفات الخام عند نقل التغييرات بين البيئات، بحيث لا يصل معرّف مشوّه أو ثابت في الكود أبدًا إلى نشر المؤسسة الهدف. راجع مكتبة أخطاء نشر Salesforce.

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