טבלאות משנה מאפשרות להציג רשומות קשורות ישירות בתוך כרטיס — למשל שורות מכירה בתוך כרטיס עסקה, או משימות בתוך כרטיס פרויקט — עם יכולת עריכה ויצירה ישירות מהטופס.
כשאתם צופים בכרטיס עסקה, סביר שתרצו לראות גם את כל שורות המכירה שמרכיבות אותה. כשאתם פותחים כרטיס לקוח, תרצו לראות את כל העסקאות שלו. טבלאות משנה (Sub-Tables) הן הכלי שמאפשר את זה — הן מטמיעות תצוגת טבלה של רשומות קשורות ישירות בתוך דף הטופס.
מה זו טבלת משנה?
טבלת משנה היא תצוגת טבלה שמוטמעת בתוך דף טופס (Form Page) ומציגה רשומות מטבלה אחרת שקשורות לרשומה הנוכחית. הסינון מתבצע אוטומטית — המערכת מציגה רק את הרשומות שה-Pointer שלהן מצביע על הרשומה הנוכחית.
דוגמאות נפוצות:
| טופס (הורה) | טבלת משנה (ילד) | שדה Pointer | מה מוצג |
|---|---|---|---|
| Sales (עסקה) | SaleRows | SaleId | שורות המכירה של העסקה |
| Accounts (לקוח) | Contacts | AccountId | אנשי הקשר של הלקוח |
| Projects | Tasks | ProjectId | המשימות של הפרויקט |
| Sales (עסקה) | Activities | SaleId | הפעילויות הקשורות לעסקה |
תנאי מקדים: שדה Pointer
כדי להוסיף טבלת משנה, חייב להתקיים שדה Pointer בטבלת המשנה שמצביע על הטבלה של הטופס.
לדוגמה: כדי להציג שורות מכירה (SaleRows) בתוך טופס עסקה (Sales), חייב להיות שדה SaleId מסוג Pointer בטבלת SaleRows שמצביע על טבלת Sales. אם השדה לא קיים, הוסיפו אותו קודם (ראו [שדות מסוג Pointer](guide_pointer_fields.md)).

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

הגדירו את הפרמטרים הבאים:
- tableName — שם הטבלה שממנה ישלפו הרשומות. למשל
SaleRows. - insertAfterRow — ה-ID של השורה שאחריה הטבלה תתווסף.
- tableTitle (אופציונלי) — כותרת שתוצג מעל הטבלה, למשל "שורות מכירה".
שלב 3: בחירת שדות לתצוגה
הגדירו אילו שדות יוצגו בעמודות הטבלה. לכל שדה צריך לציין:
- fieldName — שם השדה. לשדות Pointer, השתמשו בסינטקס נקודה:
ProductId.Name(שם המוצר דרך שדה Pointer). - label — תווית בעברית שתוצג ככותרת העמודה.
- type — סוג השדה: String, Number, Boolean, Date, File, PrivateFile.
דוגמה לרשימת שדות בטבלת שורות מכירה:
| fieldName | label | type |
|---|---|---|
ProductId.Name |
מוצר | String |
Description |
תיאור | String |
Quantity |
כמות | Number |
Price |
מחיר | Number |
Total |
סה"כ | Number |
שימו לב: לשדות מסוג Pointer, יש להגדיר גם aggrField בפורמט מלא: ProductId.Products.Name (עם שם טבלת היעד באמצע).

הגדרת טבלת משנה — בחירת שדות, תוויות וסוגים
שלב 4: הגדרות נוספות
עריכה ישירה (Inline Edit)
הגדרת allowInlineEdit ל-true מאפשרת למשתמשים לערוך את הרשומות ישירות מתוך הטבלה, בלי לפתוח כל רשומה בנפרד. זה חוסך זמן ומייעל את העבודה, במיוחד בטבלאות כמו שורות מכירה שדורשות עדכונים תכופים.
יצירת רשומות חדשות
הגדרת allowCreate ל-true מוסיפה כפתור ליצירת רשומה חדשה ישירות מהטבלה. ניתן להגדיר את טקסט הכפתור עם createBtnTitle, למשל "הוסף שורה חדשה" או "הוסף משימה".
הרשומה החדשה תיווצר אוטומטית עם שדה ה-Pointer ממולא — כלומר, אם אתם מוסיפים שורת מכירה מתוך כרטיס עסקה, שדה SaleId ימולא אוטומטית.
שורת סיכום (Summary)
ניתן להוסיף שורת סיכום בתחתית הטבלה שמציגה חישובים על שדות מספריים:
- sum — סכום כל הערכים בעמודה
- avg — ממוצע הערכים
- min — הערך המינימלי
- max — הערך המקסימלי
- count — מספר הרשומות
לכל שדה שתרצו לכלול בסיכום, הוסיפו את המאפיין summary עם הפונקציה הרצויה. הגדירו את showSummary עם כותרת לשורת הסיכום, למשל "סה\"כ".

עריכה ישירה בטבלת משנה — שינוי ערכים בלחיצה ישירות על התא
דוגמה מלאה: טבלת שורות מכירה
להלן דוגמה להגדרת טבלת משנה של שורות מכירה בתוך טופס עסקה:
- tableName:
SaleRows - tableTitle: "שורות מכירה"
- allowInlineEdit:
true - allowCreate:
true - createBtnTitle: "הוסף שורה חדשה"
- showSummary: "סה\"כ"
- שדות:
– מוצר: ProductId.Name (String), aggrField: ProductId.Products.Name
– תיאור: Description (String)
– כמות: Quantity (Number), summary: sum
– מחיר ליחידה: Price (Number)
– סה"כ שורה: Total (Number), summary: sum
טיפים לעבודה עם טבלאות משנה
- שמרו על פוקוס: הציגו רק שדות שרלוונטיים בהקשר של הטופס. אין צורך להציג את כל שדות הטבלה — בחרו את החשובים ביותר.
- עריכה ישירה חוסכת זמן: הפעילו inline edit כשהמשתמשים צריכים לעדכן ערכים בתדירות גבוהה. השביתו כשתרצו למנוע שינויים לא מכוונים.
- שורת סיכום למספרים: הוסיפו שורת סיכום עם sum לשדות כספיים (סה"כ, כמות) — זה חוסך מהמשתמשים חישובים ידניים.
- כפתור יצירה ברור: תנו לכפתור היצירה שם תיאורי וספציפי, למשל "הוסף שורת מכירה" ולא "הוסף חדש".
- מיקום בטופס: מקמו את טבלת המשנה אחרי השדות הבסיסיים של הטופס, כדי שהמשתמש ימלא קודם את הפרטים הכלליים ואז יעבור לפירוט.