אלון ארנסטי

Forum Replies Created

מוצגות 15 תגובות – 196 עד 210 (מתוך 359 סה״כ)
  • Replies
  • אם קיימת פונקציה מיוחדת אשר "מקצצת" את תווי הרווח המיותרים, איני מכיר כזה.
    יש לי פתרון עקיף עבורך מתוך האקסל ליצירת קובץ מופרדת פסיקים CSV.

    השתמש בכל זאת בממשק, או לחלופין אם קיים כבר דוח, אז שלח אותו לאקסל. בתוכנת האקסל, בצע שמירה בשם ושנה את סוג הקובץ אל (csv (comma delimited .
    אחר-כך תוכל לפתוח את הקובץ ששמרת באמצעות notepad או עורך טקסט אחר ולראות שאכן הנתונים מופרדים בפסיקים בלי תווי רווח מיותרים.

    במידה שיהיו תווי רווח כאלה, תוכל בשלב שלפני השמירה להפעיל על העמודות הבעייתיות את פונקציית TRIM.

    מקווה שהפתרון יספק אותך לעתה. במידה ואתה נתקל בקשיים בעבודה עם האקסל, פנה אלי שוב.

    אלון.

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

    כמובן שבעת הנסיון למחוק את הצירוף של מסך הבן באמצעות CTRL+DELETE, המערכת התריע שזה לא ניתן לביצוע אלא רק להסתירו. לכן על-מנת לעקוף את מנגנוני ההגנה של המערכת, יש צורך באופן זמני להפעיל DEVCENTER.

    הרץ בתפריט הראשי את כלים > הפעלת ישות… ורשום WINDBI

    יש להריץ את הקוד הבא עבור תוספת DEVCENTER לקבועי המערכת:

    [code:1]INSERT INTO SYSCONST (NAME,VALUE)
    VALUES ('DEVCENTER', 1);
    [/code:1]

    את הרצת הקוד מבצעים באמצעות התפריט:
    EXECUTE -> SQL INTERPRETER
    לאחר מכן, תוכל לבצע מחיקה של מסך הבן "הסורר".

    לאחר הצלחת המחיקה, יש להסיר את DEVCENTER באמצעות הקוד הבא:

    [code:1]DELETE FROM SYSCONST
    WHERE NAME = 'DEVCENTER';
    [/code:1]

    בצע הכנת מסך ל-PURDEMANDS ובדוק אם הכל תקין.

    אלון.

    לפי השגיאה, הוא טוען שהעמודה PART אינו קיים במסך האב שלו וזה הגיוני. PART הוא שדה של המסך הנוכחי PRDITEMS.

    לפי מה שכתבת "שהוספת בטעות…", האם הבעיה שלך עכשיו שאתה מבקש להוריד את השינוי שלך לגמרי, או שאתה מבקש לפתור את הבעיה שהשינוי יעבוד?

    שלח לי בבקשה את קובץ PREP.ERR וגם בקובץ אקסל כיצד הוספת את השדה החדש כולל הביטוי בהרחבה, אם קיים.

    אלון.

    היי אלכס,

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

    אם בכל זאת זה חשוב למשתמשי החברה, אני לא רואה ברירה אחרת חוץ מלפנות למפתחי אשבל.

    אלון.

    אני חייב להגיב לתגובה האחרונה של מיכאל ולומר שכל מילה בסלע!!!
    גם למתכנתים היותר מנוסים עלולים להיות היסחי דעת, ומספיק שבפסוקית WHERE אשר בשאילתת UPDATE יירשם ביטוי שגוי אפילו מינורי כמו פרדיקט OR במקום AND, כדי לקלקל את המידע בטבלאות. זאת הסיבה שקודם בודקים על חברת תירגול ושהכרחי לבצע גיבוי לפני ההרצה בשרת התפעולי.
    אפילו ה-SDK בפרק על הממשקים, מתריע בפני גישה ישירה לטבלאות שלא דרך הממשק. הממשק הוא אמצעי בטוח יותר לעדכון נתונים.

    אני רוצה להוסיף אזהרה מיוחדת למקרה שנתקלתי בו בשימוש עם משפט LINK:
    היזהרו מאוד מאוד שלא להשתמש סתם באופציה AND SET הקיים במשפט UNLINK. אצלי בתירגול זה מחק לי את מרבית הנתונים בטבלה שעליו ביצעתי את ה-LINK ומה שנשאר ממנה הם רק הנתונים אשר נקראו לטבלה הזמנית מהמקור, כלומר הרשומות שעליהן בוצעו השינויים בפרוצדורה. האופציה אומרת שכל הרשומות אשר נמצאות בטבלה הזמנית ורק הן, תועתקנה אל הטבלה הראשית.

    אלון.

    • in reply to: דוח
    שלום סוניה,

    המשפט שזרקתי היה סתם שובבות ולא היתה בכלל כוונה לפגוע או להיות לא מנומס. זאת הסיבה שהוספתי את הסמיילי ההפוך המסמל "קונדסון" :silly:. אני מאמין שלא תמיד חייבים להיות רציניים ומותר מידי פעם לזרוק דברים שובבים.
    אני לא טיפוס שמחפש לפגוע. דווקא מחשיב את עצמי כטיפוס שיודע לתת שירות אדיב ומקצועי בתחומי ההתמחות שלי ולא חסרים לי עמיתים אשר יעידו על כך. העובדה היא שכאשר אני יכול לתת מענה, אני משתדל לבצע זאת גם בתוספת הסבר מפורט ככל שניתן מבלי לעייף יותר מידי, ואני מבצע זאת בדיוק על-מנת לתת לחברי הפורום כלים כדי שיוכלו להתמודד עם בעיות דומות בעתיד. עובדה שאני משתדל יותר לענות לעניין למשתמשי פריוריטי צעירים, במידה ואני מרגיש שהם מסוגלים לעכל את ההסברים התיאורטיים שלי.
    השאלות שאת שואלת אינם טיפשים בעיניי. ידוע לי שאת בקורס מיישמים ולפעמים המרצה לא תמיד יכול לתת מענה לכל שאלותייך. זה קרה לכולנו בכל מסגרת לימודית כלשהי ובמקרה שלי גם חיפשתי ספרות עזר בעברית או באנגלית – כל מה שיכולתי למצוא. במקרה שלך, את מוצאת תיגבור בפורום.

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

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

    בברכת שבוע טוב ובהצלחה,
    אלון.

    • in reply to: דוח
    וואו! שנים רבות לא התבקשתי להכין שיעורי בית עבור אחר :silly:

    מה שמבצעים הוא:
    לאחר פתיחת התבנית במהלך הבניה, הוסיפי גליון חדש ובגליון זה בצעי עבור כל עמודה, הפנייה אל העמודה בגליון המקור DataSheet.
    את זה מבצעים על-ידי בחירת תא בגליון החדש -> הקשה על סימן שווה(=) -> מעבר אל גליון DataSheet ובחירת תא מקביל. יתקבל בשורת הנוסחאות משהו בסגנון:
    DataSheet!A1=
    לאחר מכן לוחצים על Enter על-מנת לקלוט את ההפניה, ומבצעים AutoFill עבור שאר התאים. (פעולת AutoFill זו הפעולה בו עומדים על הריבוע השחור הקטן באחת הפינות התחתונות ומבצעים גרירה לתאים סמוכים)
    ניתן לאחר מכן לערוך את ההפניות כרצונך, ולבסוף לשמור את הקובץ.

    אלון.

    • in reply to: דוח
    היי שוגי,

    ראיתי את ההתכתבויות בנושא הערכות וליאור צדק שטען שאין במערכת פונקציה מובנית שניתן להשתמש בו וזה כרוך באפיון ופיתוח.
    אני מניח שאתה מחפש פתרון ברמת תבנית האקסל.
    מבחינה תיאורטית התשובה היא כן. לא גיבשתי דעה סופית כיצד זה יעבוד בפועל, אבל לדעתי צריך לבנות בתבנית גליון אשר ישמש כטבלת lookup המכיל בכל שורה את השדות הבאים החל מעמודה B: מקט הערכה, מקט פריוריטי של בן מס' 1, כמות בן מס' 1, מקט בן מס' 2, כמות בן מס' 2, וכן הלאה… בעמודה A יש לבנות פונקציית שירשור של מקטי הבנים עם הכמויות כך שבעצם יבנה מחרוזת "מאוחדת" של עמודה C, D, E והלאה, כלומר משהו בסגנון בן 1:כמות 1:בן 2:כמות 2:בן 3:כמות 3.
    עכשיו מגיע החלק הקשה… צריך לבנות קוד מקרו VBA אשר ירוץ על הפלט של הדוח שבגליון DataSheet. הקוד יבצע סריקה על הפלט וינסה למצוא את מקטי הבן הקשורים לערכות ויסדר אותם לפי התבנית שציינתי בהתחלה.
    בסוף מבוצע פונקציית vlookup למציאת מקט הערכה.

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

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

    אלון.

    • in reply to: דוח
    היי שוגי,

    ראיתי את ההתכתבויות בנושא הערכות וליאור צדק שטען שאין במערכת פונקציה מובנית שניתן להשתמש בו וזה כרוך באפיון ופיתוח.
    אני מניח שאתה מחפש פתרון ברמת תבנית האקסל.
    מבחינה תיאורטית התשובה היא כן. לא גיבשתי דעה סופית כיצד זה יעבוד בפועל, אבל לדעתי צריך לבנות בתבנית גליון אשר ישמש כטבלת lookup המכיל בכל שורה את השדות הבאים החל מעמודה B: מקט הערכה, מקט פריוריטי של בן מס' 1, כמות בן מס' 1, מקט בן מס' 2, כמות בן מס' 2, וכן הלאה… בעמודה A יש לבנות פונקציית שירשור של מקטי הבנים עם הכמויות כך שבעצם יבנה מחרוזת "מאוחדת" של עמודה C, D, E והלאה, כלומר משהו בסגנון בן 1:כמות 1:בן 2:כמות 2:בן 3:כמות 3.
    עכשיו מגיע החלק הקשה… צריך לבנות קוד מקרו VBA אשר ירוץ על הפלט של הדוח שבגליון DataSheet. הקוד יבצע סריקה על הפלט וינסה למצוא את מקטי הבן הקשורים לערכות ויסדר אותם לפי התבנית שציינתי בהתחלה.
    בסוף מבוצע פונקציית vlookup למציאת מקט הערכה.

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

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

    אלון.

    • in reply to: דוח
    שלום סוניה,

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

    תבנית אקסל מתנהג בהמון מובנים כמו פתיחת קובץ חדש באקסל. כאשר פותחים קובץ חדש, האקסל כמובן מציג גליון ריק מנתונים וניתן להתחיל בעבודה. לפעמים רוצים לקבל "קובץ חדש" הנקי מנתונים כלליים, אך שיהיו בו נתונים בסיסיים או נוסחאות מוכנות באופן מובנה מראש במקום לבנות אותם מחדש בכל פעם. אני מניח שישנם משתמשים בפורום אשר יאמרו: "מה הבעיה, נכין קובץ אקסל בסיסי ונשמור אותו בסיומת הרגילה xls, ואז במידת הצורך נפתח את הקובץ, נוסיף נתונים ונבצע 'שמירה בשם', ונשנה לשם אחר כך שלא יידרס המקור הבסיסי". עד כאן הכל טוב ויפה וזה בהחלט יעבוד, אבל כבר נתקלתי בהרבה משתמשים אשר "שכחו" במהלך עבודתם הקשה לבצע שמירה בשם ובעצם ביצעו את הפקודה שמור. א-ו-פ-ס… בטעות דרסו את המקור עם כל התוספות :huh:
    זה בעצם ה"קסם" בעבודה עם תבנית. כאשר משתמש יבחר בפקודה שמור, האקסל יפעיל את שמירה בשם באופן אוטומטי וכך לעולם לא יידרס המקור. תבנית אקסל בעלת סיומת xlt. כאשר יפתח קובץ שכזה בשיטה של "קליק כפול", שם הקובץ יהיה בנוי משם התבנית בתוספת ספרה 1 ובעל סיומת xls. כמובן לפי שיטה זו, קובץ המקור בחיים לא יידרס בטעות.

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

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

    אלון.

    • in reply to: מע"מ
    היי תמי,

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

    אלון.

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

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

    אלון.

    אני חייב לתקן טעות מתגובה קודמת.

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

    אלון.

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

    אלון.

מוצגות 15 תגובות – 196 עד 210 (מתוך 359 סה״כ)