› פורומים › אפיון ופיתוח פריוריטי › צקבוקס בהגדרות ספק לא להציג לגיול
- This topic has 3 תגובות, 2 משתתפים, and was last updated לפני 5 שנים by
מאיר.
- Post
-
- מאי 26, 2020 בשעה 5:39 pm
שלום אני מנסה להוסיף צקבוקס להגדרות כספים לספקיםשסימון \ הורדת סימון תעדכן את הדגל בחשבונות ספקים 'לא לגיול'
ניסיתי – הוספתי עמודה במסך הגדרות כספים לספקים ובהרחבה לעמודה שייכתי ל ACCOUNTS.NOAGEDEBTS וסימנצי בוליאני
הספתי טריגר פוסט פילד:
SELECT 'Y' INTO ACCOUNTS.NOAGEDEBTS
FROM DUMMY WHERE :$.ITRL_NOAGEDEBTS1 = 'Y'
AND ACCOUNTS.ACCNAME = :$.ACCNAME ;ולא עובד , הכנס מסך נופלת …
עזרה?
- Replies
-
- מאי 27, 2020 בשעה 12:31 am
א. אסור ע"פ נהלי מתכנתים חיצוניים לעדכן ישירות שדה סטנדרטי. יש להפעיל ממשק כדי לבצע עדכון כזה.ב. גם אם היה מדובר בעדכון של עמודה פרטית והיה מותר, הסינטקס של השאילתא לא נכון. פקודת SELECT…INTO מתאימה לשליפת נתון לתוך משתנה, או משתנה רגיל או משתנה של עמודת מסך. אם אתה רוצה לעדכן את הדטהבייס אתה צריך פקודת UPDATE.
ג. גם אם היית עושה באופן נכון UPDATE, טריגר פוסט פילד זה לא המקום. בטריגר כזה רק עושים פעולות במסגרת השורה בה עובדים. צריכים לזכור שהמשתמש עדיין לא ניסה לשמור. יכול להיות שיבטל את השינויים ברצון או בגלל שבדיקות לפני השמירה לא יתנו לו לשמור. עדכונים כאלה יש לבצע אך ורק ב-POST-INSERT/UPDATE וכו' אחרי שהשינויים לטבלת הבסיס של המסך (אם היו) כבר בוצעו.
יוצא שהפתרון הנכון לעדכון שדה במסך אחר, לדוגמה במקרה זה לאחר שינוי במסך SUPFNC (אם אני זוכר נכון) לעדכן רשומה קשורה ב-ACCOUNTS_PAYABLE זה להכין קוד בבאפר שרץ מ-POST-UPDATE (ו-POST-INSERT אם ניתן לפתוח ספק ממסך זה, לא זוכר) שבודק אם הערך באותה שורה התעדכן, ואם כן מכין שורה בטבלת טעינה ויפעיל ממשק מסך מול ACCOUNTS_PAYABLE. אם רוצים שיהיה מושלם אז לבדוק את הצלחת הממשק. מצד שני אם העמודה במסך SUPFNC מציג את העמודה שרוצים לעדכן, רק לא מעדכן אותה ישירות, אז אולי לא צריכים לבדוק את ההצלחה כי יהיה ניכר שהשינוי שלא תפס.
פיתוח שנשמע בטח מורכב למתחיל, אין הרבה לעשות. אבל מסמך ה-SDK נותן דוגמאות, לפחות של חלק מזה.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- מאי 27, 2020 בשעה 12:40 am
אוסיף שנראה לי שיכול להיות טעם כן לבדוק הצלחת הממשק כי אז אפשר להציג הודעה למשתמש אם הממשק קיבל הודעת שגיאה מהמסך השני, לדוגמה.[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
- יש להתחבר למערכת על מנת להגיב.