Forum Replies Created
- Replies
-
- אוגוסט 19, 2021 בשעה 7:51 am
- in reply to: ביטוי BETWEEN עובד ב-WINDBI ולא בדו"ח
מה תוכן השדה שמכיל את הביטוי BETWEEN? אם DEBI_LICENSESEXP הוא שם הדו"ח, זה נשמע כאילו אין משהו שמופיע בשדות עמודת טבלה ושם טבלה, אלא רק ביטוי שנרשם במסך הבן "עמודות הדו"ח – הרחבה", ואם כך, לא פלא שיש הודעת שגיאה.בקיצור, עדיף שתציגי כאן את מלוא השאילתא שאת רושמת ב-WINDBI.
אגב, יש מצב אחר בו שאילתות מחזירות ערך ב-WINDBI ולא בדו"ח/פרוצדורה – כאשר יש התיחסות לטבלה ש"מלונקקת" בפרוצדורה. ב-WINDBI ההתיחסות לטבלה האמיתית שמכילה את כל הערכים, בעוד בטבלה מלונקקת יש מעט נתונים.
- אוגוסט 18, 2021 בשעה 5:10 pm
- in reply to: ביטוי BETWEEN עובד ב-WINDBI ולא בדו"ח
לא נראה שיש בעיה עם התאריכים אלא עם המשתנה. מה זה :DEBI_LICENSESEXP? זה ביטוי? פרמטר? טיפוס תאריך?- אוגוסט 18, 2021 בשעה 10:12 am
- in reply to: גיבריש בדוח עם טקסט חופשי
באמת לא נדרש משהו מיוחד לגבי TEXTORD.לגבי TEXTLINE, צריך להיות הגדרה כמו CUSTCAMPAIGNSTEXT.TEXTLINE
= (DAYS.DAYNUM <> 1 ? 0 : CUSTCAMPAIGNSTEXT.TEXTLINE)
לא ציינת על איזו טבלת טקסט הדו"ח מבוסס לכן השתמשתי ב-CUSTCAMPAIGNSTEXT. ראיתי בעבר שלפעמים ניתן לכתוב = DAYS.DAYNUM * CUSTCAMPAIGNSTEXT.TEXTLINE שלכאורה נותן את אתה התוצאה מתמטית, אבל מתבצע קצת קסם מאחורי הקלעים עם DAYS.DAYNUM
- אוגוסט 18, 2021 בשעה 7:34 am
- in reply to: גיבריש בדוח עם טקסט חופשי
קשה לדעת מבלי לראות את ההגדרות: דו"חות שמשלבים מלל HTML תמיד בעייתיים.בהנחה שכל השדות ה"רגילים" מופיעים כאשר DAYS.DAYNUM = 0, ושמלל ה-HTML מופיע כאשר DAYS.DAYNUM = 1, תבדקי את ההגדרות של TEXTORD ובמיוחד TEXTLINE. תכתבי כאן איך הגדרת אותם.
- אוגוסט 16, 2021 בשעה 9:50 am
- in reply to: טבלת המשך פרטית
באופן תיאורטי, המיקום (טבלה רגילה או טבלת המשך) של שדה תלוי באחוז הרשומות שיהיה להן ערך בשדה הזה. אם לרוב השדות יהיה ערך, אזי עדיף להוסיף את השדה לטבלה הרגילה, אך אם רק למעט רשומות יהיה ערך, עדיף להוסיף את השדה לטבלת המשך: כך תחסכו מקום במסד הנתונים.למען האמת, אני רואה רק חסרונות בשימוש טבלאות המשך – צריך להוסיף קוד למסך לטפל בטבלה ובדוחות צריך להשתמש בחיבור מותנה כי לא ניתן לדעת אם יש רשומה מקבילה בטבלת ההמשך.
אני לא מבין למה הגדירו טבלאות כמו ORDERSA אם תמיד יהיה ערך בטבלת ההמשך. מבחינתי לא משנה אם מדובר בטבלה סטנדרטית או פרטית.
- אוגוסט 16, 2021 בשעה 7:39 am
- in reply to: יצירת דוח ממסך בן של – קבלות סחורה מספק
לעניות דעתי השיטה הזו לא תעבוד כי אין מספר תעודה (כמו DOCUMENTS.DOCNO) אם הדו"ח מתחיל מ-TRANSORDER. מנסיוני, מסמך HTML "דורש" מספר תעודה.יצחק ואני עבדנו על כמה מסמכי HTML בהם פרמטר PAR מחובר לטבלה אחת בהתחלה אך אחר כך מחובר לטבלה אחרת. אני לא יודע אם זה יעזור כאן.
אבל – אפשר לכתוב פרוצדורה קטנה שתהיה ההפעלה הישירה ומתבססת על PAR = TRANSORDER.TRANS – הפרוצדורה הזו יכולה למצוא את ה-DOC המקושר ולהפעיל מסמך HTML שמבוסס על DOCUMENTS.DOC. כיון שנדרש ליצור טבלה מלונקקת ולהפעיל את הפרוצדורה למסמך ה-HTML עם הטבלה הזו, ניתן להכניס את ערכו של TRANSORDER.TRANS באחד השדות של DOCUMENTS ולנצל זאת איכשהו בפרוצדורה של המסמך.
- אוגוסט 9, 2021 בשעה 10:06 am
- in reply to: משלוח מייל לאיש קשר
ב-BPM בסטטוס הרצוי, תבצע לחיצה ימנית ותבחר ב"חוקים". כאן אתה מגדיר את החוק אשר ישלח הודעה לאיש הקשר. תבחר "שלח הודעה", ובמקום "משתמש", תבחר "שדה במסך". אחר כך תוכל לבחור מאיזה שדה לקחת את הכתובת. הדגלים במסך הלקוחות נועדים לקבוע מי ייכנס באופן מחדלי למסמך, בלי כל קשר למשלוח מכתב.- אוגוסט 5, 2021 בשעה 7:57 am
- in reply to: תיאור שדות הנהלת חשבונות
כמו כל רשומה שתלויה בטבלת INVOICES, נדרשים השדות IV, IVNUM, TYPE ו-DEBIT. בנוסף נדרש ערך בשדה CUST (הספק).- אוגוסט 5, 2021 בשעה 7:54 am
- in reply to: שליחת דוח אוטומטי לעובד
את צריכה לכתוב פרוצדורה עם קורסור שמביא כל עובד והדוא"ל שלו עבור כל עובד שיש לו הזמנות בתחום התאריכים.הפקודה הראשונה תהיה DELETE FROM STACK והפקודה השניה תהיה INSERT INTO STACK כאשר מספרי ההזמנה מוכנסים לטבלה הזו.
הפקודה האחרונה בקורסור תהיה משלוח דואר לעובד, בסגנון
EXECUTE WINACTIV '-R', 'NAME OF YOUR REPORT', 'STACK', :$.STK, '-e',
:EMAIL;- יולי 22, 2021 בשעה 3:21 pm
- in reply to: הוספת "סטטוס פ"קע" ב-לוג תנות מלאי אחרונות
לא הבנת את הקטע של מזהים: כל טבלה שאת מוסיפה למסך קיים צריכה לקבל מזהה 5 או מעלה. 99% מהזמן ניתן להשתמש רק במזהה 5 – מספר גבוה נדרש אם אותה טבלה מופיעה יותר מפעם אחת וזה לא המקרה כאן.למען האמת גם לא נדרש להשתמש בסימני שאלה כי לכל פק"ע יש סטטוס לכן תמיד תהיה רשומה גם ב-SERIAL וגם ב-SERIALA. תעניקי ל-SERIALA מזהה 5 ותחברי בין SERIALA/5 ל-SERIALSTATUS/5. את חיברת את SERIAL ל-SERIALA/6 ואחר כך SERIALA/7 ל-SERIALSTATUS אבל שתי הטבלאות SERIALA אינן זהות לכן לא קיבלת את תאור הסטטוס הרצוי.
- יולי 22, 2021 בשעה 12:45 pm
- in reply to: העתקת מק"ט – בחירה בנתונים שלא יועתקו
ניתן לעשות זאת רק באמצעות פיתוח. צריך לעטוף את התכנית הסטנדרטית להעתקת פריטים בפרוצדורה מותאמת, כאשר בשלב האחרון הפרוצדורה יכולה לטפל בפריט/ים החדש/ים שנבנו ולאפס שדות מסוימים.- יולי 22, 2021 בשעה 12:39 pm
- in reply to: הרצת דו"ח קיים ושמירה כקובץ אקסל בנתיב קבוע
הקוד למטה יצור קובץ CSV שישמר בנתיב ידוע.:XLFILE = 'D:/PR_SQL/1/SPHS.CSV';
EXECUTE WINACTIVF '-x', :XLFILE, '-R', 'AUTO_TEST';אחר כך אפשר לשלוח את הקובץ בדוא"ל באמצעות MAILMESSAGE
לכאורה יש דרך מתועדת ב-SDK כיצד ניתן ליצור קובץ XLS אבל אף פעם לא הצלחתי בשיטה הזו. צריך קודם ליצור תבנית נתונים לדו"ח הרצוי לפני מנסים את השיטה הזו ואחר כך צריך לגלות מה מספר התבנית.
- יולי 18, 2021 בשעה 10:24 am
- in reply to: להוסיף לוגו לדו"ח פרטי
בנוסף, צריך לוודא השלב WWWLOGO מסומן כמודפס בתצורות! קל לשכוח זאת.- יולי 7, 2021 בשעה 4:16 pm
- in reply to: עדכון הדפסה נוספת
תסתכלי על הקוד של הדפסת חשבונית. "איכשהו" התכנית יודעת כאשר מדפיסים בפעם הראשונה כי ההדפסה הזו צריכה להיות "מקור" וכל הדפסה אחרת "העתק". הפקה למסך תמיד "העתק".נראה לי שהמשתנה :HTMLPRINTORIG קשור בסיפור אם כי לא מצאתי הסבר לגביו. לעומת זאת, המשתנה :SENDOPTION נראה מתאים מאד
:SENDOPTION (CHAR type) — stores the user's selection in the Print/Send Options dialogue box when a document is printed.
- מאי 26, 2021 בשעה 7:53 am
- in reply to: דוח הזמנות כפולות
נכון, דילגתי על מלה אחת במשפט "אני צריכה לקבל רק הזמנות שכל הפריטים הנמצאים בה קיימים גם בהזמנה אחרת".כתבתי משהו דומה (בדיקת כפילות בעצי מוצר) ולעניות דעתי אי אפשר בלי קורסור (בעצם שניים). בשלב ראשון צריך לשלוף זוג הזמנות של אותו לקוח עם מספר שורות זהה, על בסיס חלק ממה שכתבתי קודם. אחר כך בלולאה פנימית צריך לבדוק שכל פריט מופיע בשתי ההזמנות עם אותה הכמות.
ספק רק אם אפשר לעשות זאת בשאילתא אחת ואם כן, היא תהיה כל כך מסובכת שאף אחד לא יבין ולא יהיה ניתן להוכיח שהיא מביאה את התוצאות הרצויות.