تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.
تُعادل حلقة التكرار في سير العمل البنى البرمجية مثل for وwhile وforEach في لغات البرمجة. يمكنك استخدام عقدة حلقة التكرار عندما تحتاج إلى تكرار عمليات معينة لعدد محدد من المرات، أو لتنفيذها على مجموعة بيانات (مصفوفة).
هذه إضافة مدمجة، ولا تتطلب التثبيت.
في واجهة إعدادات سير العمل، انقر على زر الإضافة ("+") في المسار لإضافة عقدة "حلقة التكرار":

بعد إنشاء عقدة حلقة التكرار، سيتم إنشاء فرع داخل الحلقة. يمكنك إضافة أي عدد من العقد داخل هذا الفرع. يمكن لهذه العقد استخدام المتغيرات من سياق سير العمل، بالإضافة إلى المتغيرات المحلية من سياق حلقة التكرار، مثل كائن البيانات الذي يتم تكراره في كل دورة، أو فهرس عدد التكرارات (يبدأ الفهرس من 0). يقتصر نطاق المتغيرات المحلية على داخل حلقة التكرار. إذا كانت هناك حلقات تكرار متداخلة، يمكنك استخدام المتغيرات المحلية للحلقة المحددة في كل مستوى.

تتعامل حلقة التكرار مع أنواع البيانات المختلفة لكائن حلقة التكرار بطرق مختلفة:
مصفوفة: هذه هي الحالة الأكثر شيوعًا. يمكنك عادةً اختيار متغير من سياق سير العمل، مثل نتائج البيانات المتعددة من عقدة استعلام، أو بيانات العلاقة المتعددة التي تم تحميلها مسبقًا. إذا تم اختيار مصفوفة، فستقوم عقدة حلقة التكرار بالمرور عبر كل عنصر في المصفوفة، وفي كل دورة، سيتم تعيين العنصر الحالي لمتغير محلي في سياق حلقة التكرار.
رقم: عندما يكون المتغير المحدد رقمًا، سيتم استخدامه كعدد للتكرارات. يجب أن تكون قيمة الرقم عددًا صحيحًا موجبًا؛ لن تدخل الأرقام السالبة الحلقة، وسيتم تجاهل الجزء العشري من الرقم. فهرس عدد التكرارات في المتغير المحلي هو أيضًا قيمة كائن حلقة التكرار. تبدأ هذه القيمة من 0. على سبيل المثال، إذا كان رقم كائن حلقة التكرار هو 5، فسيكون الكائن والفهرس في كل دورة على التوالي: 0، 1، 2، 3، 4.
سلسلة نصية: عندما يكون المتغير المحدد سلسلة نصية، سيتم استخدام طولها كعدد للتكرارات، مع معالجة كل حرف في السلسلة النصية حسب الفهرس.
أخرى: تُعامل الأنواع الأخرى من القيم (بما في ذلك أنواع الكائنات) ككائن حلقة تكرار ذي عنصر واحد، وستتكرر مرة واحدة فقط. عادةً لا تتطلب هذه الحالة استخدام حلقة تكرار.
بالإضافة إلى اختيار متغير، يمكنك أيضًا إدخال قيم ثابتة مباشرة لأنواع الأرقام والسلاسل النصية. على سبيل المثال، إدخال 5 (نوع رقمي) سيجعل عقدة حلقة التكرار تتكرر 5 مرات. إدخال abc (نوع سلسلة نصية) سيجعل عقدة حلقة التكرار تتكرر 3 مرات، مع معالجة الأحرف a وb وc على التوالي. في أداة اختيار المتغيرات، اختر النوع المطلوب للقيمة الثابتة.
اعتبارًا من الإصدار v1.4.0-beta، تمت إضافة خيارات متعلقة بشروط حلقة التكرار. يمكنك تمكين شروط حلقة التكرار في إعدادات العقدة.
الشرط
على غرار إعدادات الشرط في عقدة الشرط، يمكنك دمج الإعدادات واستخدام المتغيرات من حلقة التكرار الحالية، مثل كائن حلقة التكرار، وفهرس حلقة التكرار، وما إلى ذلك.
توقيت التحقق
على غرار بنيتي while وdo/while في لغات البرمجة، يمكنك اختيار تقييم الشرط المُعد إما قبل بدء كل دورة من الحلقة أو بعد انتهائها. يسمح تقييم الشرط اللاحق بتنفيذ العقد الأخرى داخل جسم الحلقة لدورة واحدة قبل التحقق من الشرط.
عند عدم استيفاء الشرط
على غرار عبارتي break وcontinue في لغات البرمجة، يمكنك اختيار الخروج من الحلقة، أو المتابعة إلى الدورة التالية.
اعتبارًا من الإصدار v1.4.0-beta، عند فشل تنفيذ عقدة داخل حلقة التكرار (بسبب عدم استيفاء الشروط، أو حدوث أخطاء، وما إلى ذلك)، يمكنك تحديد المسار اللاحق من خلال الإعدادات. يتم دعم ثلاث طرق للمعالجة:
throw في البرمجة)break في البرمجة)continue في البرمجة)الخيار الافتراضي هو "الخروج من سير العمل"، ويمكن تغييره حسب الحاجة.
على سبيل المثال، عند تقديم طلب شراء، تحتاج إلى التحقق من المخزون لكل منتج في الطلب. إذا كان المخزون كافيًا، يتم خصم المخزون؛ وإلا، يتم تحديث المنتج في تفاصيل الطلب على أنه غير صالح.
أنشئ ثلاث مجموعات: المنتجات <-(1:m)-- تفاصيل الطلب --(m:1)-> الطلبات. نموذج البيانات كالتالي:
مجموعة الطلبات
| اسم الحقل | نوع الحقل |
|---|---|
| تفاصيل الطلب | علاقة واحد لمتعدد (تفاصيل الطلب) |
| إجمالي سعر الطلب | رقم |
مجموعة تفاصيل الطلب
| اسم الحقل | نوع الحقل |
|---|---|
| المنتج | علاقة متعدد لواحد (المنتج) |
| الكمية | رقم |
مجموعة المنتجات
| اسم الحقل | نوع الحقل |
|---|---|
| اسم المنتج | نص سطر واحد |
| السعر | رقم |
| المخزون | عدد صحيح |
أنشئ سير عمل. بالنسبة للمشغل، اختر "حدث مجموعة البيانات"، واختر مجموعة "الطلبات" ليتم تشغيله "عند إضافة سجل جديد". تحتاج أيضًا إلى تهيئة تحميل مسبق لبيانات العلاقة لمجموعة "تفاصيل الطلب" ومجموعة "المنتجات" ضمن التفاصيل:

أنشئ عقدة حلقة تكرار واختر كائن حلقة التكرار ليكون "بيانات المشغل / تفاصيل الطلب"، مما يعني أنها ستعالج كل سجل في مجموعة تفاصيل الطلب:

داخل عقدة حلقة التكرار، أنشئ عقدة "شرط" للتحقق مما إذا كان مخزون المنتج كافيًا:

إذا كان كافيًا، ففي فرع "نعم"، أنشئ "عقدة حساب" وعقدة "تحديث سجل" لتحديث سجل المنتج المقابل بالمخزون المخصوم المحسوب:


وإلا، ففي فرع "لا"، أنشئ عقدة "تحديث سجل" لتحديث حالة تفاصيل الطلب إلى "غير صالح":

الهيكل العام لسير العمل هو كما يلي:

بعد تهيئة وتفعيل سير العمل هذا، عند إنشاء طلب جديد، سيتم التحقق تلقائيًا من مخزون المنتجات في تفاصيل الطلب. إذا كان المخزون كافيًا، فسيتم خصمه؛ وإلا، سيتم تحديث المنتج في تفاصيل الطلب على أنه غير صالح (حتى يمكن حساب إجمالي طلب صالح).