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

טריגרים

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

צמתים

סקירה כללית

בינה מלאכותית

מודל שפה גדול

בקרת זרימה

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

חישוב

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

פעולות נתונים

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

עיבוד ידני

עיבוד ידני
אישור
העתק

סוגים מורחבים

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

פיתוח הרחבות

סקירה כללית
הרחבת סוגי טריגרים
הרחבת סוגי צמתים
API Reference
Previous Pageאירוע אחרי פעולה
Next Pageאישור
הודעת תרגום AI

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

#אירוע פעולה מותאמת אישית

Workflow: אירוע פעולה מותאמת אישיתCommunity Edition+

#מבוא

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

#יצירת תהליך עבודה

בעת יצירת תהליך עבודה, בחרו ב"אירוע פעולה מותאמת אישית":

创建“自定义操作事件”工作流

#הגדרת טריגר

#סוג הקשר

v.1.6.0+

סוגי הקשר שונים קובעים לאילו כפתורי בלוקים ניתן לקשור את תהליך העבודה:

  • ללא הקשר: כלומר אירוע גלובלי, ניתן לקשור לכפתורי פעולה בלוחות פעולה ובבלוקי נתונים;
  • רשומה בודדת: ניתן לקשור לכפתורי פעולה בבלוקי נתונים כגון שורות טבלה, טפסים, פרטים וכו';
  • רשומות מרובות: ניתן לקשור לכפתורי פעולות בכמות גדולה בטבלה.

触发器配置_上下文类型

#טבלת נתונים

כאשר סוג ההקשר הוא רשומה בודדת או רשומות מרובות, יש לבחור את טבלת הנתונים (אוסף) אליה יש לקשור את מודל הנתונים:

触发器配置_选择数据表

#נתוני קשר לשימוש

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

触发器配置_选择待使用的关系数据

שדות אלו ייטענו מראש באופן אוטומטי להקשר של תהליך העבודה לאחר הפעלת האירוע, לצורך שימוש בתהליך העבודה.

#הגדרת פעולה

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

#ללא הקשר

v1.6.0+

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

区块添加操作按钮_操作面板

区块添加操作按钮_日历

区块添加操作按钮_甘特图

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

按钮绑定工作流_操作面板

选择要绑定的工作流_无上下文

#רשומה בודדת

בכל בלוק נתונים, ניתן להוסיף כפתור "הפעל תהליך עבודה" בסרגל הפעולות עבור רשומה בודדת, כגון טפסים, שורות טבלה, פרטים וכו':

区块添加操作按钮_表单

区块添加操作按钮_表格行

区块添加操作按钮_详情

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

按钮绑定工作流

选择要绑定的工作流

לאחר מכן לחיצה על כפתור זה תפעיל את אירוע הפעולה המותאמת אישית:

点击按钮的触发结果

#רשומות מרובות

v1.6.0+

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

区块添加操作按钮_表格

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

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

20250215224436

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

20250215224736

#דוגמה

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

ראשית צרו אוסף "דוגמאות" ואוסף "תיעוד בדיקה", והזינו נתוני בדיקה בסיסיים לאוסף הדוגמאות:

示例_样品数据表

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

示例_创建工作流

בהגדרת הטריגר, בחרו באוסף "דוגמאות":

示例_触发器配置

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

示例_业务逻辑编排

טיפ

צומת "הודעת תגובה" יכול לשמש באירועי פעולה מותאמת אישית סינכרוניים כדי להחזיר הודעת הנחיה ללקוח. לא ניתן להשתמש בו במצב אסינכרוני.

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

示例_添加操作按钮

לאחר מכן בחרו בקישור תהליך עבודה בתפריט הגדרות הכפתור, ופתחו את חלון ההגדרות:

示例_打开绑定工作流弹窗

הוסיפו את תהליך העבודה שהופעל קודם לכן:

示例_选择工作流

לאחר השליחה, שנו את טקסט הכפתור לשם הפעולה, כגון "שלח לבדיקה", ותהליך ההגדרה הושלם.

בעת השימוש, בחרו כל שורת נתונים בטבלה ולחצו על כפתור "שלח לבדיקה" כדי להפעיל את אירוע הפעולה המותאמת אישית. כפי שהוגדר בלוגיקה, אם פרמטר המדד קטן מ-90, תוצג ההודעה הבאה:

示例_指标不满足送检

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

示例_送检成功

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

#קריאה חיצונית

הפעלת אירוע פעולה מותאמת אישית אינה מוגבלת לממשק המשתמש, אלא ניתנת להפעלה גם באמצעות HTTP API. באופן ספציפי, אירוע פעולה מותאמת אישית מספק סוג פעולה חדש לכל פעולות האוסף: trigger, שניתן לקרוא לו באמצעות ה-API הסטנדרטי של NocoBase.

טיפ

מכיוון שקריאה חיצונית דורשת גם זיהוי משתמש, בעת קריאה דרך HTTP API, בדומה לבקשות שנשלחות מהממשק, יש לספק פרטי אימות, כולל כותרת Authorization או פרמטר token (הטוקן שהתקבל בהתחברות), וכותרת X-Role (שם התפקיד הנוכחי של המשתמש).

#ללא הקשר

תהליך עבודה ללא הקשר דורש ביצוע פעולת trigger על משאב ה-workflows:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/workflows:trigger?triggerWorkflows=workflowKey"

#רשומה בודדת

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

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/samples:trigger/<:id>?triggerWorkflows=workflowKey"

מכיוון שפעולה זו מיועדת לנתון בודד, בעת קריאה לנתונים קיימים יש לציין את ה-ID של שורת הנתונים ולהחליף את <:id> ב-URL.

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

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "title": "Sample 1",
    "id": 91
  }'
  "http://localhost:3000/api/samples:trigger?triggerWorkflows=workflowKey"

עבור טופס עדכון, יש להעביר גם את ה-ID וגם את הנתונים המעודכנים:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "title": "Sample 1",
    "id": 91
  }'
  "http://localhost:3000/api/samples:trigger/<:id>?triggerWorkflows=workflowKey"

אם מועברים גם ID וגם נתונים, שורת הנתונים המתאימה ל-ID תיטען תחילה, ולאחר מכן המאפיינים באובייקט הנתונים שהועבר ידרסו את שורת הנתונים המקורית לקבלת הקשר הנתונים הסופי.

שימו לב

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

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

工作流_key_查看方式

לאחר קריאה מוצלחת, יופעל אירוע הפעולה המותאמת אישית של האוסף samples המתאים.

טיפ

בעת הפעלה דרך HTTP API, יש לשים לב למצב ההפעלה של תהליך העבודה והאם הגדרות האוסף תואמות, אחרת הקריאה עלולה להיכשל או להחזיר שגיאה.

#רשומות מרובות

בדומה לקריאה עבור רשומה בודדת, אך הנתונים המועברים דורשים רק מספר פרמטרי מפתח ראשי (filterByTk[]), ואין צורך להעביר את חלק ה-data:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/samples:trigger?filterByTk[]=1&filterByTk[]=2&triggerWorkflows=workflowKey"

קריאה זו תפעיל אירוע פעולה מותאמת אישית במצב רשומות מרובות, ותשתמש בנתונים עם מזהים 1 ו-2 כנתוני ההקשר של הטריגר.