NoamN

Forum Replies Created

מוצגות 15 תגובות – 196 עד 210 (מתוך 447 סה״כ)
  • Replies
  • NoamN
    משתתף
    none
    לא ארשום כמה הערות שהיו לי אם ההעתקה מצליחה.

    לא הבנתי למה את שומרת את הערכים לתוך GENERALLOAD אבל יש שם שגיאה: כל פעם שם הקובץ החדש מוכנס עם LINE = 1! זה אומר שההכנסה הראשונה תצליח והאחרות לא. צריך להגדיל כל פעם את הערך של LINE כדי שיהיו כמה שורות ב-GENERALLOAD

    NoamN
    משתתף
    none
    נשמע שיש בעיה עם המפתחות של הטבלה עליה מבוסס מסך הבן. המפתחות אמורים למנוע הכנסת שורה כפולה לכן קודם הייתי מטפל בזה, בלי CHECK-FIELD באב (שזה לא רעיון כל כך טוב בכל מקרה).
    NoamN
    משתתף
    none
    אם אתה מקבל את ההודעה הלכאורה מוזרה "ערך Y לא קיים בטבלה", תרשום את שם הטבלה והשדה במסך הבן "עמודות המסך – המשך" ותגדיר טיפוס CHAR. יתכן שתצטרך להוסיף הפעלה למסך כדי לשמור את הערך.
    NoamN
    משתתף
    none
    את לא מציינת באיזה סוג חשבונית (מס, קבלה, מרכזת) מדובר לכן אניח שמדובר בחשבונית מס לצורך ההדגמה. מגיעים אל האופציה בתפריט להדפסה – כספים > מכירות (כספים) > חשבוניות מכירות > חשבוניות מס > הדפסת חשבונית מס. לוחצים לחיצה ימנית על התפריט ובוחרים "עיצוב דו'ח" מהתפריט הקטן שיופיע.

    עכשיו יהיה בחלון כל התצורות האפשריות של ההדפסה, כמו "רגילה", "פריט מרכז" וכו'. נניח אנחנו רוצים לשנות את העיצוב של "רגילה" לכן לוחצים לחיצה שמאלית על סימן הפלוס + ליד "רגילה". יופיעו כל מיני שמות שהם החלקים (הדו"חות) אשר מרכיבים את המסמך. אני משער שמספר עוסק מורשה של הלקוח יופיע בדו"ח שנקרא "פרטי הלקוח" לכן אני לוחץ על הפלוס ליד השם הזה. עכשיו רואים את שמות השדות שמוצגים בקטע הזה. אכן מופיע "מס. עוסק מורשה": אם מופיע X באדום לידו, סימן שהשדה מוסתר. לכן מבצעים לחיצה ימנית על שם השדה ובחלון שמופיע בוחרים "הצג".

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

    NoamN
    משתתף
    none
    עקרונית לא אמורה להיות בעיה כזו. אני מכיר מסכים שיש להם ארבע הפניות (אם לא יותר) לטבלת USERS ואני הוספתי הפניה משלי לכן חמש או שש בהחלט אפשרי.

    האם את יכולה להפוך את הדו"ח לשאילתת SQL והלריץ אותה ב-WINDBI? כל שימוש בטבלה הפרטית דורש ALIAS שונה (אפשר גם להשתמש בשם הטבלה עם סיומת מספר, כמו USERS USERS1 וכד').

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

    NoamN
    משתתף
    none
    בדו"ח HTML, אני מניח שאתה מתכוון לדו"ח רגיל, לא למסמך HTML (כמו הדפסת הזמנת לקוח).

    מבלי לראות את הדו"ח ואת מה שהוספת, ההסבר השכיח יהיה שאין קשר בין הטבלה שהתווספה לבין שאר השדות בדו"ח. לדוגמא, אם התווסף CUSTOMERS.CUSTNAME ואין קשר בין CUSTOMERS.CUST למשהו אחר, המחולל ינסה להפיק את הדו"ח עבור כל לקוח שקיים וסביר להניח שזה ייקח זמן רב!

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

    בקיצור, אנחנו צריכים פרטים נוספים.

    NoamN
    משתתף
    none
    תשובה פשוטה: כן

    תשובה ארוכה: תצטרך לכתוב הפעלה POST-UPDATE (או PRE-UPDATE) למסך הספציפי אשר יגלה שינוי בשדה עליו אתה עוקב, ואם יש שינוי, ההפעלה תצטרך להוסיף שורה ללוג השינויים.

    בהנחה שאתה מתכוון למסך הבן "קישור לפרויקט/חשבון", זה עלול להיות די מסובך מפני שלמסך הבן יש אבות רבים ולא יהיה קל לעדכן את לוג השינויים הנכון. תצטרך לוודא שמסך האב (במקרה הזה, PORDERITEMS) הוא באמת PORDERITEMS או שמסך הסב PORDERS. תבדוק אם ערך השדה :$$$.EXTTYPE (שדה במסך PORDERS) שווה ל-P.

    NoamN
    משתתף
    none
    בהמשך למה שכתבתי למעלה, אפשר לקרוא בלינק הבא איך יישמתי את הרעיון בפריוריטי באופן מובנה. זה דוררש 20-30 דקות לפיתוח.

    https://progpitfalls.blogspot.com/2021/03/version-control-for-priority-procedures.html

    • התגובה הזו עודכנה לפני לפני 4 שנים, 12 חודשים ע"י NoamN.
    NoamN
    משתתף
    none
    לא נראה לי שהפתרון של "מהדורות קודמות" מתאים, לפחות לפי איך שהבנתי את השאלה המקורית.

    זה נותן לי רעיון שבמקום לשמור קובץ חיצוני, אני יכול לשמור את התוכן בפריוריטי, לאחר הגדרת הטבלאות המתאימות, כמובן. הפרוצדורה הקיימת (אצלי) "יצירת קובץ טקסט פרוצדורה/SQLI" תיצור גרסה לפרוצדורה (בטבלה פרטית, כמובן) ואת המלל במסך בן לגרסה.

    NoamN
    משתתף
    none
    כתבתי לפני שנים פרוצדורה ששומרת את השורות של פרוצדורה (כל שלבי INPUT ו-SQLI) כקובץ טקסט בתיקיה מסויימת. אני משתדל לשמור כך פרוצדורה לפני שינוי.
    NoamN
    משתתף
    none
    קראתי במקום כלשהו (אני חושב שזה היה בקריאת שרות אל PS) שהשדה הראשון במסך (זאת אומרת, עם מספר מיקום הכי נמוך) יהיה השדה הראשון במסך (ברור, לא?). זה לא קשור לעיצוב המסך שמשתמש יכול להגדיר לעצמו.

    בכל מקרה, רצוי להריץ כמה בדיקות!

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

    אין לי מושג איך עובדים עם זה.

    NoamN
    משתתף
    none
    הספקת להכניס שאלה נוספת באמצע התשובה שלי. בואי נגיד שבעיית השמירה היתה נחסכת לו היית מוסיפה שדה פרטי ל-INVOICES, אך כיון שיש שדה מתאים ב-INVOICESA, אני חושב שזה נכון להשתמש בשדה הקיים ולכתוב את הקוד לשמור אותו.
    NoamN
    משתתף
    none
    תסתכלי ב-CIVDETAILS, הפעלה BUF3: כאן נעשית שמירה של כל השדות הסטנדרטיים ששייכים ל-INVOICESA שמוצגים במסך, כאשר לפחות אחד השתנה. את צריכה לכתוב הפעלה דומה (לא להוסיף את הקוד שלך להפעלה הקיימת) בסגנון

    GOTO 1 WHERE :$.SHIPPER = :$1.SHIPPER;
    UPDATE INVOICESA
    SET SHIPPER = :$.SHIPPER
    WHERE IV = :$.IV;
    LABEL 1;

    תמיד צריך להיזהר כאשר מעדכנים שדה שאינו שייך לטבלת הבסיס של המסך.

    NoamN
    משתתף
    none
    אין שדה SHIPPER במסך CIVDETAILS, לפחות אצלי. האם הוספתם שדה פרטי SHIPPER לטבלת INVOICES? אם כן, עמודת המסך צריך להיות משהו כמו TEST_SHIPPER וטבלת SHIPPERS צריך להיות עם מזהה 5 (או יותר גדול)
מוצגות 15 תגובות – 196 עד 210 (מתוך 447 סה״כ)