إنتقل إلى المحتوى الرئيسي

إنشاء مجموعة خيارات

الهدف​

إنشاء مجموعة خيارات — قائمة مسمّاة بالخيارات، مثل حالة الفاتورة — وربط حقل بها، فينتقي المستخدمون من القائمة بدلًا من كتابة نص حر.

المتطلبات المسبقة​

  • أنت مسجّل الدخول بصفة مصمم لديه صلاحية تعديل الحل.
  • هناك بيئة وحل مختاران.

الخطوات​

  1. افتح الحل واختر مجموعات الخيارات في شريط التنقل الجانبي.

  2. اختر جديد.

  3. أدخل الاسم المعروض (على سبيل المثال، Invoice Status) والاسم المنطقي. تظهر بادئة الناشر تسميةً ثابتة — اكتب الجزء الذي يليها فقط (على سبيل المثال، invoicestatus).

  4. اختياريًا، أدخل وصفًا للغرض من المجموعة.

  5. تحت الخيارات، أدخل اسم كل خيار (على سبيل المثال، Draft وSent وPaid). اختر إضافة خيار لكل خيار إضافي. فالترتيب الذي تُدخلها به هو الترتيب الذي يراه المستخدمون.

  6. ولتغيير ذلك الترتيب، اسحب الخيار من المقبض في بداية صفّه. ومن دون فأرة: انقل التركيز إلى المقبض، واضغط Space لالتقاط الخيار، ومفاتيح الأسهم لتحريكه، ثم Space مرة أخرى لإفلاته.

    ولا تُعيد إعادة الترتيب الترقيم أبدًا: يحتفظ كل خيار بالقيمة المخصَّصة له، فلا تتأثر السجلات التي تحمله بالفعل.

  7. اختياريًا، امنح الخيار لونًا وأيقونة من مربع اللون وزر الأيقونة بجانب اسمه. وكلاهما اختياري ومستقل عن الآخر — فقد يحمل الخيار لونًا أو أيقونة أو كليهما أو لا شيء.

    يفتح مربع اللون لوحة صغيرة: اختر أحد الألوان السريعة الاثني عشر، أو استعمل الطيف تحتها لأي لون كان — اسحب على المربّع للدرجة وعلى الشريط لدرجة اللون، أو اكتب (أو الصق) رمزًا سِتّ‑عشريًّا في المربع. ويزيله مسح اللون أسفل اللوحة نفسها. ويفتح زر الأيقونة مُنتقي الأيقونات القابل للبحث، ومسح الأيقونة في تذييله. وفي الحالتين يقع المسح داخل المُنتقي — فلم يعد ثمة ✕ منفصل بجانب عنصر التحكم.

  8. اختر حفظ. تظهر قيمة كل خيار بجانبه بمجرد الحفظ.

اللون والأيقونة​

اللون والأيقونة هما ما يجعل الحالة تُقرأ بنظرة واحدة لا كلمةً كلمة: «متأخر» بالأحمر بين مئة سجل يعثر على نفسه.

وهما للعرض فقط. فما يخزّنه السجل هو قيمة الخيار، لذا فإعادة تلوين خيار لا تغيّر بيانات ولا تكسر شيئًا يعتمد عليه — وهما يسافران مع الحل، فالمجموعة المستوردة إلى Test تبدو كما صُمّمت لا كما لو وصلت بلا زينة.

وحيثما منحت مجموعةٌ أيًّا من خياراتها لونًا أو أيقونة، تعرضهما القائمةُ المنسدلة في النموذج — وتأخذ الأيقونةُ والتسمية اللونَ معًا، فيبرز الخيار الذي له لون بلا أيقونة كذلك. أما المجموعة التي لا تحمل خياراتها أيًّا منهما فتحتفظ بقائمة المتصفح نفسها، وهي ما يعطي الهاتف مُنتقيه المعتاد.

ربط حقل بالمجموعة​

  1. افتح الجدول من الجداول وانتقل إلى تبويب الحقول.
  2. اختر جديد، وأدخل الاسم المعروض والاسم المنطقي للحقل، واضبط نوع البيانات على مجموعة خيارات.
  3. اختر مجموعة الخيارات التي تأتي منها قيم الحقل.
  4. اختر حفظ. يصبح الحقل فعّالًا في الحال.

يظهر الحقل الآن بوصفه قائمة منسدلة بخيارات المجموعة في كل موضع يوضع فيه على نموذج، وتعرض العروض اسم الخيار بدلًا من قيمته المخزَّنة.

ما الذي يحدث خلف الكواليس​

يُمنح كل خيار قيمة — وهي رقم تخصصه المنصة، وهو ما تخزّنه قاعدة البيانات فعليًا مقابل السجل.

