logologo
התחלה
מדריך
פיתוח
תוסף
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
התחלה
מדריך
פיתוח
תוסף
API
logologo
זרימת עבודה
סקירה כללית
התחלה מהירה

טריגר

סקירה כללית
אירועי טבלת נתונים
משימות מתוזמנות
אירוע לפני פעולה
אירוע אחרי פעולה
אירוע פעולה מותאם אישית
אישור
Webhook

צומת

סקירה כללית

AI

LLM

בקרת זרימה

תנאי
ענף רב-תנאי
לולאה
משתנה
ענף מקבילי
קריאה ל-Workflow
פלט זרימה
מיפוי משתני JSON
השהיה
סיום

חישוב

חישוב
חישוב תאריך
חישוב JSON

פעולת נתונים

הוספת נתונים
עדכון נתונים
שאילתת נתונים
מחיקת נתונים
פעולת SQL

טיפול ידני

טיפול ידני
אישור
העתק

סוג הרחבה

בקשת HTTP
סקריפט JavaScript
התראה
שליחת דוא'ל
תגובה
הודעת תגובה
משתנה
יומן ביצוע
ניהול גרסאות
אפשרויות מתקדמות

פיתוח הרחבות

סקירה כללית
הרחבת סוגי טריגרים
הרחבת סוגי צמתים
API Reference
Previous Pageענף רב-תנאי
Next Pageמשתנה
TIP

מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית

#לולאה

This feature is provided by the plugin «תהליך עבודה: צומת לולאה»

#מבוא

לולאה מקבילה למבני תחביר כמו for/while/forEach בשפות תכנות. כאשר יש צורך לחזור על פעולות מסוימות מספר פעמים או עבור אוסף נתונים (מערך), ניתן להשתמש בצומת לולאה.

#התקנה

זהו תוסף מובנה ואינו דורש התקנה.

#יצירת צומת

בממשק הגדרות תהליך העבודה, לחצו על כפתור הפלוס ("+") בזרימה כדי להוסיף צומת "לולאה":

Creating a Loop Node

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

#הגדרות צומת

20241016135326

#אובייקט הלולאה

הלולאה מטפלת בסוגי נתונים שונים של אובייקט הלולאה באופן שונה:

  1. מערך: זהו המקרה הנפוץ ביותר. בדרך כלל ניתן לבחור משתנה מהקשר תהליך העבודה, כגון תוצאות נתונים מרובות מצומת שאילתה, או נתוני יחסים מסוג אחד-לרבים שנטענו מראש. אם נבחר מערך, צומת הלולאה יעבור על כל איבר במערך, ויקצה את האיבר הנוכחי למשתנה מקומי בהקשר הלולאה עבור כל איטרציה.

  2. מספר: כאשר המשתנה הנבחר הוא מספר, הוא ישמש כמספר האיטרציות. הערך חייב להיות מספר שלם חיובי; מספרים שליליים לא ייכנסו ללולאה, והחלק העשרוני של מספר יתעלם. האינדקס של ספירת הלולאה במשתנה המקומי הוא גם הערך של אובייקט הלולאה. ערך זה מתחיל מ-0. לדוגמה, אם מספר אובייקט הלולאה הוא 5, האובייקט והאינדקס בכל לולאה יהיו: 0, 1, 2, 3, 4.

  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. צרו שלושה אוספים: מוצרים <-(1:m)-- פרטי הזמנה --(m:1)-> הזמנות. מודל הנתונים הוא כדלקמן:

    אוסף הזמנות

    שם שדהסוג שדה
    פרטי הזמנהאחד-לרבים (פרטי הזמנה)
    מחיר הזמנה כוללמספר

    אוסף פרטי הזמנה

    שם שדהסוג שדה
    מוצררבים-לאחד (מוצר)
    כמותמספר

    אוסף מוצרים

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

    Loop Node_Example_Trigger Configuration

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

    Loop Node_Example_Loop Node Configuration

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

    Loop Node_Example_Condition Node Configuration

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

    Loop Node_Example_Calculation Node Configuration

    Loop Node_Example_Update Stock Node Configuration

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

    Loop Node_Example_Update Order Detail Node Configuration

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

Loop Node_Example_Workflow Structure

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