NoamN

Forum Replies Created

מוצגות 15 תגובות – 166 עד 180 (מתוך 442 סה״כ)
  • Replies
  • NoamN
    משתתף
    none
    מה תוכן השדה שמכיל את הביטוי BETWEEN? אם DEBI_LICENSESEXP הוא שם הדו"ח, זה נשמע כאילו אין משהו שמופיע בשדות עמודת טבלה ושם טבלה, אלא רק ביטוי שנרשם במסך הבן "עמודות הדו"ח – הרחבה", ואם כך, לא פלא שיש הודעת שגיאה.

    בקיצור, עדיף שתציגי כאן את מלוא השאילתא שאת רושמת ב-WINDBI.

    אגב, יש מצב אחר בו שאילתות מחזירות ערך ב-WINDBI ולא בדו"ח/פרוצדורה – כאשר יש התיחסות לטבלה ש"מלונקקת" בפרוצדורה. ב-WINDBI ההתיחסות לטבלה האמיתית שמכילה את כל הערכים, בעוד בטבלה מלונקקת יש מעט נתונים.

    NoamN
    משתתף
    none
    לא נראה שיש בעיה עם התאריכים אלא עם המשתנה. מה זה :DEBI_LICENSESEXP? זה ביטוי? פרמטר? טיפוס תאריך?
    NoamN
    משתתף
    none
    באמת לא נדרש משהו מיוחד לגבי TEXTORD.

    לגבי TEXTLINE, צריך להיות הגדרה כמו CUSTCAMPAIGNSTEXT.TEXTLINE

    = (DAYS.DAYNUM <> 1 ? 0 : CUSTCAMPAIGNSTEXT.TEXTLINE)

    לא ציינת על איזו טבלת טקסט הדו"ח מבוסס לכן השתמשתי ב-CUSTCAMPAIGNSTEXT. ראיתי בעבר שלפעמים ניתן לכתוב = DAYS.DAYNUM * CUSTCAMPAIGNSTEXT.TEXTLINE שלכאורה נותן את אתה התוצאה מתמטית, אבל מתבצע קצת קסם מאחורי הקלעים עם DAYS.DAYNUM

    NoamN
    משתתף
    none
    קשה לדעת מבלי לראות את ההגדרות: דו"חות שמשלבים מלל HTML תמיד בעייתיים.

    בהנחה שכל השדות ה"רגילים" מופיעים כאשר DAYS.DAYNUM = 0, ושמלל ה-HTML מופיע כאשר DAYS.DAYNUM = 1, תבדקי את ההגדרות של TEXTORD ובמיוחד TEXTLINE. תכתבי כאן איך הגדרת אותם.

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

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

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

    NoamN
    משתתף
    none
    לעניות דעתי השיטה הזו לא תעבוד כי אין מספר תעודה (כמו DOCUMENTS.DOCNO) אם הדו"ח מתחיל מ-TRANSORDER. מנסיוני, מסמך HTML "דורש" מספר תעודה.

    יצחק ואני עבדנו על כמה מסמכי HTML בהם פרמטר PAR מחובר לטבלה אחת בהתחלה אך אחר כך מחובר לטבלה אחרת. אני לא יודע אם זה יעזור כאן.

    אבל – אפשר לכתוב פרוצדורה קטנה שתהיה ההפעלה הישירה ומתבססת על PAR = TRANSORDER.TRANS – הפרוצדורה הזו יכולה למצוא את ה-DOC המקושר ולהפעיל מסמך HTML שמבוסס על DOCUMENTS.DOC. כיון שנדרש ליצור טבלה מלונקקת ולהפעיל את הפרוצדורה למסמך ה-HTML עם הטבלה הזו, ניתן להכניס את ערכו של TRANSORDER.TRANS באחד השדות של DOCUMENTS ולנצל זאת איכשהו בפרוצדורה של המסמך.

    NoamN
    משתתף
    none
    ב-BPM בסטטוס הרצוי, תבצע לחיצה ימנית ותבחר ב"חוקים". כאן אתה מגדיר את החוק אשר ישלח הודעה לאיש הקשר. תבחר "שלח הודעה", ובמקום "משתמש", תבחר "שדה במסך". אחר כך תוכל לבחור מאיזה שדה לקחת את הכתובת. הדגלים במסך הלקוחות נועדים לקבוע מי ייכנס באופן מחדלי למסמך, בלי כל קשר למשלוח מכתב.
    NoamN
    משתתף
    none
    כמו כל רשומה שתלויה בטבלת INVOICES, נדרשים השדות IV, IVNUM, TYPE ו-DEBIT. בנוסף נדרש ערך בשדה CUST (הספק).
    NoamN
    משתתף
    none
    את צריכה לכתוב פרוצדורה עם קורסור שמביא כל עובד והדוא"ל שלו עבור כל עובד שיש לו הזמנות בתחום התאריכים.

    הפקודה הראשונה תהיה DELETE FROM STACK והפקודה השניה תהיה INSERT INTO STACK כאשר  מספרי ההזמנה מוכנסים לטבלה הזו.

    הפקודה האחרונה בקורסור תהיה משלוח דואר לעובד, בסגנון

    EXECUTE WINACTIV '-R', 'NAME OF YOUR REPORT', 'STACK', :$.STK, '-e',
    :EMAIL;

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

    למען האמת גם לא נדרש להשתמש בסימני שאלה כי לכל פק"ע יש סטטוס לכן תמיד תהיה רשומה גם ב-SERIAL וגם ב-SERIALA. תעניקי ל-SERIALA מזהה 5 ותחברי בין SERIALA/5 ל-SERIALSTATUS/5. את חיברת את SERIAL ל-SERIALA/6 ואחר כך SERIALA/7 ל-SERIALSTATUS אבל שתי הטבלאות SERIALA אינן זהות לכן לא קיבלת את תאור הסטטוס הרצוי.

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

    :XLFILE = 'D:/PR_SQL/1/SPHS.CSV';
    EXECUTE WINACTIVF '-x', :XLFILE, '-R', 'AUTO_TEST';

    אחר כך אפשר לשלוח את הקובץ בדוא"ל באמצעות MAILMESSAGE

    לכאורה יש דרך מתועדת ב-SDK כיצד ניתן ליצור קובץ XLS אבל אף פעם לא הצלחתי בשיטה הזו. צריך קודם ליצור תבנית נתונים לדו"ח הרצוי לפני מנסים את השיטה הזו ואחר כך צריך לגלות מה מספר התבנית.

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

    נראה לי שהמשתנה :HTMLPRINTORIG קשור בסיפור אם כי לא מצאתי הסבר לגביו. לעומת זאת, המשתנה :SENDOPTION נראה מתאים מאד

    :SENDOPTION (CHAR type) — stores the user's selection in the Print/Send Options dialogue box when a document is printed.

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

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

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

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