עריכת / יצירת מסנן


שלב 2/3 - הגדרת תנאי המסנן

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

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

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


ממשק החלון

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

הגדרות תנאי המסנן - שלב 2/3

לחצני הפעולה

לחצני הפעולה הנמצאים בצדו השמאלי של החלון משמשים כלחצני הוראות המשפיעים על עץ ההתניות.
הלחצנים נפתחים ונסגרים ללחיצה בהתאם להתניה / לענף שנבחר בעץ ההתניות.

להלן טבלת הסבר אודות תפקיד ומשמעות כל לחצן:
Add Table Query לחצן זה מאפשר הוספת טבלה נוספת למסנן מתוך רשימת הטבלאות הקיימות במסד הנתונים.
* הלחצן פעיל רק כאשר לוחצים ומסמנים בראש עץ ההתניות את הכותרת "Tables by Alogarithm Order".
* לא מומלץ להוסיף לעץ ההתניות את אותה הטבלה יותר מפעם אחת.
* לאחר שהוספה טבלה נוספת לעץ וודא שהוגדר לה המאגרים הנדרשים בשדה "From Storage Folders (N/A/D)".
Add Where Condition לחצן זה מוסיף תנאי חדש למסנן, והוא מתווסף כענף בתחתית עץ ההתניות.
Link to Prev Table Field לחצן זה מוסיף קישור בין הטבלה המסומנת בעץ לטבלה נבחרת מעליה.
פעולה זו נדרשת כאשר יוצרים מסנן עם יותר מטבלה אחת!
כל טבלה ניתנת לקישור רק אל טבלה אחרת הנמצאת מעליה בעץ ההתניות.
() Close Group And Start A New One הפרדה בין מקבצי התניות.
כאשר לא מיישמים את הפונקציה הנוכחית, שרת הנתונים מפענח את תנאי המסנן למקבץ התניות אחד ארוך.
לחצן זה מורה לשרת לפצל ולהפריד את ההתניות לכדי מקבצים שונים, עם האפשרות לקשר בין המקבצים על ידי אחד משערי התנאים: AND / OR / AND NOT / OR NOT.
לדוגמה, נניח שבעץ ההתניות היו התנאים הבאים:
תאריך יצירה = X     וגם הליד הגיע דרך = Y     וגם טלפון =! ריק
במידה ויוסף הסימן () עם הלוגיקה OR מעל התנאי האחרון בעץ, השרת יפענח את התניות המסנן באופן הבא:
(תאריך יצירה = X   וגם הליד הגיע דרך = Y) או (טלפון =! ריק)
Duplicate Condition שכפול התנאי המסומן והוספה שלו אל סוף עץ ההתניות.
Move Up / Down מאפשר הזזת התניה מקום אחד במעלה או מורד עץ ההתניות.
סמן את ההתניה הרצויה בלחיצת עכבר ולחץ על הלחצן להזזתה. ההזזה מותרת רק בתוך אותה הטבלה.
Remove Node מחיקת התניה / טבלה מסומנים.
מאפשר מחיקה יחידה בכל פעם. סמן את ההתניה או את שם טבלה למחיקה ולחץ על הלחצן.


אזור הגדרת ההתניה

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

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

שדה הסבר
* From Storage Folders הגדרת עבודה מול טבלה בלבד.
הגדרת מקום החיפוש - מורה לשרת הנתונים באיזה מאגר של אותה הטבלה לבצע את החיפוש.
שרת הנתונים מחזיק 3 מאגרים לכל טבלה והם:
  • N = Normal - מכיל את כלל הנתונים שבשגרה (מאגר ברירת המחדל, רוב השאילתות יבוצעו מול מאגר זה).
  • A = Archive - מאגר הארכיון מכיל נתונים שהועברו אליו מתוך בחירה של מנהל המערכת או ע"י מערכת האוטומציה.
    לדוגמה: פגישות שמועדם עבר מעל 6 חודשים עוברים למאגר הארכיון אוטומטית ע"י המערכת במסגרת טיוב הנתונים.
  • D = Deleted - מאגר המחוקים מכיל רשומות שנמחקו ע"י המשתמש במסגרת השימוש בתוכנה.
* Logic Gate הגדרת חיבור ההתניה הנוכחית להתניה הקודם. בחירת אופן החיבור בין התנאים הבאים:
  • AND - חיבור בהתניית "וגם".
  • OR - חיבור בהתניית "או".
  • AND NOT - חיבור בהתניית "ולא".
  • OR NOT - חיבור בהתניית "או לא".
