איך משתמשים בערך ברירת המחדל של שדה

פורומים אפיון ופיתוח פריוריטי איך משתמשים בערך ברירת המחדל של שדה

  • Post
    moshe
    משתתף
    שלום רב
    אני רוצה לשמור במשתנה את הערך שתא קיבל
    לדוגמה בהצעת מחיר מתמלא לפריט מחיר מחירון בסיס אם קיים
    המשתנה בטריגר [code:1]:$1.@[/code:1]
    לא מקבל שום ערך
    האם יש דרך להגיע לערך ברירת המחדל מהשדה עצמו ?
    תודה
מוצגות 11 תגובות – 1 עד 11 (מתוך 11 סה״כ)
  • Replies
    Lior
    מנהל בפורום
    הי משה

    לא רואים את הקוד. אני עובד על תיקון הבעיה. האם תוכל להדביק התוך notepad ולצרף להודעה ?

    moshe
    משתתף
    הקוד
    :$1.@
    בסדר הנכון של התווים כמובן
    Lior
    מנהל בפורום
    הי משה,

    $1 מחזיק את הערך של השדה שהמערכת קראה מבסיס הנתונים בשליפת הרשומה למסך. כדי לעדכן נתונים בשדות אתה צריך לעדכן את

    [code:1]:$.@
    במקום את
    :$1.@
    [/code:1]
    אני לא זוכר שראיתי אי פעם קוד המעדכן את 1.

    אנא פרט:
    1. איזה טריגר אתה מפעיל(עמודה או מסך, שם הטריגר)
    2. מה הטריגר אמור לעשות

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

    moshe
    משתתף
    אני רוצה בשדה PRICE בהזמנה לבדוק מה מחיר ברירת המחדל שנשלף לדוגמה מהצעת מחיר.
    מחיר זה אמור להיות ב1$ אבל הוא לא
    תודה
    Lior
    מנהל בפורום
    הי משה,
    זה מאוד משנה באיזה טריגר אתה בודק את הערך של PRICE.
    רק בשביל לסבר את האוזן, העמודה מתעדכנת איזה 10 פעמים כבר ביציאה משדה המק"ט בהכנסת ערך. תרשום בבקשה אם זה טריגר עמודה או טריגר מסך ומה שמו בישראל.
    בכל אופן בשורה חדשה – $1 תמיד ריק.
    בשורה קיימת – $1 מכיל את הערך הנשלף ו $ את הערך המעודכן.
    moshe
    משתתף
    לדוגמה בבניית הצעת מחיר ללקוח

    בשדה PRICE בטריגר CHECK-FIELD
    לשורה חדשה לאחר קליטת מקט נשלף ערך ממחירון
    בשדה מופיע מחיר אך איני מקבל אותו ב1$
    אני רוצה לבדוק אם יש ערך גדול מערך מסוים אזי אסור למשתמש לשנותו אם אין ערך מותר לו להכניס ערך

    תודה

    Lior
    מנהל בפורום
    זאת אומרת שאתה רוצה להגביל את העדכון הידני עד לקבוע כלשהו. נכון ?

    אם כך, הקוד הוא משהו כזה:

    [code:1]ERRMSG [NUMBER] WHERE :$.@ > [SOMEVALUE] ;[/code:1]

    השורה הזו בתוך CHECK-FIELD של PRICE.

    Lior
    מנהל בפורום
    סליחה,

    אני חושב שהבנתי את הבעיה שלך.

    אתה רוצה לאפשר עדכון או למנוע אותו לפי ערך ברירת המחדל שהמערכת הסטנדרטית חישבה.
    כשאתה מכניס שורה חדשה $1 לא מכיל כלום.
    ההצעה שלי היא כזו:
    [code:1]PARTNAME/MOSH_POST-FIELD
    :mosh_manual = 0 ;

    PRICE/MOSH_POST-FIELD
    GOTO 10 WHERE :mosh_manual = 1 ;
    :mosh_price = :$.@ ;
    LABEL 10 ;

    PRICE/MOSH-CHECK-FIELD
    ERRMSG 510 WHERE :mosh_price > :your_max_price ;
    SELECT 1 INTO ::mosh_manual FROM DUMMY WHERE :RETVAL > 0 ;[/code:1]

    Lior
    מנהל בפורום
    קבל תיקון נוסף ואני מקווה שאחרון.
    הקוד הנ"ל יעבוד בשורה חדשה אך לא בעדכון שורה שנכנסה עם מחיר סטנדרטי ונשלפה מחדש לעדכון המחיר.

    הצעה ג:
    1. עמודת טבלה חדשה ועליה עמודת מסך מוסתרת.
    2. POST-FIELD על PARTNAME ששם את המחיר ליחידה הסטנדרטי בעמודה החדשה.
    3. בדיקת המחיר מוכנס ידנית מול העמודה החדשה.

    moshe
    משתתף
    אם נכנסים רק לשדה מחיר שום POST-FIELD קודם לא מופעל.

    אפשר ב PRE-FORM שירוץ אחרי המקורי
    ולשמור במקביל את הערך בשדה פרטי כמו שהצעת אך זה יותר מסובך

    קיויתי שיש פתרון פשוט יותר .

    Lior
    מנהל בפורום

    אם נכנסים רק לשדה מחיר שום POST-FIELD קודם לא מופעל.

    אז שים check-field על PRICE שלא נותן להכניס ערך אם המק"ט ריק.

    הפתרון עם הוספת עמודה חדשה אמור לעבוד.
    אתה צריך רק לדאוג שהPOST-FIELD שלך יעבוד אחרי הסטנדרטי (תן לו קידומת עם סיפרה גדולה מ P). משהו כמו ZMOS_POST-FIELD

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