› פורומים › אפיון ופיתוח פריוריטי › דו"ח הזמנות לקוח יומיות
- This topic has 17 תגובות, 3 משתתפים, and was last updated לפני 14 שנים, 3 חודשים by אורן קפלן.
- Post
-
- אוגוסט 8, 2010 בשעה 6:43 pm
היי לכולם,
שוב עבר מעט זמן מאז ההודעה האחרונה שלי כאן, אבל אני משתדל לעקוב.לעסקים:
המטרה היא לבנות דו"ח הזמנות לקוח יומיות שמקובץ על פי סוכן, לקוח ומשפחת מוצר.
אני מנסה, בין השאר, להכניס עמודה מחושבת שעושה חישוב גם של מספר משטחים למשפחת מוצר, מעבר למשקל הכולל.אני מתאר לעצמי שבלי העמודה הזו אין לי בעייה עם הדו"ח – אבל גם איתה לא צריכה להיות לי בעייה מעבר לטעויות חישוב.
איפה אני טועה?
אני מקבל את השגיאה המצורפת.הקובץ המצורף הוא מה שיוצא לי.
אורן
- Replies
-
- אוגוסט 9, 2010 בשעה 12:35 pm
התנאי הזה אינו תקין(ATOI(FAMILY.FAMILYNAME)=240 ? (PART.PARTNAME LIKE '24_______50____'
? 600 : 0)קיים סימן ה"אחרת" – : לתנאי הפנימי אך לא לחיצוני
- אוגוסט 9, 2010 בשעה 12:53 pm
וואי, איך לא שמתי לב?תודה ליאור!
עכשיו זה עובד.
ידעתי שחסר לי החלק השני של התנאי בשאר הברירות – עובדה שהוספתי אותם – אבל מסתבר שפספסתי תנאי.
תודה!
אורן
- אוגוסט 11, 2010 בשעה 12:41 pm
היי שוב,עכשיו שהדו"ח עובד יופי אני רוצה לעצב את התצוגה אחרת, ואולי על הדרך ללמד את עצמי לעבוד עם מסמכי HTML.
הקובץ זיפ המצורף מכיל קובץ וורד וקובץ אקסל.
התמונה הראשונה בוורד היא איך שהדו"ח שלי נראה כרגע.
התמונה השנייה היא איך אני מעצב אותו שייראה באקסל, ואיך שהייתי רוצה שייראה (פחות או יותר) כשהוא יוצא מהאקסל.מצורף ישר אחרי התמונות דאמפ של הפרוצדורה ואז של הדו"ח כפי שהם כרגע.
והקובץ אקסל זה מה שמופיע במסך 'עמודות הדו"ח' במחולל הדו"חות.אשמח אם מישהו יוכל להכווין אותי איך לעצב את הדו"ח נכון, כי עד עכשיו הנסיונות שלי לא הובילו אותי למקומות מועילים, לצערי.
אני מבין שמן הסתם התוצאה לא תהיה זהה למה שיש לי בטבלת פיבוט באקסל, אבל אני כן רוצה משהו בסגנון מבחינת סכימת התוצאות בדו"ח.
ואם זה לא בעייתי מדי להסביר, או לתת דוגמא איפה לחפש כזה, אז אולי אפילו לאפשר להציג כמה טבלאות – כמו שיש לי באקסל כמה פיבוטים – כל אחת מעוצבת קצת אחרת.מקווה שלא סיבכתי יותר מדי, אבל עדיף מראה עיניים מאשר עוד כמה פסקאות לתאור.
יום טוב!
אורן [file name=tmp.zip size=107055]https://www.priority-forums.com/he/images/fbfiles/files/tmp.zip[/file]
- אוגוסט 15, 2010 בשעה 12:49 pm
הי אורן
שים S-ים על המשקל והמשטחים. שיציגו סכומים מקובצים לפי המבנה שבתמונה השניה- אוגוסט 15, 2010 בשעה 1:03 pm
היי ליאור,ניסיתי את מה שהצעת – זה נותן לי סכום בתחתית הדו"ח בלי קיבוץ וסיכום לקבוצה כמו שאני צריך.
אם למשל יש לי כמה שורות הזמנה מאותה משפחה אני רוצה לראות בדו"ח רק שורה אחת.
תודה
אורן
- אוגוסט 15, 2010 בשעה 1:30 pm
אתה לא מסמן בעמודה הנכונה
יש עמודת סיכום שנקראת "חישוב עמודה". אותה אתה צריך לסמן ב S.בהצלחה
- אוגוסט 15, 2010 בשעה 2:53 pm
שוב המון תודה!ידעתי שראיתי הסבר על זה איפשהו אבל איכשהו פספסתי את זה כל הזמן.
יוצא עכשיו ממש פיקס.
תודה!
- אוגוסט 16, 2010 בשעה 12:58 pm
היי שוב,דבר אחרון.
עשיתי כמה נסיונות ואני עדיין לא מבין מה אני מפספס.
הכל יצא נכון (ובגלל זה חשבתי שסיימתי) חוץ מהסיכום של הסוכן האחרון בדו"ח.
כלומר – יש סיכום בנפרד לכל תאריך, בנפרד לכל סוכן, אבל לסוכן האחרון שמופיע בדו"ח אין סיכום והאופציה לסגור את הקבוצה לא מכילה את השורה האחרונה של הסוכן. בתמונה המצורפת רואים שחסר 'סה"כ לשם סוכן' לסוכן האחרון, ומסומנת השורה שלא מצטמצמת אם סוגרים את הסוכן. בחלק העליון הסוכן "פתוח" ובחלק התחתון "סגור" והשורה עדיין "פתוחה" ואין סיכום…
הפירוט של העמודות במחולל הדו"חות מצורף.
תודה
אורן
- אוגוסט 19, 2010 בשעה 3:06 pm
אוקייזה עבד, ועכשיו הבוס ככ מרוצה שהוא רוצה עוד דבר אחד אחרון, שמשגע לי את הצורה:
חלוקה של ההזמנות לפי סוג מוצרים – כעקרון – עבור כל כמה משפחות מוצר לתת שם על ולסכום לפיו.
אין לי בעיה לכתוב את הקוד לזה והדו"ח עובד ומעוצב יופי בלעדיו. אבל מהרגע שאני מוסיף עמודה עם הקוד הוא נותן לי את השגיאה הזו:
דו'ח repprep.q', line 10: FAMILY.FAMILYNAME Illegal reference in the GROUP BY clause :SPIR_SALESAGNTCSTFML'.אגב, לא משנה אם אני מסתיר את העמודה החדשה, אם היא בהתחלה או בסוף הדו"ח. ברגע שאני סוכם על העמודה של המשקל והעמודה של מספר המשטחים הוא מתחרפן.
רוחב העמודה – 6, טיפוס – RCHAR
מצורף הקוד שאני מנסה להוסיף:(FAMILY.FAMILYNAME LIKE '2__' ?
(FAMILY.FAMILYNAME NOT LIKE '250' ? '`
סטרץ
' :
'לוחות'
) : (FAMILY.FAMILYNAME LIKE '4__' ?
(FAMILY.FAMILYNAME LIKE '41_' ?
'סלסלות'
: (FAMILY.FAMILYNAME LIKE '42_' ?
'מצעים'
:
'יריעות'
)) : (FAMILY.FAMILYNAME LIKE '6__' ?
'לוחות'
: (FAMILY.FAMILYNAME LIKE '5__' ?
(FAMILY.FAMILYNAME NOT LIKE '510' ?
'מגשים'
:
'גלילים'
) : (FAMILY.FAMILYNAME LIKE '3__' ?
(FAMILY.FAMILYNAME NOT LIKE '330' ?
'מגשים'
:
'סרטים'
) :
(FAMILY.FAMILYNAME LIKE '710' ?
'לוחות'
: ''))))))אורן
- אוגוסט 19, 2010 בשעה 6:01 pm
מה רשום בביטויים של הסכומים ? תעתיק בבקשה להודעה והעלה- אוגוסט 22, 2010 בשעה 2:08 pm
הביטוי לעמודה משקל (שהיא גם עמודה מחושבת 45):
PARTPARAM.WEIGHT * ORDERITEMS.TQUANT / 100.0
הביטוי לעמודה משטחים:
ORDERITEMS.TQUANT / 100 * (#70 <= 0 ? 0 : ( 1.0 / #70))
כאשר העמודה המחושבת 70 היא:
(FAMILY.FAMILYNAME LIKE '2__' ?
(FAMILY.FAMILYNAME LIKE '210' ? 456 :
(FAMILY.FAMILYNAME LIKE '220' ?
(PART.PARTNAME LIKE '22_______16____' ? 736 :
(PART.PARTNAME LIKE '22_______08____' ? 736 :
(PART.PARTNAME LIKE '22_______20____' ? 800 :
(PART.PARTNAME LIKE '22_______196___' ? 784 : -1)))) :
(FAMILY.FAMILYNAME LIKE '230' ? 2484 :
(FAMILY.FAMILYNAME LIKE '240' ?
(PART.PARTNAME LIKE '24_______50____' ? 600 :
(PART.PARTNAME LIKE '24_______60____' ? 600 : -1)) : -1)))) :
(FAMILY.FAMILYNAME LIKE '4__' ?
(FAMILY.FAMILYNAME LIKE '41_' ?
(FAMILY.FAMILYNAME LIKE '410' ? 14400 :
(FAMILY.FAMILYNAME LIKE '411' ? 12000 :
(FAMILY.FAMILYNAME LIKE '412' ? 17280 :
(FAMILY.FAMILYNAME LIKE '413' ?
(PART.PARTNAME LIKE '413____1125%' ? 18000 :
(PART.PARTNAME LIKE '413____1200%' ? 19200 :
(PART.PARTNAME LIKE '413____1320%' ? 21120 : -1))) : -1)))) :
(ORDERITEMS.TQUANT * 5 / #45)) :
(FAMILY.FAMILYNAME LIKE '6__' ? (ORDERITEMS.TQUANT * 5 / #45) :
(FAMILY.FAMILYNAME LIKE '530' ? 23000 :
(FAMILY.FAMILYNAME LIKE '520' ? 12000 :
-1)))))העמודה הנוספת שאני מנסה להוסיף:
(FAMILY.FAMILYNAME LIKE '2__' ?
(FAMILY.FAMILYNAME NOT LIKE '250' ? '`
סטרץ
' :
'לוחות'
) : (FAMILY.FAMILYNAME LIKE '4__' ?
(FAMILY.FAMILYNAME LIKE '41_' ?
'סלסלות'
: (FAMILY.FAMILYNAME LIKE '42_' ?
'מצעים'
:
'יריעות'
)) : (FAMILY.FAMILYNAME LIKE '6__' ?
'לוחות'
: (FAMILY.FAMILYNAME LIKE '5__' ?
(FAMILY.FAMILYNAME NOT LIKE '510' ?
'מגשים'
:
'גלילים'
) : (FAMILY.FAMILYNAME LIKE '3__' ?
(FAMILY.FAMILYNAME NOT LIKE '330' ?
'מגשים'
:
'סרטים'
) :
(FAMILY.FAMILYNAME LIKE '710' ?
'לוחות'
: ''))))))הדו"ח בלי התוספת עמודה:
/*
*
* Report SPIR_SALESAGNTCSTFML : ומשפחה לקוח ,סוכן לפי הזמנות
*
*//* הזמנות לפי סוכן, לקוח ומשפחה */
SELECT ORDERS.CURDATE AS 'תאריך',
AGENTS.AGENTNAME AS 'סוכן שם',
CUSTOMERS.CUSTDES AS 'לקוח שם',
ORDERS.ORDNAME AS 'הזמנה',
FAMILY.FAMILYDES AS 'משפחה תאור',
SUM((0.0 + (PARTPARAM.WEIGHT * ORDERITEMS.TQUANT / 100.0))) AS 'משקל',
SUM((0.0 + (ORDERITEMS.TQUANT / 100 * (((FAMILY.FAMILYNAME LIKE '2__'
? (FAMILY.FAMILYNAME LIKE '210' ? 456 : (FAMILY.FAMILYNAME LIKE '220' ?
(PART.PARTNAME LIKE '22_______16____' ? 736 : (PART.PARTNAME LIKE '22_______08____'
? 736 : (PART.PARTNAME LIKE '22_______20____' ? 800 : (PART.PARTNAME LIKE
'22_______196___' ? 784 : -1)))) : (FAMILY.FAMILYNAME LIKE '230' ? 2484
: (FAMILY.FAMILYNAME LIKE '240' ? (PART.PARTNAME LIKE '24_______50____'
? 600 : (PART.PARTNAME LIKE '24_______60____' ? 600 : -1)) : -1)))) : (FAMILY.FAMILYNAME
LIKE '4__' ? (FAMILY.FAMILYNAME LIKE '41_' ? (FAMILY.FAMILYNAME LIKE '410'
? 14400 : (FAMILY.FAMILYNAME LIKE '411' ? 12000 : (FAMILY.FAMILYNAME LIKE
'412' ? 17280 : (FAMILY.FAMILYNAME LIKE '413' ? (PART.PARTNAME LIKE '413____1125%'
? 18000 : (PART.PARTNAME LIKE '413____1200%' ? 19200 : (PART.PARTNAME LIKE
'413____1320%' ? 21120 : -1))) : -1)))) : (ORDERITEMS.TQUANT * 5 / (PARTPARAM.WEIGHT
* ORDERITEMS.TQUANT / 100.0))) : (FAMILY.FAMILYNAME LIKE '6__' ? (ORDERITEMS.TQUANT
* 5 / (PARTPARAM.WEIGHT * ORDERITEMS.TQUANT / 100.0)) : (FAMILY.FAMILYNAME
LIKE '530' ? 23000 : (FAMILY.FAMILYNAME LIKE '520' ? 12000 : -1)))))) = 210 )
AND ( ATOI( FAMILY.FAMILYNAME ) < 810 ))
AND (DUMMY.DUMMY =1
AND ORDSTATUS.ORDSTATUSDES NOT LIKE 'טיוטא'
AND ORDSTATUS.ORDSTATUSDES NOT LIKE '%מבוטל')
AND (PART.FAMILY = FAMILY.FAMILY)
AND (ORDERITEMS.PART = PART.PART)
AND (ORDERS.ORDSTATUS = ORDSTATUS.ORDSTATUS)
AND (ORDERS.AGENT = AGENTS.AGENT)
AND (ORDERS.CUST = CUSTOMERS.CUST)
AND (ORDERS.ORD = ORDERITEMS.ORD)
AND (ORDERS.CURDATE BETWEEN :FDT
AND :TDT)
AND ( 1=1 )
GROUP BY 1, 2, 3, 4, 5
ORDER BY 1 ASC, 2 ASC, 3 ASC, 5 ASC ;- אוגוסט 23, 2010 בשעה 9:45 am
תחבר עוד טבלת FAMILY עם מזהה 1, כלומר עוד JOIN מ PART ל FAMILY. תדאג ה עמודות של FAMILY שיושבות בתוך הסכומים יבואו מתוך FAMILY מזהה אפס ואלו שמוצגות יבואו מ FAMILY מזהה 1 או להיפךהעיקר שהדוח יתייחס אליהן כטבלאות שונות
- אוגוסט 24, 2010 בשעה 12:49 pm
אוקיי, שני דברים:
אחד: FAMILY1.FAMILYNAME Unresolved identifier זו השגיאה שהוא נותן בהקשר להצעה של ליאור.
השאלה היא איך להתייחס למזהה – עמודה מחושבת עם מזהה או משהו?שתיים: המנכ"ל שלי ביקש שתהיה בדו"ח התייחסות לביטולי הזמנות (ע"י לקוח) כדי שיוכל לעקוב אחרי כמות הזמנות אמיתית. כלומר – הזמנה בפלוס וביטול במינוס.
אני קראתי בזמנו את מה שליאור ואלון כתבו כאן וישר חשבתי על זה בתור פתרון:
במקום לעקוב אחרי שורות הזמנה אני יכול לעקוב אחרי שורות הזמנה שהשורה האחרונה בלוג הסטטוסים שלהם היא הסטטוס והתאריך במקום אלו המקושרים להזמנה ישירות.אם לא הייתי קורא את מה שליאור כתב הייתי מנסה לעשות את זה בשיטה שאלון הציע, אבל לאחר מחשבה אולי יותר נכון לעשות את זה איך שתאר ליאור. אני מכיר את הרעיון הכללי של קישור לטבלה זמנית אבל בSDK עוברים על זה בצורה רדודה, עוד לא שיחקתי עם זה, ואני לא מכיר דוגמא טובה שעובדת שאני יכול לבדוק. אשמח להסבר יותר מעמיק בנושא בהקשר שלי, בפתיל הזה או בפתיל המקור בו תוארה הבעיה.
תודה
אורן
- יש להתחבר למערכת על מנת להגיב.