* Field Name בשדה זה חובה לבחור את שם השדה שעליו יבוצע החיפוש (שדה המטרה).
* Where Function בשדה זה חובה לבחור את התנאי הלוגי שיופעל בחיפוש הערכים:
  • Above Value - גדול ושווה מהערך המבוקש (הסימן: <= ).
  • Below Value - קטן ושווה מהערך המבוקש (הסימן: >= ).
  • Same Value - שווה בדיוק לערך המבוקש (הסימן: = ).
  • Contain String - מכיל את הערך / השוואה חלקית - מחפש את הערך שהוזן בשדה "Value" כחלק מהמחרוזת הקיימת בשדה המבוקש.
    לוגיקה זו תופעל כאשר מחפשים טקסט/STRING כחלק מתוך כלל המידע הקיים בשדה המטרה.
  • String Search - להשלים! חיפוש הערך המבוקש כחלק מהערך המלא.
  • Phonetic String Search - להשלים! חיפוש ערך דומה לערך המבוקש (מציאת ערכים הדומים לערך גם בחלקם).
  • Date in Period - להשלים! הגדרת מסגרת זמן.
  • Contain Group Items - מציאת הערך/ים מתוך קבוצת ערכים. מיועד עבור שדות מסוג GROUP המכילים תיבות בחירה מרובות.
  • Compare Between Fields - מאפשר השוואה בין שדות הנמצאים באותה הטבלה. אפשרות זו תפתח לבחירה את השדות הבאים:
    Equation - בחירת תנאי ההשוואה בין השדות.
    Compare to Field Name - בחירת השדה השני מהטבלה לביצוע ההשוואה.
