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

قيمة مكتوبة إلى حقل long text area أو rich text أطول من الحد الأقصى المحدد لذلك الحقل.

تظهر أثناء: DML وقت التشغيل، غالبًا في حمولات التكامل والترحيل

المعنى

TEXT_AREA_LENGTH_EXCEEDED هو مكافئ STRING_TOO_LONG لحقول long text area وrich text. يسمح نوع الحقل بحد أقصى أكبر بكثير، يصل إلى 131,072 حرفًا، لكن الطول المهيّأ لهذا الحقل المحدد لا يزال أصغر من القيمة التي يتم حفظها. يظهر هذا عادة في حقول الوصف وحقول rich text التي تُغذّى من عمليات تكامل أو ترحيل.

تخزّن حقول rich text محتواها كـ HTML، لذا يشمل عدد الأحرف الذي يفرضه Salesforce كل وسم تنسيق يضيفه المحرر، لا النص المرئي فقط، وهذا هو سبب أن فقرة تبدو قصيرة قد لا تزال تتسبب في هذا الخطأ بمجرد احتساب الخط العريض والروابط والقوائم.

التشخيص

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

لم يتم التحقق من المحتوى المُرحَّل مقابل الحد الأقصى المهيّأ للحقل
محتوى النظام المصدر، مثل حقل notes أو description قديم، أطول من الطول المهيّأ لحقل long text area المستهدف.
تنسيق rich text يضخّم عدد الأحرف
يُحتسب وسم HTML الذي يضيفه محرر rich text ضمن حد طول الحقل، لذا يمكن للمحتوى القصير بصريًا أن يتجاوز الحد بمجرد احتساب وسوم التنسيق.
حمولة التكامل تدمج عدة حقول
يبني تكامل أو Flow قيمة long text area بدمج عدة حقول مصدر أو سلسلة بريد إلكتروني كاملة، ويتجاوز الطول المجمّع الحد المستهدف.

الحل

  1. زد الطول المهيّأ للحقل إذا كان ذلك مناسبًا
    ارفع الحد الأقصى لطول long text area في metadata، حتى الحد الإجمالي للكائن، إذا كان المحتوى الأطول مشروعًا.
  2. أزل التنسيق قبل عدّ أو تخزين rich text
    حوّل rich text إلى نص عادي، أو احسب حساب الوسوم HTML الإضافية، عند التحقق من الطول قبل الحفظ.
  3. اقتطع أو لخّص قبل الدفع من تكامل
    قيّد القيمة عند الحد الفعلي للحقل في التكامل أو Flow، بدلاً من تمرير محتوى المصدر الكامل غير المحدود.
    String safeBody = fullBody.length() > field.getLength()
        ? fullBody.left(field.getLength())
        : fullBody;
من واقع الاستخدام

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

يتحقق Serpent AI من قيود طول الحقول كجزء من تحديد نطاق تغييرات بيانات المهمة، بحيث يتم اكتشاف قيمة rich text أو long text area كبيرة جدًا قبل أن يصل السجل الذي تنتمي إليه إلى مؤسسة مشتركة. راجع مكتبة أخطاء نشر Salesforce.

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

الوقاية

حدد حجم حقول long text area مع مراعاة إضافة HTML
خصص هامش طول إضافيًا لحقول rich text تحديدًا، لأن وسوم التنسيق تستهلك من نفس حد الأحرف الذي يستهلكه المحتوى المرئي.
قيّد حمولات التكامل عند الطول المُبلَّغ عنه من describe للحقل الهدف
اقرأ الطول الفعلي للحقل المستهدف عبر describe metadata في وسيط التكامل، بدلاً من ترميز حد مفترض بشكل ثابت قد ينحرف عن الواقع.
قيّم طول المحتوى المُرحَّل قبل التحميل، بما في ذلك الوسوم
قِس طول محتوى المصدر مع تضمين أي وسوم HTML أو rich text، وليس فقط طول النص العادي المرئي، قبل تعيينه إلى حقل في Salesforce.
أسئلة شائعة

TEXT_AREA_LENGTH_EXCEEDED، بالإجابات

هل ينطبق TEXT_AREA_LENGTH_EXCEEDED على حقل Description القياسي؟
نعم. إذا زدت طوله أو تجاوزت القيمة الواردة الطول المهيّأ للحقل في تلك المؤسسة، تفرض حقول long text area القياسية نفس حد الحقول المخصصة.
ما هو الحد الأقصى المطلق لطول حقل long text area؟
131,072 حرفًا هو سقف المنصة؛ يمكن تعيين الطول المهيّأ لحقل محدد إلى أي قيمة حتى ذلك الحد الأقصى عند إنشاء الحقل أو تعديله.
هل يمكنني قياس العدد الحقيقي لأحرف حقل rich text قبل الحفظ؟
نعم، يمكنك في Apex التحقق من طول سلسلة HTML الكاملة التي أنت على وشك تعيينها؛ لا يوجد فحص طول منفصل "للنص المرئي فقط" تعرضه المنصة، لذا قِس القيمة الفعلية التي تتم كتابتها.

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

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

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

بدون التزام.