والقيم أرقام كبيرة تبدأ من مدى يخصّ ناشرك (على سبيل المثال، 270150000 و270150001 و…) بدلًا من العدّ من الصفر. وهذا مقصود: فلو بدأت خيارات كل ناشر من الصفر، لجعل استيراد حلَّي ناشرَين إلى بيئة واحدة كلمة «Draft» عند أحدهما تعني «Cancelled» عند الآخر. أما منح كل ناشر مداه الخاص فيجعل ذلك مستحيلًا.

ويترتب على هذا أمران يستحقان المعرفة:

  • لا يمكنك كتابة قيمة، ولستَ بحاجة إلى ذلك. فالمنصة هي التي تخصصها. ويمكنك رؤيتها — وهي مهمة إذا كان نظام خارجي يقرأ بياناتك — لكنها ليست من اختيارك.
  • إعادة تسمية خيار آمنة. فقيمته لا تتغير أبدًا. إذ تحمل السجلات القيمة لا الاسم، فتصحيح «Sent» إلى «Issued» يترك كل سجل موجود يعني تمامًا ما كان يعنيه من قبل.

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

ولستَ بحاجة إلى إضافة مجموعة الخيارات إلى الحل على حدة كي يعمل ذلك: فالمجموعة التي تنشئها بينما يكون هناك حل مختار تنتمي إليه، تمامًا كما ينتمي الجدول.

حل المشكلات​

  • «An option set needs at least one option.» — المجموعة التي لا يستطيع أحد الانتقاء منها غير قابلة للاستخدام. أضِف خيارًا واحدًا على الأقل قبل الحفظ.

  • «Option … appears more than once in this set.» — خياران يتشاركان اسمًا واحدًا، وهو ما يجعل التمييز بينهما مستحيلًا على من ينتقي أحدهما. أعد تسمية أحدهما أو أزِله.

  • «Option … cannot be removed: records still hold this value.» — هناك سجلات تستخدم ذلك الخيار. غيّر تلك السجلات إلى خيار آخر أولًا؛ فإزالته ستتركها تحمل قيمة لم تعد تعني شيئًا.

  • «Field … still uses this option set.» — هناك حقل مرتبط بالمجموعة. أزِل الحقل أو أعد توجيهه قبل حذف المجموعة.

  • «No option sets exist yet» عند إضافة حقل من نوع مجموعة خيارات. — أنشئ المجموعة أولًا؛ فالحقل لا يمكن أن يرتبط إلا بمجموعة موجودة بالفعل في هذه البيئة.

  • سجل محفوظ يُرفض برسالة «must be one of the … option set's values». — القيمة المكتوبة ليست من خيارات المجموعة. وهذا هو الخادم يرفض قيمة لا يستطيع تفسيرها؛ انتقِ خيارًا من القائمة المنسدلة.

  • يفشل الاستيراد برسالة «targets option set … which is not in the package». — هناك جدول في الحل يحمل حقل خيارات مجموعتُه ليست في الحزمة ولا موجودة أصلًا في البيئة الهدف. أضِف مجموعة الخيارات إلى الحل وصدّر إصدارًا جديدًا. ولم يُستورَد شيء، فالبيئة الهدف لم تُمسّ.

  • يفشل الاستيراد برسالة «…already exists here, numbered from … but the imported one is numbered from …». — الهدف يحتوي بالفعل على مجموعة بذلك الاسم المنطقي، لكنها تخصّ ناشرًا مختلفًا، فالمجموعتان مختلفتان وإن تصادف تشاركهما في الاسم. ولا يمكن دمجهما: فالخيارات المستورَدة مرقَّمة من مدى لا تعرف عنه السجلات الحالية شيئًا. أعد تسمية إحدى المجموعتين، أو استورد إلى بيئة لا تحتوي على الأخرى.

  • يفشل الاستيراد برسالة «Option … cannot be removed: records still hold this value». — المجموعة المستورَدة لم تعد تحتوي على خيار لا تزال سجلات في هذه البيئة تستخدمه. فالاستيراد يحدّث مجموعة موجودة، لكنه لن يحذف خيارًا من تحت السجلات التي تحمله. غيّر تلك السجلات إلى خيار آخر أولًا، أو أعد الخيار إلى المجموعة التي تستوردها.

    (أما مجموعة الخيارات الموجودة أصلًا في الهدف فتُحدَّث ولا تُرفض: إذ تُجدَّد التسميات، وتُضاف الخيارات الجديدة، وتُسقَط الخيارات المزالة غير المستخدمة. وتُطابَق الخيارات بقيمتها المخصَّصة، فإعادة تسمية خيار في المصدر تُحدّثه هنا بدلًا من إنشاء خيار ثانٍ.)

  • يفشل الاستيراد برسالة «Option value … is outside the publisher's range». — التعريف يحمل قيمًا تنتمي إلى مدى ناشر مختلف، وهو ما يعني عادةً أن الملف عُدِّل يدويًا. فالقيم من اختصاص المنصة؛ صدّر المجموعة من جديد بدلًا من تعديلها يدويًا.

سيناريوهات ذات صلة​