* לידיעתך, כאשר בוחרים באחד משלושת התנאים: "Contain String" או "String Search" או "Phonetic String Search", חובה למלא ערך בשדה "Value" או לחשוף את השדה למילוי ע"י המשתמש, אחרת המסנן יציג תקלה או שלא יציג נתונים כלל.
Value בשדה זה אפשר להזין את הערך הנדרש עבור התנאי.
שדה ה- "Value" נדרש למילוי ברוב המקרים, למעט מקרים שבהם נבחר ערך בשדה "Default Value By Function". במקרה כזה, ה- Value יכול לשמש גם כשדה השלמה לערך שנבחר בשדה "Default Value By Function".
לדוגמה, נניח שרוצים ליצור התניה המפלחת נתונים על לקוחות שתאריך יצירתם היה עד לפני יומיים, אזי שבשדה "Default Value By Function" יש לבחור בערך "Today" ובשדה Value נזין את הערך 2-.
Default Value By Function שדה זה מאפשר לבחור "ערך מייצג".
השדה אינו חובה, אך ברגע שמשתמש ממלא בו ערך, הוא מחליף את השדה Value.
להלן רשימת "ערכים מייצגים" לבחירה ומשמעותם:
  • NOW - מחזיר ערך הבנוי מהתאריך והשעה הנוכחית ברזולוציית השניה (נכון למועד הרצת המסנן).
  • Today - מחזיר ערך של התאריך הנוכחי (נכון למועד הרצת המסנן).
  • StartOfaYear - מחזיר ערך תאריך של ה- 01/01 של שנת הרצת המסנן.
  • EndOfaYear - מחזיר ערך תאריך של ה- 31/12 של שנת הרצת המסנן.
  • StartOfaMonth - מחזיר ערך תאריך של ה- 01/01 של חודש הרצת המסנן.
  • EndOfaMonth - מחזיר ערך תאריך של היום האחרון באותו החודש בו הופעל המסנן.
  • StartOfaWeek - מחזיר ערך תאריך של היום הראשון (א') לאותו השבוע למועד הרצת המסנן.
  • EndOfaWeek - מחזיר ערך תאריך של היום האחרון (ש') לאותו השבוע בו הופעל המסנן.
  • StartOfDualMonth - מחזיר ערך תאריך של היום הראשון של זוג החודשים הנוכחי שהחל ביחס למועד הרצת המסנן.
    כאשר: ינואר, פברואר = זוג חודשים | מרץ, אפריל = זוג חודשים | מאי, יוני = זוג חודשים... וכך הלאה.
  • EndOfDualMonth - מחזיר ערך תאריך של היום האחרון של זוג החודשים הנוכחי שהחל ביחס למועד הרצת המסנן.
    כאשר: ינואר, פברואר = זוג חודשים | מרץ, אפריל = זוג חודשים | מאי, יוני = זוג חודשים... וכך הלאה.
  • StartOfaQuarter - מחזיר ערך תאריך של היום הראשון של הרבעון הנוכחי ביחס למועד הרצת המסנן.
  • EndOfaQuarter - מחזיר ערך תאריך של היום האחרון של הרבעון הנוכחי ביחס למועד הרצת המסנן.
  • Curr_User_Name - מחזיר את שם המשתמש הנוכחי שהריץ את המסנן.
  • User_Agency - מחזיר את שם הסניף אליו משויך המשתמש הנוכחי שהריץ את המסנן.
  • User_Country - מחזיר את שם המדינה אליה משויך המשתמש הנוכחי שהריץ את המסנן.
  • User_Authorization - מחזיר את שם קבוצת ההרשאה של המשתמש הנוכחי שהריץ את המסנן.
  • Bookkeeping_Currency - מחזיר את שם מטבע ברירת המחדל המוגדר לתוכנה.
  • Treasury_Station_ID - מחזיר את מספר הקופה הנוכחי שבה המשתמש הריץ את המסנן.
  • User_Department - מחזיר את שם המחלקה של המשתמש הנוכחי שהריץ את המסנן.
Expose this field with the Caption יש למלא שדה זה על מנת לאפשר את חשיפת השדה למשתמש המריץ את המסנן, על מנת שיוכל להזין בו את הערך הרצוי לחיפוש.
שים לב, במידה ולא הוגדר שדה זה (לא נחשף), חובה להגדיר ערך קבוע בשדה "Value" ו/או בשדה "Default Value By Function". אחרת, המסנן יציג הודעת שגיאה או שלא יציג תוצאות בכלל.
Special Editor Function באמצעות שדה זה, יוצר המסנן יכול לקבוע כיצד ומה יוכל המשתמש לבחור או להזין לשדה המטרה בזמן הרצת המסנן.
להלן פירוט הערכים האפשריים לבחירה:
  • Just Edit UI - מאפשר למשתמש לבצעה הזנה/הקלדה ידנית בלבד.
  • Just Select UI - מאפשר למשתמש לבחור ערך אחד מרשימת הערכים הקיימת בשדה המטרה.
  • Select Single Hyper User - מאפשר למשתמש לבחור משתמש יחיד מתוך עץ המשתמשים.
  • Select Multiple Hyper Users - מאפשר למשתמש לבחור מספר משתמשים מתוך עץ המשתמשים.
  • Select Single Employee - מאפשר למשתמש לבחור עובד יחיד מתוך עץ המשתמשים.
  • Select Multiple Employees - מאפשר למשתמש לבחור מספר עובדים מתוך עץ המשתמשים.
  • String Select & Edit UI - מאפשר למשתמש לבחור ערך טקסטואלי יחיד מתוך רשימת ערכים או להזין ערך בהקלדה ידנית אל שדה המטרה.
  • Select Client - מאפשר למשתמש לחפש ולבחור כרטיס לקוח.
  • Select Supplier - מאפשר למשתמש לחפש ולבחור כרטיס ספק.
  • Select Middleman - מאפשר למשתמש לחפש ולבחור כרטיס מתווך ממערכת הספקים.
  • Select Accounting Entity - מאפשר למשתמש לחפש ולבחור בישות אחת המוכרת לתוכנה כישות הרשומה במערכת הנהלת החשבונות.
    לדוגמה: כרטיס לקוח, כרטיס ספק, כרטיס הנהלת חשבונות ופרויקט.
  • Select Product - מאפשר למשתמש לחפש ולבחור מוצר/מ"קט מתוך טבלת המוצרים של הייפר.
Get Status Index לחצן המציג ליוצר המסנן את שמות הערכים האפשריים לבחירה עבור שדות מסוג Status.
רק אם בתחתית החלון האשף יצוין כי שדה המטרה הנו מסוג Status וגם הוזנו לו ערכים לבחירה, אזי בעת לחיצה על הלחצן המדובר יפתח חלון המסביר את הערכים האפשריים לבחירה.


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


דוגמה ליצירת התניה

הדוגמה הבאה ממחישה כיצד לייצר התניה המאתרת בטבלת הלקוחות את כל רשומות הלקוחות שנוצרו בטווח תאריכים.
  1. בעץ ההתניות לחץ/בחר את טבלת Clients והוסף התניה חדשה לעץ על ידי לחיצה על לחצן "Add Where Condition".
  2. בשדה "Field Name" בחר בערך "מועד יצירה"
  3. בשדה "Where Function" בחר בערך "Above Value".
    * מכיוון שההתניה תהה על שדה תאריך, באפשרותך (לא חובה) להיעזר ולבחור ערך ברירת מחדל בשדה "Default Value by Function".
  4. בשדה "Expose this Field..." תן שם ידידותי למשתמש כגון "החל ממועד יצירה"
  5. ==== כאן סיימת לבנות את ההתניה הראשונה המאתרת לקוחות שנוצרו החל מתאריך כל שהוא. כעת נשכפל את ההתניה שהגדרנו: =====

  6. בעץ ההתניות סמן בלחיצה את ההתניה שזה עתה יצרת, ולחץ על לחצן "Duplicate Condition"
    * שים לב שהסמן בעץ ההתניות קפץ להתניה המשוכפלת (חדשה).
  7. בשדה "Where Function" בחר בערך "Below Value"
    * גם כאן באפשרותך להיעזר בערכי השדה "Default Value by Function".
  8. בשדה "Expose this Field..." שנה את תיאור השדה ותן שם ידידותי כגון "ועד למועד יצירה"
  9. לחץ המשך למעבר לשלב האחרון של האשף