NoamN

Forum Replies Created

מוצגות 15 תגובות – 151 עד 165 (מתוך 442 סה״כ)
  • Replies
  • NoamN
    משתתף
    none
    עמדנו בפני אותה בעיה (או עם שינוי קל) לפני כמה חודשים. אנחנו עובדים בשיטה המסורתית עם שרת אצלנו וממשק חלונות ורשיונות צפים. הודיעו לנו שמעלים את דמי הרשיון בכ-20% אלא אם נעבור לווב.  בדקתי  וגיליתי שיש לנו כמעט פי שתיים משתמשים מאשר רשיונות כך מעבר לרשיון שמי כפי נדרש לממשק וובי יעלה לנו יותר מתוספת 20%.

    כמעט כל המשתמשים אצלי נייחים ואינם זקוקים ליתרונות שממשק הווב לכאורה מביא.

    NoamN
    משתתף
    none
    תתיחסו אל הפריט שאתם רוכשים מהספק הראשון כפריט מיוצר עם עץ מוצר. אחרי שתקלטו את הפריט למלאי, תבצעו בו הרכבה – למעשה תהפכו אותו לחלקים שלו. אפשר לעשות זאת גם בניפוק לשימוש שוטף: הפריט שנרכש מנופק והחלקים נרשמים עם כמות שלילית, שמכניסה אותם למלאי.
    NoamN
    משתתף
    none
    אל תדפיסי את המקור באופן פיזי. בתיבת השיח שמופיעה לגבי יעד הדפסה (הדפסה, הצגה, דואר וכו'), תבחרי ב"דואר אוטומטי" כאשר "כמסמך PDF" גם מסומן.

    אצל הלקוח צריך להיות מוגדר כתובת דוא"ל ובנוסף צריך להיות מסומן הדגל "מקבל מסמכים ממוחשבים" במסך "הגדרות כספים ללקוחות".

    לאחר השידור, קובץ ה-PDF יחובר אוטומטית לנספחים של החשבונית, כך ניתן להדפיס את קובץ ה-PDF שמכיל את החשבונית פיזית אחרי המשלוח כאשר בהדפסה יופיע "מקור".

    NoamN
    משתתף
    none
    אם את משתמשת בממשק עם שם קבוע, את צריכה להעתיק את הקובץ שלך ולתת לעותק את השם הרצוי. אפשר לעשות זאת בפריוריטי באמצעות COPYFILE. ניסיתי לרשום כאן קוד אבל קיבלתי הודעת שגיאה.

    אנסה בהודעה פרטית בהמשך.

    NoamN
    משתתף
    none
    ראיתי את צילום המסך אחרת לא הייתי כותב את מה שכתבתי. אני משער שנסיון לשנות את שם ההפעלה ייכשל. לכן אין ברירה אלא להתשמש ב"אופציה הגרעינית": ב-WINDBI תכתוב

    INSERT INTO SYSCONST (NAME, VALUE)
    VALUES ('DEVCENTER', 1);

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

    רצוי לאחר מכן להפעיל את WINDBI עם הפקודה

    UPDATE SYSCONST SET VALUE = 0 WHERE NAME = 'DEVCENTER';

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

    NoamN
    משתתף
    none
    יש כמה דרכים לטפל במצב הזה. הדרך הכי פשוטה: תן להפעלה שם עם קידומת, כמו TEST_CHOOSE-FIELD.

    הדרך היותר מסוכנת תהיה להגדיר קבוע מערכת שאינו מתועד באף מקום אך יתגבר על ההודעה הזו. שיטה זו מסוכנת מפני שהקבוע הופך אותך לטבולה מ-PS עם האפשרות לערוך שינויים בכל מקום, גם במקומות שאסור לך.

    האם ההפעלה מוגדרת לעמודת המסך הנכונה?

    NoamN
    משתתף
    none
    בהמשך למה שכתבתי קודם, השם הפנימי למסך "חוזי שרות" באמת DOCUMENTS_Z. במקרה כזה, מוטב לא להוסיף שדה פרטי לטבלת DOCUMENTS כי כך אותו שדה יופיע בכל מסך שמבוסס על טבלת DOCUMENTS (ויש הרבה כאלה!). יותר טוב להוסיף אותו לטבלת SERVCONT אבל זה יוצר כל מיני בעיות אחרות (ראה את הדיון לגבי טבלאות המשך).

    תצטרך להגדיר את השדה במסך כמו שמוגדרת עמודת המסך VALIDDATE. כמו כן תצטרך לכתוב הפעלות POST-INSERT ו-POST-UPDATE פרטיות למסך כדי לדאוג לעדכון שדה התאריך בטבלת SERVCONT. בנוסף, הפעלת POST-INSERT הפרטי חייב להתבצע אחרי ה-POST-INSERT הסטנדרטי מפני שההפעלה הזו מכניסה רשומה לתוך SERVCONT. כדי לקבוע את הסדר נכון, תן להפעלה הפרטית של כמו TEST_POST-INSERT – הקידומת חייבת להתחיל עם אות שבאה אחרי P בסדר א-ב.

    אף אחד לא אמר שתכנות פריוריטי קלה!

    NoamN
    משתתף
    none
    תסתכל בהגדרות במסך PINVOICEITEMS, בשדות טבלת חיתוך ומזהה ותשלוף מ"טבלת חיתוך" את ACCOUNTS. אתה אמור לקבל שתי שורות, שהן מקבילות לשתי השורות שאתה רואה במסך. באחת מהן, הטבלה ACCOUNTS מזהה 0 מקושר ל-INVOICEITEMS.ACCOUNT (זה כרטיס ההוצאות). לשורה שניה יש מזהה 1 (לדייק 1?), כאשר החיבור אל INVOICEITEMSA.ACCOUNT. סימן השאלה נדרש כי לא ערבון שתהיה רשומה מתאימה ב-INVOICEITEMSA. מזהה 1 נדרש כי מדובר באינסטנציה אחרת של ACCOUNTS.

    באמצעות WINDBI אתה יכול לבצע DUMP של המסך בו תראה משהו כמו

    SELECT ACCOUNTS.ACCNAME AS 'DEBIT ACCOUNT',
    ACCOUNTS1.ACCNAME AS 'DESTINATION ACCOUNT'
    FROM INVOICES, INVOICEITEMS, INVOICEITEMSA ?,
    ACCOUNTS, ACCOUNTS ACCOUNTS1
    WHERE INVOICES.IV = INVOICEITEMS.IV
    AND INVOICES.TYPE = INVOICEITEMS.TYPE
    AND INVOICEITEMS.IV = INVOICEITEMSA.IV
    AND INVOICEITEMS.KLINE = INVOICEITEMSA.KLINE
    AND INVOICEITEMS.ACCOUNT = ACCOUNTS.ACCOUNT
    AND INVOICEITEMSA.PDACCOUNT= ACCOUNTS1.ACCOUNT
    WHERE INVOICES.IVNUM = …

    כמו שכתבתי בהתחלה, יש שימוש בטבלת ACCOUNTS פעמיים: אחת "רגילה" ואחת באמצעות ALIAS.

    NoamN
    משתתף
    none
    השדה שהוספת לטבלה – טיפוס DATE?

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

    מקבלים הודעה "ערך … לא קיים" כאשר שדה מוגדר לא נכון במסך. אף פעם לא ראיתי את ההודעה לגבי שדה תאריך.

    NoamN
    משתתף
    none
    <p style="text-align: right;">אפשר לפשט את הביטוי קצת (סימן הכפל צריך להיות אחרי QUANT, כמובן)</p>

    <p style="text-align: right;"> REALQUANT (SUM (INVOICEITEMS.QUANT *
    (INVOICES.DEBIT = 'C' ? -1.0 : 1.0)))</p>

    רשמת חילוק ב-10,000 – מעבר לעובדה שזה צריך להיות 1000, אל תכתבי מספר מפורש אלא השתמשי ב-REALQUANT

    אם את משתמשת ב-IVTYPES (לא הכרחי), תוסיפי IVTYPES.DEBIT = INVOICES.DEBIT

    NoamN
    משתתף
    none
    תוסיפי חיתוך על INVOICES.TYPE = INVOICEITEMS.TYPE

    יתכן שיהיה צורך גם להתיחס ל-INVOICES.DEBIT

    NoamN
    משתתף
    none
    משתמשים ב-ALIAS. מבצעים זאת באמצעות מספר מזהה בדו"ח. ב-SQL קצת שונה.

    אני לא מכיר מספיק טוב את המסך עליו אתה מדבר, לכן אשתמש בדוגמא הכותרת של העברה בין מחסנים – יש מחסן שולח ומחסן יעד

    SELECT DOCUMENTS.DOCNO, FROMWARHS.WARHSNAME, TOWARHS.WARHSNAME
    FROM DOCUMENTS, WAREHOUSES FROMWARHS, WAREHOUSES TOWARHS
    WHERE DOCUMENTS.WARHS = FROMWARHS.WARHS
    AND DOCUMENTS.TOWARHS = TOWARHS.WARHS

     

    NoamN
    משתתף
    none
    משום מה, תפריט "טבלאות" אינו מופיע באופן מחדלי. תגיע אל מנהל המערכת > מחוללים, תלחץ על F6 כדי לחשוף את תוכן התפריט ותוסיף לרשימה תפריט חדש בשם TABGEN
    NoamN
    משתתף
    none
    קרוב לוודאי ששדה שהתווסף באמצעות מנהל המערכת > תחזוקת מערכת > עיצוב מתקדם > עיצוב מתקדם במסכים > הוספת עמודות למסך לא יהיה "עריך" אלא רק מציג ערך השדה. כך הפתרון הזה ממש לא מתאים.

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

    NoamN
    משתתף
    none
    טכניקת דיבוג עתיקה: תמחקי את השדה ואת הביטוי ותכניסי מחדש. אני חושד שיש משהו במסך הבן/נכד "המשך ביטוי/תנאי" שגורם לשגיאה.

    בלי קשר, הייתי משתמש ב-SQL.DATE8 ולא SQL.DATE.

מוצגות 15 תגובות – 151 עד 165 (מתוך 442 סה״כ)