מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית
לולאה מקבילה למבני תחביר כמו 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)-> הזמנות. מודל הנתונים הוא כדלקמן:
אוסף הזמנות
| שם שדה | סוג שדה |
|---|---|
| פרטי הזמנה | אחד-לרבים (פרטי הזמנה) |
| מחיר הזמנה כולל | מספר |
אוסף פרטי הזמנה
| שם שדה | סוג שדה |
|---|---|
| מוצר | רבים-לאחד (מוצר) |
| כמות | מספר |
אוסף מוצרים
| שם שדה | סוג שדה |
|---|---|
| שם מוצר | טקסט חד-שורי |
| מחיר | מספר |
| מלאי | מספר שלם |
צרו תהליך עבודה. עבור הטריגר, בחרו "אירוע אוסף", ובחרו באוסף "הזמנות" כדי להפעיל "לאחר הוספת רשומה". עליכם גם להגדיר טעינה מוקדמת של נתוני היחסים של אוסף "פרטי הזמנה" ואוסף המוצרים תחת הפרטים:

צרו צומת לולאה ובחרו את אובייקט הלולאה כ"נתוני טריגר / פרטי הזמנה", מה שאומר שהוא יעבד כל רשומה באוסף פרטי ההזמנה:

בתוך צומת הלולאה, צרו צומת "תנאי" כדי לבדוק אם מלאי המוצר מספיק:

אם המלאי מספיק, צרו צומת "חישוב" וצומת "עדכון רשומה" בענף ה"כן" כדי לעדכן את רשומת המוצר המתאימה עם המלאי המופחת המחושב:


אחרת, בענף ה"לא", צרו צומת "עדכון רשומה" כדי לעדכן את הסטטוס של פרטי ההזמנה ל"לא חוקי":

מבנה תהליך העבודה הכולל הוא כדלקמן:

לאחר הגדרה והפעלה של תהליך עבודה זה, כאשר נוצרת הזמנה חדשה, המערכת תבדוק אוטומטית את מלאי המוצרים בפרטי ההזמנה. אם המלאי מספיק, הוא יופחת; אחרת, המוצר בפרטי ההזמנה יעודכן ללא חוקי (כדי שניתן יהיה לחשב סכום הזמנה חוקי).