ממשק פתיחת הזמנת רכש

פורומים אפיון ופיתוח פריוריטי ממשק פתיחת הזמנת רכש

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

    INSERT INTO GENERALLOAD (LINE, RECORDTYPE, TEXT8, INT4, REAL1 ,
    TEXT11 , REAL2)

    SELECT :LINE+1 , '2' , PART.PARTNAME , ORDERITEMS.QUANT/1000 , ORDERITEMS.PRICE , CURRENCIES.CODE , ORDERITEMS.PERCENT
    FROM ORDERITEMS , PART , CURRENCIES , ORDERS
    WHERE ORDERITEMS.PART = PART.PART
    AND ORDERITEMS.CURRENCY = CURRENCIES.CURRENCY
    AND ORDERITEMS.ORD = ORDERS.ORD


    תודה וסופ"ש נעים.

מוצגות 2 תגובות – 1 עד 2 (מתוך 2 סה״כ)
  • Replies
    אלמוני
    אורח
    כמה הערות:
    1. אם רושמים את מספר הזמנת הלקוח בשדה "הזמנה" של כותרת הזמנת הרכש, השורות נכנסות "בעצמן", ללא צורך בממשק.
    2. האם אתה בודק את תוצאות הממשק, בדרך כלל בקוד כמו

    SELECT MESSAGE INTO :PAR1 FROM ERRMSGS
    WHERE USER = SQL.USER AND TYPE = 'i';
    ERRMSG 99 WHERE :RETVAL > 0;

    כאשר ERRMSG 99 כמובן מציג את הערך של PAR1, קרי הודעת השגיאה. אפשר גם להפעיל אוטומטית את הדו"ח INTERFACEERR שמציג את כל הודעות השגיאה ולא רק הראשונה.

    מה שמופיע בהודעת השגיאה בדרך כלל מביא לפתרון כי כך יודעים מה הבעיה האמיתית.

    לכולם – שנה טובה!

    yitzchok
    משתתף
    IL
    התשובה של נעם עשויה לעזור הרבה
    אני רוצה להוסיף עליה

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

    הדבר הראשון שבולט לי זה שגם אם הפעולה היתה נכונה, היית מצליחה רק ליצור שורה *נוספת* ורק אחד. השאילתא אמורה להביא כמה שורות אבל הביטוי
    :LINE + 1
    יצור ערך זהה עבור LINE לכולן ורק אחד תכנס
    אולי התכוונת לשים SQL.LINE אבל זה לא היה שיש כאן

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

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

    בהצלחה ושנה טובה

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 2 תגובות – 1 עד 2 (מתוך 2 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.