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

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

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

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

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



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


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



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


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

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

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

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

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

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

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

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

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

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

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

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

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

בשלב זה, אירוע פעולה מותאמת אישית פשוט הושלם. בדומה לכך, עבור עסקים עם פעולות מורכבות כמו עיבוד הזמנות או הגשת דוחות, ניתן ליישם זאת באמצעות אירועי פעולה מותאמים אישית.
הפעלת אירועי פעולה מותאמים אישית אינה מוגבלת לפעולות בממשק המשתמש; ניתן להפעיל אותם גם באמצעות קריאות HTTP API. באופן ספציפי, אירועי פעולה מותאמים אישית מספקים סוג פעולה חדש לכל פעולות האוסף להפעלת תהליכי עבודה: trigger, שניתן לקרוא לו באמצעות ה-API הסטנדרטי של NocoBase.
תהליך עבודה המופעל על ידי כפתור, כפי שבדוגמה, ניתן לקרוא לו כך:
מכיוון שפעולה זו מיועדת לרשומה בודדת, בעת קריאה לנתונים קיימים, עליכם לציין את ה-ID של שורת הנתונים, ולהחליף את החלק <:id> ב-URL.
אם הקריאה מיועדת לטופס (כמו הוספה או עדכון), עבור טופס שיוצר נתונים חדשים ניתן לא להעביר ID, אך יש להעביר את הנתונים שנשלחו כנתוני הקשר לביצוע:
עבור טופס עדכון, יש להעביר גם את ה-ID של שורת הנתונים וגם את הנתונים המעודכנים:
אם הועברו גם ID וגם נתונים, שורת הנתונים המתאימה ל-ID תיטען תחילה, ולאחר מכן התכונות מאובייקט הנתונים שהועבר ישמשו לדריסה של שורת הנתונים המקורית כדי לקבל את הקשר נתוני ההפעלה הסופי.
אם הועברו נתוני אסוציאציה, הם גם יידרסו. יש לנהוג בזהירות יתרה בעת טיפול בנתונים נכנסים אם הוגדרה טעינה מראש של פריטי נתוני אסוציאציה, כדי למנוע דריסה בלתי צפויה של נתוני אסוציאציה.
בנוסף, פרמטר ה-URL triggerWorkflows הוא מפתח תהליך העבודה; מספר מפתחות תהליך עבודה מופרדים בפסיקים. מפתח זה ניתן להשגה על ידי ריחוף עם העכבר מעל שם תהליך העבודה בחלק העליון של קנבס תהליך העבודה:

לאחר קריאה מוצלחת, יופעל אירוע הפעולה המותאמת אישית עבור אוסף ה-samples המתאים.
מכיוון שקריאות חיצוניות דורשות גם זיהוי משתמש, בעת קריאה באמצעות HTTP API, בדומה לבקשות הנשלחות מממשק רגיל, עליכם לספק פרטי אימות. זה כולל את כותרת הבקשה Authorization או פרמטר token (הטוקן שהתקבל לאחר התחברות), ואת כותרת הבקשה X-Role (שם התפקיד הנוכחי של המשתמש).
אם אתם צריכים להפעיל אירוע עבור נתוני אסוציאציה מסוג "אחד לרבים" (to-one association data) ("רבים לרבים" אינו נתמך כרגע) בפעולה זו, תוכלו להשתמש ב-! בפרמטר כדי לציין את נתוני ההפעלה של שדה האסוציאציה:
לאחר קריאה מוצלחת, יופעל אירוע הפעולה המותאמת אישית עבור אוסף ה-categories המתאים.
בעת הפעלת אירוע פעולה באמצעות קריאת HTTP API, עליכם לשים לב גם למצב ההפעלה של תהליך העבודה ולוודא שהגדרות האוסף תואמות; אחרת, הקריאה עלולה להיכשל או לגרום לשגיאה.