קלט תאריך

  • Post
    sayo
    משתתף
    היי,
    בניתי דוח המכיל 2 סוגי חשבוניות ובתוכו יש קלט של תאריך
    איך אני יכולה לעדכן שהתאריך יהיה מכוון לחשבונית מרכזת ולא לחשבונית ספק? (כי שניהם באים מטבלת INVOICES)?
    תודה
מוצגות 15 תגובות – 1 עד 15 (מתוך 19 סה״כ)
  • Replies
    123
    משתתף
    INVOICES.TYPE IN('A','C','F','E') AND INVOICES.FINAL='Y' AND INVOICE.STORNOFLAG="

    if you using summary functions in your report you need to check INVOICE.DEBIT and multiply his value by -1 if required.

    sayo
    משתתף
    איך כל זה קשור לתאריך?
    בדוח יש שני תאריכים- אחד לחשבונית מרכזת והשני לחשבונית ספק
    אני רוצה שקלט התאריך יחפש לפי מסך חשבונית מרכזת ולא לפי מסך חשבונית ספק
    Lior
    מנהל בפורום
    תשימי את הדגל או התנאי על העמודה שמייצגת חשבונית מרכזת (כתבת שיש לך שתי עמודות תאריך בדוח לא ?)
    sayo
    משתתף
    טעיתי, יש לי רק עמודה אחת של תאריך,זה פשוט דוח טבלאי אז גם אין לי שתי עמודות של חשבוניות יש לי עמודה אחת שמתחלקת לפי סוגי התעודות
    עדין לא הבנתי איך התנאי של ינאי יעזור…
    אשמח לעזרההה
    sayo
    משתתף
    אם אני יעשה במקום זה INPUT, אני יכולה לרשום ב-SQL :
    SELECT IVDATE INTO :$.FDT FROM CINVOICES
    או שאני לא יכולה לרשום שם מסך אלא רק שם טבלה?
    snoof123
    משתתף
    אם את פונה לSQL אני לא חושב שאת יכולה לפנות למסך אלא לטבלאות. בכל אופן, כדי לבקש מהמערכת רק חשבוניות מרכזות זה ההסבר:

    כל החשבוניות יושבות בטבלת INVOICES
    החלוקה שלהם לסוגי החשבוניות היא לפי עמודת TYPE
    אם תכתבי
    TYPE IN('C','A','F','E')
    זה תנאי שידאג שיגיעו רק חשבוניות המכירה.
    אם תרשמי:
    TYPE = 'C'
    זה יביא רק חשבוניות מרכזות.
    את משתמשת בתאריכים רגיל. הם לא קשורים לסוג החשבונית.
    כדי לסנן חשבוניות לא רלבנטיות את משתמשת בסינון לפי עמודת TYPE
    מקווה שלזה התכוונת בשאלה שאלה 🙂

    sayo
    משתתף
    אני משתמשת בTYPE אך הוא מסומן כעמודת X בטבלה אז אני לא יכולה לבטל את שאר החשבוניות כי אני צריכה אותן
    וזאת הבעיה, קלט התאריך מתייחס לכל החשבוניות- אז השאלה שלי היא איך לכוון אותו להתייחס רק לחשבוניות מרכזות?
    sayo
    משתתף
    אני יכולה לרשום דבר כזה:
    SELECT IVDATE INTO :$.FDT FROM INVOICES WHERE INVOICES.TYPE = 'C';
    או שצריך להוסיף משהו?!
    sayo
    משתתף
    מישהו משהו?
    אלמוני
    אורח
    מה אתה מנסה להשיג מזה? התכנית תעבוד עבור כל חשבונית עם סוג C לכן הערך ב-FDT יהיה די אקראי. היה יותר טוב לו היית מציין ערך נוסף כמו IVNUM או IV.
    נעם
    אלמוני
    אורח
    עכשיו קראתי את כל התכתובת ואני חושב שאוכל לתת תשובה שתעזור.
    לפי מה שהבנתי, יש דו"ח טבלאי שמציג נתונים מחשבוניות מסוגים שונים ורוצים להגביל את תחום התאריכים בסוג מסוים של חשבוניות.

    יש קלט FDT אשר מכיל תאריך. בדו"ח,צריך להוסיף שורה ולרשום כך: בשדה "עמודת טבלה" תרשום IVDATE ובשדה "שם טבלה" תרשום INVOICES. תסמן את השורה כלא מוצגת. במסך הבן "עמודות הדו'ח – הרחבה" תרשום כך

    ׂׂ(INVOICES.TYPE = 'C' ? :FDT : INVOICES.IVDATE)=

    משמעות הדבר: אם סוג החשבונית C (דהיינו, חשבונית מרכזת), אז רק חשבוניות שהתאריך שלהם שווה ל-FDT תוצגנה. אם סוג החשבונית אינו C, אז אין תנאי לגבי התאריך.

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

    sayo
    משתתף
    תודה רבה על התגובה!
    הכנסתי את הביטוי אך כעת הוא לא מציג לי כלל את החשבוניות המרכזות…
    פרמטר FDT הכנסתי לINPUT, האם אני צריכה להכניס גם לפרמטרים לפרוצדורה של הדוח? ואם כן, איך?
    אלמוני
    אורח
    האם יש לך דו"ח בלבד או פרוצדורה שאוספת נתונים ובסוף יש דו"ח? הביטוי שכתבתי יהיה טוב גם בפרוצדורה, אם כי צריך להשתמש ב-FDT.$:.

    אגב, אין צורך בשלב INPUT אם יש שלב SQLI: ניתן לרשום את הפרמטרים בשלב SQLI (למשל התכנית ABCRAW: מכניסים את הפרמטרים לתוך שלב SQLI).

    היה רצוי להציג את קוד השאילתא המלא כאן כי אז יהיה הרבה יותר קל להבין מה את מנסה לעשות ולראות איפה השגיאה.

    נעם

    sayo
    משתתף
    אם אפשר לעשות זאת ללא פרוצדורה אז עדיף…
    אך אם אין פרוצדורה אז למה שווה FDT?
    אלמוני
    אורח
    אם אין פרוצדורה (קרי שלב SQLI) אז את חייבת שלב INPUT בשביל FDT. זה מפני שהתאריך אינו תקף עבור הטבלה כולה אלא "סתם" תאריך (כך אני מבין).
מוצגות 15 תגובות – 1 עד 15 (מתוך 19 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.