NoamN

Forum Replies Created

מוצגות 15 תגובות – 1 עד 15 (מתוך 442 סה״כ)
  • Replies
    • in reply to: KEYSTROKES
    NoamN
    משתתף
    none
    תנסה לבנות את המסך מחדש, לא סתם "הכנת מסכים".
    NoamN
    משתתף
    none
    אם את רוצה את המלל בשתי עמודות נפרדות, אז לא צריך את המפתח השני שרשמתי קודם. עמודה אחת צריכה להכיל את הביטוי STACK8.KEY1 > 0 ? STACK8.TEST_TEXT : ", והעמודה השניה צריכה להכיל את אותו הביטוי, רק עם שינוי כיוון התנאי.

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

    NoamN
    משתתף
    none
    המפתח הראשי של הדו"ח צריך להיות ABS (STACK8.KEY1) כדי להביא את התקלה ואת הטיפול ביחד.

    מפתח שני צריך להיות STACK8.KEY1 > 0 ? 1: 2. כך יופיעו השורות של התקלה קודם.

    מפתח שלישי STACK8.KEY2

    NoamN
    משתתף
    none
    אני לא יודע אם ה-UNLINK לפני DELHTML וה-LINK לאחר מכן נדרשים. נראה לי מיותר אבל אי אפשר לדעת מבלי לנסות.
    NoamN
    משתתף
    none
    LINK DOCUMENTSTEXT TO :$.TXT;
    GOTO 300 WHERE :RETVAL <= 0;
    LINK STACK8 TO :$.STK;
    GOTO 300 WHERE :RETVAL <= 0;
    DECLARE C1 CURSOR FOR
    SELECT DOC
    FROM DOCUMENTS
    WHERE TYPE = 'Q'
    AND CURDATE BETWEEN :$.FDT AND :$.TDT
    AND FINAL = 'Y'
    AND DOC > 0;
    OPEN C1;
    GOTO 300 WHERE :RETVAL <= 0;
    LABEL 100;
    FETCH C1 INTO :DOC;
    GOTO 200 WHERE :RETVAL <= 0;
    INSERT INTO DOCUMENTSTEXT
    SELECT * FROM DOCUMENTSTEXT ORIG
    WHERE DOC IN (:DOC, (-1) * :DOC)
    AND TEXT <> ";
    LOOP 100;
    LABEL 200;
    CLOSE C1;
    UNLINK DOCUMENTSTEXT;
    EXECUTE DELHTML 'DOCUMENTSTEXT', :$.TXT;
    LINK DOCUMENTSTEXT TO :$.TXT;
    INSERT INTO STACK8 (KEY1, KEY2, TEST_TEXTFIELD)
    SELECT DOC, SQL.LINE, TEXT
    FROM DOCUMENTSTEXT
    WHERE DOC > 0;
    LABEL 300;
    UNLINK DOCUMENTSTEXT;
    UNLINK STACK8;
    NoamN
    משתתף
    none
    יש כמה בעיות עם הקוד שלך. הקורסור יקח כל רשומה בטבלת DOCUMENTS בטווח התאריכים – צריך להוסיף שני תנאים על TYPE ו-FINAL. הקוד שמכניס את המלל לתוך DOCUMENTSTEXT יכניס רק ערכים חיוביים של DOC ולא שליליים. הסוף די מבולגן.
    אוסיף את מה שאני חושב שצריך להיות הקוד במכתב נפרד, במקרה והאתר מסרב לקבל.
    NoamN
    משתתף
    none
    "רוצה לברר , כדי שלא יהיה בלבול ויבוצע ניקוי על הטבלה המקורית..מבלבל"

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

    NoamN
    משתתף
    none
    נדרש רק שדה אחד טקסט ארוך ב-STACK8. לא תהיה כפילות בין התקלה והתיקון מפני שלאחד יהיה KEY1 חיובי והשני שלילי. יחד עם זאת, יידרש קצת תחכום בדו"ח כדי להציג אחד אחרי השני.

    אם זה לא נראה לך, אפשר לעבור ל-STACK11 שיש לו שלושה מפתחות (וגם תו כמפתח אבל כמעט ולא השתמשתי בו). KEY1 יהיה מספר התעודה, תמיד חיובי, KEY2 יהיה 1 או 2 (או מספרים אחרים) כדי להבדיל בין תקלה ותאור, ו-KEY3 יהיה מספר שורה. נדמה לי שצריך להוסיף גם כאן  שדה טקסט ארוך.

    NoamN
    משתתף
    none
    צריך לבצע לינק לטבלת DOCUMENTSTEXT כי זו הטבלה שמכילה את המלל.

    מזמן הוספתי שדה מלל באורך 68 תווים ל-STACK8 – במיוחד למקרים כאלה.

    אפשר לשמור את ORDLINE בתוך STACK8.KEY2 אבל לא נדרש: השורות תהיינה בסדר הנכון לכן ניתן להשתמש גם ב-SQL.LINE

    NoamN
    משתתף
    none
    השתמש בפרוצדורה הבאה אשר מקבלת פרמטר אחד, EXE, שבנוי על EXEC.ENAME. הפרוצדורה תשנה כל ישות בעלת אותו שם, כך אם יש פרוצדורה שמפעילה דו"ח באותו שם, שניהם יקבלו עדכון.

    LINK EXEC TO :$.EXE;
    ERRMSG 1 WHERE :RETVAL <= 0;
    DECLARE CUR CURSOR FOR
    SELECT EXEC FROM EXEC
    WHERE EXEC > 0;
    OPEN CUR;
    GOTO 300 WHERE :RETVAL <= 0
    ;
    LABEL 100;
    FETCH CUR INTO :EXEC;
    GOTO 200 WHERE :RETVAL <= 0;
    UPDATE EXEC ORIG
    SET EDES = 'TEST'
    WHERE EXEC = :EXEC;
    UPDATE EXECMODULE
    SET MODULE = 1
    WHERE EXEC = :EXEC;
    LOOP 100
    ;
    LABEL 200;
    CLOSE CUR;
    LABEL 300;
    UNLINK EXEC;

    NoamN
    משתתף
    none
    אינני יודע אם הנושא הזה כבר פתור, אך בהנחה שלא, מה קורה כאשר את מסירה את היחוס  ל-DOCUMENTS? יכול להיות שנשאר מפיתוח שלא התקדם ומי שהכין את הדו"ח שכח להסיר את היחוס לטבלה הזו. קורה.
    NoamN
    משתתף
    none
    1. הגדר פרוצדורה חדשה
    2. בתוך הפרוצדורה, שמור את שם קובץ היעד במשתנה.
    3. הכנס את הפקודה EXECUTE WINACTIV כאשר שם הקובץ מוחלך במשתנה
    4. השתמש בפקודת MAILMSG כדי לשלוח את הקובץ
    5. הפעל את הפרוצדורה ב-TTS
    NoamN
    משתתף
    none
    ניסיתי זאת כמה פעמים בעבר ולעניות דעתי בלתי אפשרי בדו"ח רגיל אלא רק במסמך HTML.

    אפשרות אחרת: לכתוב שלב SQLI בו קודם מעתיקים נתונים מסוג אחד לטבלה מלונקקת ועל הטבלה הזו מריצים את DELHTML (לחפש את Removing HTML Tags from a Text Table בפרק 3 של ה-SDK). אחר כך מעתיקים את המלל מהטבלה הזו לטבלה בנויה על STACK8, כאשר אחד המפתחות יהיה מספר הקריאה והמפתח השני יהיה מספר רץ. אחר כך חוזרים על כל התהליך עבור הסוג השני של מלל (עם DOC שלילי), בסוף שומרים את הנתונים עם STACK8.KEY1 שלילי.

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

    NoamN
    משתתף
    none
    אתה צריך לנהל קבוע פרטי, כאשר עדיף להגדיר אותו במסך מנהל המערכת > תחזוקת מערכת > קבועי המערכת > קבועים לתוכניות פרטיות. תן לו ערך התחלתי 2000. אחר כך, במסך הרצוי תגדיר הפעלת POST-FIELD על שדה חובה במסך אשר שולף את הערך הנוכחי ל"קבוע" הזה (הרי איך הוא יכול להיות קבוע אם משנים את הערך שלו כל הזמן?), מגדיל באחד, שומר את הערך בחזרה בתוך הקבוע וגם שומר את הערך הזה בשדה הנדרש.
    NoamN
    משתתף
    none
    EXEC.ENAME צריך להיות מוסתר עם מיון 9

    בשדה DOCUMENTS.DOCNO, מסך בן "עמודות הדו"ח – עיצוב HTML", לשונית "שדות קלט והפניות",

    סוג שדה/קלט: P

    סוג חזרה שם: _winform ( הקו התחתון צריך להיות לפני winform, באותיות קטנות)

    חזרה ערך עמודה: מספר העמודה של EXEC.ENAME,

    עמודה שמגדירה פרוצדורה: מספר העמודה של EXEC.ENAME,

     

מוצגות 15 תגובות – 1 עד 15 (מתוך 442 סה״כ)