עבור לתוכן
Magic DevHub
MaorLinn

שאלה מהעבר האפל של מג'יק... שימוש ב-F2

Recommended Posts

שלום לכולם,

בגרסה 9.4 אני נתקל בבעיה שזכורה לי עוד מימי מג'יק המוקדמים -

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

בעבר - היינו שמים בתנאי של הודעות השגיאה האלה את התוספת - KBGET<>F2, וכך היינו מצליחים להתגבר על הבעיה.

אבל בגרסה 9 והלאה לא ממליצים להתשתמש ב-KBGET ו-KBPUT, ואני מוצא את עצמי תקוע.

יש למישהו רעיון?

תודה!

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

מאור שלום,

אנא: הסבר ונמק

1. האם הבעיה היא ברמה העליונה (בה אתה מקיש <F5> לחלון) או שיש לך נתונים שאינם מושלמים ברמה הנמוכה יותר (בחלון עצמו).

2. בהבנה שזה קורה ברמה העליונה: האם כוונתך שבתוך החלון ביצעת עדכון כלשהו או הוספת נתון בתת הטבלה והנתון אינו נמחק בהקשת <F2>?

ערב טוב

צבי

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

שלום צבי -

להלן תיאור השתלשלות העניינים כפי שהיא מתרחשת:

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

אם עכשיו אני מעוניין לבטל ולצאת (F2 + ESC), המערכת תבטל את הערכים שקיבלו השדות, אבל תיעצר על בדיקות התקינות של השדות הריקים.

במקרה הזה היינו שמים בעבר תנאי שאומר  NOT(KBGET(CANCEL))

אבל, כאמור, מאז גרסה 9 לא מומלץ להשתמש ב-KBGET ו-KBPUT, ולכן אין לנו פתרון למקרים כאלה.

אז מה עושים?

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

יתכן ואחד משדות התכנית הראשית מתעדכן במשימת בן- כתוצאה מכך לא ניתן לבצע F2

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

מאור שלום,

סליחה על האיחור: לא שמתי לב שהיה שינוי/המשך לשאלתך המקורית (אריק מיפנו: לתשומת לבך).

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

בהצלחה

צבי

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

מאור שלום,

דבר נוסף שלמדתי לפני זמן מה, ובהמשך למה שעניתי:

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

יומטוב

צבי

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

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

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

התחבר או הרשם על מנת להגיב.

עליך להיות משתמש רשום על מנת להגיב

צור חשבון

צור חשבון חדש בקהילה בקלי קלות.

רישום חשבון חדש

התחבר

משתמש קיים? התחבר.

התחבר עכשיו

×