› פורומים › אפיון ופיתוח פריוריטי › עדכון מקסימום תאריך אך עם תנאי נוסף
- This topic has 48 תגובות, 2 משתתפים, and was last updated לפני 8 שנים, 5 חודשים by
yitzchok.
- Post
- Replies
-
- ינואר 31, 2017 בשעה 4:37 pm
הורדתי את שורת התנאי שהוספתי ולהן הדוח:/* פירוט החזרות סחורה מלקוח */
SELECT DOCUMENTS.CURDATE AS 'תעודה תאריך',
DOCUMENTS.DOCNO AS 'תעודה',
CUSTOMERS.CUSTNAME AS 'לקוח .מס',
CUSTOMERS.CUSTDES AS 'לקוח שם',
DOCUMENTS.DETAILS AS 'פרטים',
PART.PARTNAME AS 'ט"מק',
PART.PARTDES AS 'מוצר תאור',
REALQUANT(TRANSORDER.TQUANT) AS 'כמות',
(MIN(TODOLIST.UDATE)) AS 'תעודה הקמת תאריך',
MAX(INVOICEITEMS.IVDATE) AS 'אחרונה מכירה תאריך'
FROM WAREHOUSES , INVOICES , TODOLIST , INVOICEITEMS , TRANSORDER
, PART , CUSTOMERS , DOCUMENTS
WHERE (DOCUMENTS.TOWARHS = WAREHOUSES.WARHS)
AND (WAREHOUSES.WARHSNAME '50')
AND (TRANSORDER.TYPE = 'N')
AND (INVOICES.TYPE = 'A')
AND (DOCUMENTS.TYPE = 'N')
AND (INVOICES.STORNOFLAG 'Y')
AND (INVOICEITEMS.PART = PART.PART)
AND (DOCUMENTS.TYPE = TRANSORDER.TYPE)
AND (INVOICES.FINAL = 'Y')
AND (INVOICES.CUST = CUSTOMERS.CUST)
AND (INVOICEITEMS.IV = INVOICES.IV)
AND (DOCUMENTS.DOCNO = TODOLIST.DOCNO)
AND (TRANSORDER.PART = PART.PART)
AND (DOCUMENTS.DOC = TRANSORDER.DOC)
AND (CUSTOMERS.CUST = DOCUMENTS.CUST)
AND ( 1=1 )
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8
HAVING MAX(INVOICEITEMS.IVDATE) <= ((MIN(TODOLIST.UDATE)))
AND ( 1=1 )
ORDER BY 2 ASC ;
- ינואר 31, 2017 בשעה 6:37 pm
לא ברור לי מה הבעיה.ה"תנאי" שהבנתי שהוא בעייתי זה
HAVING MAX(INVOICEITEMS.IVDATE) <= ((MIN(TODOLIST.UDATE)))
וזה עוד שם.
אז מה זה שהורדת? חישוב של הפרש בימים שזה הנושא האחרון עליו דיברנו?
יש לי (והיה לי כבר לפני כמה ימים) שהדו"ח הזה לא ישיג את המטרה.
כתבת:
הבקשה שלי בכל הנושא הזה הוא שתאריך החשבונית יהיה שווה או נמוך מתאריך תעודת ההחזרה.
המטרה היא להציג את התאריך האחרון שבו נמכר ללקוח המוצר לבין התאריך בו הוא מחזיר אותו.התכוונת ל-"לפני התאריך בו הוא מחזיר אותו" ??
כי זה לא מה שקורה כאן. את מקבלת החזרות כל עוד לא נמכר אותו המוצר לאותו לקוח מאז ההחזרה. (יכול להיות עוד דיוקים מעבר לזה אבל לי נראה שזה מספיק)
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- פברואר 2, 2017 בשעה 3:50 pm
זה עובד נכון לגבי הצגת התאריך האחרון (טרם בדקתי מה רושם אם לא היו מכירות…)
אבל מה שאני מנסה לעשות עכשיו זה להציג את הפרש התאריכים.
זה לא נמצא בקוד שהצגתי כי הורדתי אותו…- פברואר 2, 2017 בשעה 4:33 pm
הוספת את הביטוי (בצורת (MIN(X) – MAX(Y או איך שצריך להיות – אולי #70 – #80 יעבוד (לא הקפדתי במספרים אלה, סתם כתבתי)) בעמודה ושמת F בעמודת הפונקציה?
(העמודה בה יש I ו-M כרגע עבור עמודות דו"ח אחרות)
בדיוק לזה מיועדת האופציה F[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- פברואר 20, 2017 בשעה 2:07 pm
כן, הכנסתי #80 – #70 ובחישוב העמודה שמתי F אבל אני מקבלת שגיאה:
דו'ח repprep.q', line 13: parse error at or near symbol <= :RETURNS'.
שכנראה מתייחס לשורה
HAVING MAX(INVOICEITEMS.IVDATE) <= ((MIN(TODOLIST.UDATE)))- פברואר 21, 2017 בשעה 12:21 am
עדיף להדביק כבר את כל השאילתא ולשים בקטע של פירמוט קוד בבקשה כדי שלא ישובש[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- פברואר 21, 2017 בשעה 3:31 pm
לא עוזר לי כי עשית שינוי…כתבת
כן, הכנסתי #80 – #70 ובחישוב העמודה שמתי F אבל אני מקבלת שגיאה:
דו'ח repprep.q', line 13: parse error at or near symbol <= :RETURNS'.
שכנראה מתייחס לשורה
HAVING MAX(INVOICEITEMS.IVDATE) <= ((MIN(TODOLIST.UDATE)))אני לא מבין מאיפה באה המילה RETURNS? זה חלק מציטוט הודעת השגיאה? יש לך משתנה RETURNS: בביטוי כלשהו אצלך?
הרי את אומרת "כנראה מתייחס" אבל למה את מגיעה למסקנה הזאת? הרי ה-HAVING היה בסדר גמור קודם אז למה להצביע על זה עכשיו אם עשית שינוי אחר שלא קשור?בבקשה אם אפשר נסי לסיים טיפול בכל נושא מהר כי בגלל ההפסקה של שבועיים אני כבר לא אחזתי ראש בזה
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- פברואר 22, 2017 בשעה 5:09 pm
RETURNS זה שם הדוח לצורך העניין
ותוריד את ההערה שלי…אז איך אני יכולה להכניס את החישוב מבלי לקבל שגיאה?
- פברואר 23, 2017 בשעה 11:52 am
1. אני חושב שאני יודע מה יש לעשות אבל לא רוצה לסבך אם זה לא יעזור ובינתיים לא היה לי זמן לבדוק את זה.2. אין לשם דו"ח שלך קידומת. למה לא? הסתרת אותה? או את לא שמה קידומות?
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- פברואר 27, 2017 בשעה 4:12 pm
בקשר לשגיאהניסיתי אצלי
יכול להיות ששמת
#80 >= #70
במקום
#80 - #70
זה היה מתאים לשגיאה
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- מרץ 14, 2017 בשעה 11:04 am
את עדיין תקועה עם זה?
זה לוקח יותר מדי זמן
אולי פני אלי ישירות[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
- יש להתחבר למערכת על מנת להגיב.