› פורומים › אפיון ופיתוח פריוריטי › הוספת שדה חדש
- This topic has 4 תגובות, 2 משתתפים, and was last updated לפני 3 שנים, 11 חודשים by יצחק.
- Post
- Replies
-
- דצמבר 23, 2020 בשעה 5:36 pm
הוספתי את הטריגר POST-FIELD תחת PARTNAME במסך ORDERITEMSUPDATE PARTPARAM
SET ORDQUANTTOL = 10
WHERE PART = :$.PART AND PARTPARAM = :$.PARTPARAM ;וזה עובד.
האם זה נכון לעשות כך?
- דצמבר 23, 2020 בשעה 10:10 pm
לאלא מעדכנים את הדטהבייס ב- POST-FIELD
(ההנחה שלי היא שכל הטריגרים שמזכירים כאן הם עם קידומת לפי הכללים)
עדכון כזה צריך להיות ב-POST-INSERT ו-POST-UPDATE של המסך והכי נכון לבצע את העדכון בעזרת הפעלת ממשק מסכי למסך בו השדה קיים בסטנדרט, ואם משום מה לא תצליח לסדר ממשק אז לכל הפחות דאג לכל הבדיקות הרלוונטיות שקיימות באותו מסך כי בעקרון אסור לך לאפשר עדכונים כאלה לעמודה אז שתדאג למנוע ערכים לא תקינים.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- דצמבר 23, 2020 בשעה 10:24 pm
אחרי ששלחתי קראתי שוב והבנתי שאתה לא חשפת עמודה חדשה בסופו של דבר אלא רק עדכנת את הטבלה השניה.אז לא כל התשובה שלי רלוונטית, אבל בגדול כן – עדיין נכון לעשות בעזרת ממשק ב-POST של הרשומה ולא ב-POST-FIELD. ואולי רק ב-POST-INSERT. הרי אם כבר קבעת ערך בשדה זה ואתה מעדכן שדה כלשהו ב-PART אתה רוצה עוד פעם לעדכן את השדה ההוא?
הנה סיבות לא לעדכן ב-POST-FIELD:
ככלל לא עושים שינוי ב-DB עד שהמשתמש עושה פעולה שיביא לעדכון. עריכה בשדה לא עונה על זה. יציאה מהשורה עונה על זה. ולא עושים שינויים עד שעברנו את כל הבדיקות (שהם ב-PRE של הרשומה). ולכן עושים ב-POST האלה בלבד.
אם היינו מעדכנים ב-POST-FIELD – נגיד אתה ברשומה חדשה והקלדת ב-PARTNAME… מה הערך עכשיו ב-PART. יתכן שיהיה 0. PARTPARAM גם 0, כי לא מקימים ב- PARTPARAM עד שקיים ב-PART. איזו רשומה תעדכן?
מקווה שזה עוזר
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
- יש להתחבר למערכת על מנת להגיב.