הוספת שדה חדש

פורומים אפיון ופיתוח פריוריטי הוספת שדה חדש

  • דיון
    יצחק
    משתתף
    שלום רב,

    הוספתי את השדה PARTPARAM.ORDQUANTTOL  למסך ORDERITEMS

    השדה מציג ערכים נכונים אבל כשמנסים לשנות את הערך של השדה הוא תמיד מתאפס

    מה אפשר לעשות כדי שיהיה אפשר לעדכן את השדה או לחילופין לקבוע שהערך בשדה לכל המקטים מסוג P יהיה 10?

    תודה מראש

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • תגובות
    יצחק
    משתתף
    הוספתי את הטריגר POST-FIELD תחת PARTNAME במסך ORDERITEMS

    UPDATE PARTPARAM
    SET ORDQUANTTOL = 10
    WHERE PART = :$.PART AND PARTPARAM = :$.PARTPARAM ;

    וזה עובד.

    האם זה נכון לעשות כך?

    yitzchok
    משתתף
    IL
    לא

    לא מעדכנים את הדטהבייס ב- POST-FIELD

    (ההנחה שלי היא שכל הטריגרים שמזכירים כאן הם עם קידומת לפי הכללים)

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

    yitzchok
    משתתף
    IL
    אחרי ששלחתי קראתי שוב והבנתי שאתה לא חשפת עמודה חדשה בסופו של דבר אלא רק עדכנת את הטבלה השניה.

    אז לא כל התשובה שלי רלוונטית, אבל בגדול כן – עדיין נכון לעשות בעזרת ממשק ב-POST של הרשומה ולא ב-POST-FIELD. ואולי רק ב-POST-INSERT. הרי אם כבר קבעת ערך בשדה זה ואתה מעדכן שדה כלשהו ב-PART אתה רוצה עוד פעם לעדכן את השדה ההוא?

    הנה סיבות לא לעדכן ב-POST-FIELD:

    ככלל לא עושים שינוי ב-DB עד שהמשתמש עושה פעולה שיביא לעדכון. עריכה בשדה לא עונה על זה. יציאה מהשורה עונה על זה. ולא עושים שינויים עד שעברנו את כל הבדיקות (שהם ב-PRE של הרשומה). ולכן עושים ב-POST האלה בלבד.

    אם היינו מעדכנים ב-POST-FIELD – נגיד אתה ברשומה חדשה והקלדת ב-PARTNAME… מה הערך עכשיו ב-PART. יתכן שיהיה 0. PARTPARAM גם 0, כי לא מקימים ב- PARTPARAM עד שקיים ב-PART. איזו רשומה תעדכן?

    מקווה שזה עוזר

    יצחק
    משתתף
    תודה, לקחתי לתשומת לבי את התשובה.
מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.