Search the knowledge base, browse our resources, and visit our forum for more detailed information
Read in English | Lire en français | Leer en español آخر تحديث: 29 يوليو 2025
هناك أوقات قد ترغب فيها في إنشاء رقم تسلسلي فريد لكل نموذج في مشروع ما. تناقش هذه المقالة حلولاً بديلة مختلفة حول كيفية إنشاء أرقام تسلسلية فريدة باستخدام نوع السؤال calculate.
تعمل هذه الطريقة بشكل أفضل مع نماذج Enketo الإلكترونية. تستخدم دالة حسابية لإنشاء رقم تسلسلي فريد بناءً على التاريخ والوقت حتى الميلي ثانية الأولى. على الرغم من أن هذه الطريقة قد لا تلبي جميع احتياجاتك، إلا أنها يجب أن تعطيك توضيحاً لمدى قدرتك على توسيع استخدام دوال الحساب.
أنشئ نوع سؤال calculate في محرر النماذج أو XLSForm واستخدم الصيغة أدناه.
concat(substr(today(), 0, 4), substr(today(), 5, 7), substr(today(), 8, 10), substr(now(), 11, 13), substr(now(), 14, 16), substr(now(), 17, 19))
يمكن أن تعمل نفس الصيغة كسؤال integer عند العمل في XLSForm.

في المثال، عندما تعاين النموذج المنشور في Enketo، يجب أن تكون قادراً على رؤية الرقم التسلسلي ضمن سؤال الملاحظة كما هو موضح في الصورة أدناه:

يوضح هذا المثال كيفية إنشاء أرقام تسلسلية فريدة من متغيرات موجودة ومحددة مسبقاً في نموذجك باستخدام تعبير concat() في نوع سؤال calculate. المثال معروض كـ XLSForm، ولكن يمكن القيام به بسهولة في محرر النماذج.
ورقة الاستبيان
type |
name |
label |
calculation |
|---|---|---|---|
text |
Q1 |
اسم المنطقة |
|
text |
Q2 |
اسم المقاطعة |
|
text |
Q3 |
اسم التجمع |
|
text |
Q4 |
اسم القرية |
|
text |
Q5 |
الرقم التسلسلي للأسرة |
|
calculate |
Q1_C |
substr(${Q1}, 0, 3) |
|
calculate |
Q2_C |
substr(${Q2}, 0, 3) |
|
calculate |
Q3_C |
substr(${Q3}, 0, 3) |
|
calculate |
Q4_C |
substr(${Q4}, 0, 3) |
|
calculate |
ID |
concat(${Q1_C}, '-', ${Q2_C}, '-', ${Q3_C}, '-', ${Q4_C}, '-', ${Q5}) |
|
note |
note_id |
المعرف الفريد الخاص بك لهذا النموذج هو: ${ID} |
|
survey |
عندما تعاين المثال في نماذج Enketo الإلكترونية، سيتم عرض الرقم التسلسلي ضمن سؤال الملاحظة كما هو موضح في الصورة أدناه:

Did you find what you were looking for? Was the information clear? Was anything missing?
Share your feedback to help us improve this article!
KoboToolbox is maintained by Kobo Inc.