yitzchok

Forum Replies Created

מוצגות 15 תגובות – 1,546 עד 1,560 (מתוך 2,464 סה״כ)
  • Replies
  • yitzchok
    משתתף
    IL
    אם הן מתוזמנות לשעות אחרות למה יש בעיה של התנגשות?

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    תכין פרוצדורה שתעשה את שתי הפעולות אחת אחרי השניה, ותתזמן אותה במקום.

    במקום פרוצדורה אפשר קובץ sqli. על שניהם צריכים להגן כראוי, כמובן.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    ה-BPM עובד לפי הטריגרים שיש במסך.

    אם הוספת עמודה וקבעת (נגיד ב-POST-FORM) שלא ניתן שיותר משורה אחת תהיה מסומנת בדגל זה אז ה-BPM יאכוף את זה.

    אתה שואל האם ה-BPM ידאג להפעיל את הלוגיקה שלך? התשובה היא כן.

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    אני די סובר שהיא לא יכולה ואתה תצטרך להשתמש בכלי חיצוני לעבד את התוכן הזה (שהוא כנראה XML תקין אבל אולי לא נתמך ע"י פריוריטי) ל-XML בסגנון אחר או אולי ישירות ל-TSV או משהו כזה.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    אם עושים ככה לא צריכים דווקא לרשום בהזמנות מק"ט של קרטון ולא של חבילה?
    אחרת המשלוח לא יכול לסגור את ההזמנה
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    לא יכול לענות בודאות כי אני מכיר רק גרסאות ישנות, אבל בהן לא היתה האפשרות זאת וזה לא דבר שאני מאמין שהוסיפו.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    אתה מתכוון להפעלה יזומה, או לדאוג שהמשימה פעילה ותרוץ לפי התזמון לעמות לא פעילה?
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    לדעתי תדירות הרצת המשימה מוגזמת, אבל אני מעולם לא בדקתי כמה קשה התוכנה הזאת צריכה לעבוד בפעול.
    לא היה יכול להספיק הרצה כל 5 או 10 דקות?
    העיקר בהגדרות בדואר אלו זה שאתה צריך לקנפג איפה שה-TTS רץ.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    אני לא שולט טוב בפרטים האלה אבל אני יודע על משהו שאולי קשור.

    אפשר לבקש מכל מי שכתב על מה עובד ומה לא באיזו סביבה הם עובדים?

    יש מסך להגדרת משימות שעובדת (או עבדה הגרסאות קודמות) רק בסביבת web.

    היסטורית, ה-scheduler שמר את ההגדרות בקובץ tabula.tsk ובכלל לא בדטהבייס. אולי זה מה שקורה כאן.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    Yanai כתב:

    תודה,
    משום מה הביטוי:
    (SCHEDULE.STARTDATE BETWEEN SQL.DATE8 AND SQL.DATE8 + 23:59)

    לא עובר סינטקס DATE14 ללא הוספת 00:01.

    ואם היית מוסיף 00:00 במקום 00:01 זה גם לא היה עובד?

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    לגבי הצליח/נכשל יכול להיות שהתוכנה WINAPP מחזיר (דרך ה-EXECUTE) את ה-ERRORLEVEL (ערך החזרה) של התוכנה שהופעלה לתוך המשתנה RETVAL: אבל אני חושש שאפילו זה לא קורה. אפשר לאלץ תוכנה להחזיר ערך של כשלון ולבדוק…

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

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    שלום

    הגעתי בסוף היום וראיתי את הדיון הזה

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

    אני אעבור על זה בסדר של הפוסטים.

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

    2. מקווה שברור שאין דבר כזה POST-INSERT של עמודה – רק של שורה. ועוד, לא מעדכנים את הדטהבייס בתוך POST-FIELD אלא רק עמודות שבמסך. אולי יש מקרים בהם אפשר להצדיק אבל קשה לי לדמיין כזה. בסופו של דבר זה לא מה שיצא בסוף אבל רוצה להדגיש את הנקודה הזאת.

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

    4. "X BETWEEN SQL.DATE8 + 00:01 AND SQL.DATE8 +23:59"
    מה אם X שווה בדיוק ל-SQL.DATE8 (זאת אומרת בדיוק חצות לילה)?
    צריכים להזהר ממקרי קצה (שהם לא בהכרח קיצוניים)

    5. בילבלו את השואלת עם כל השיחה של עמודה מסוג DATE8. עכשיו יש לה עמודה שניה בטבלה (אם אני מבין נכון) ששמה TODAY ותוכנה משהו אחר לגמרי (הערך של STARTDATE אבל רק התאריך ולא השעה).
    חבל.
    אוקיי, זה עושה שבשליפה ניתן לעשות WHERE TODAY = SQL.DATE8 (אבל SQL.DATE8 זה תמיד היום, וזה מדגיש כמה השם לא נכון) ולא צריכים לעדכן את העמודה כל יום כדי לסמן מה זה "היום".
    אבל מנגד, חבל על המקום באחסון, גם אם זניח. ויותר מזה, אם מישהו יאפשר שינוי של STARTDATE במסך אחר ולא ישים הפעלה זהה שמה, יתכן אי-התאמה בין התאריכים של STARTDATE ו-TODAY. אחד הכללים שבדטהבייסים זה להמנע כמה שאפשר לשמור את אותו נתון פעמיים, כי בשלב מסוים הם עלולים להספיק להיות אותו נתון. כאן זה לא אחת מהיוצאים מן הכלל שמצדיקים את זה.

    לדעתי הדבר הנכון היה צריך להיות לא להוסיף שום עמודה לטבלה.
    במסך שאמור לסנן ולהציג רק את רשומות של היום הנוכחי היה צריך לשים את העמודה STARTDATE פעמיים ובתנאי של אחד מהם "גדול שווה SQL.DATE8" ובתנאי של השני "פחות מ-SQL.DATE8 + 24:00" וזהו. אפשר לאחד בעמודה אחת, זה עניין של טעם – מה לדעתכם יותר ברור.
    במסך של הכנסת הנתונים (שמציג את כל הרשומות) אפשר בכל מקרה לשים/לקבל עמודת דגל שמסמנת אם מדובר ברשומה של היום – שמים עמודת ביטוי (קריאה בלבד, סוג בוליאני) עם הביטוי הבא
    (SCHEDULE.STARTDATE >= SQL.DATE8 AND SCHEDULE.STARTDATE < SQL.DATE8 + 24:00 ? 'Y' : '' )
    למי שרוצה לנסח ב-BETWEEN אפשר גם
    (SCHEDULE.STARTDATE BETWEEN SQL.DATE8 AND SQL.DATE8 + 23:59)
    אבל אני מרגיש שגישה זאת פחות בריאה כי צריכים להגדיר את הגבול העליון כמשהו סצפיפי שפחות מ"מחר". במקרה הזה אנחנו סומכים על זה שאין בפריוריטי שעה אפשרית בין 23:59 ו-00:00 אבל במצבים מסוימים אפשר בקלות לטעות. הגישה של "פחות מהערך הראשון שאני לא רוצה" יכולה להיות בטוחה יותר.

    אני מקווה שזה לתועלת.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    אני התמודדתי עם זה לאחרונה.
    עד כמה שאני זוכר (לא יכול לבדוק ברגע זה) אני הייתי צריך להסיר את ה-4.5 שהיה מותקן ולהתקין 4.0. אי אפשר את שני אלה במקביל ונראה לי לא 4.0 ו-4.7 במקביל באותה מידה.
    יש דברים אחרים במחשב שדורשים מעל 4.0?

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    נראה לי שרק כשאתה שם עמודה עם נתיב הקובץ המערכת מציגה את התמונה. יש עמודה כזאת בכרטיס פריט. יש לך דוגמה של מסך בו יש עמודת תמונה אבל לא רואים את הנתיב?
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    ראה פרק 3 ב-SDK בעיקר Creating Your Own Triggers
    אתה צריך הפעלה POST-INSERT ו/או POST-UPDATE (אפשר לעשות אחד ולהכניס אותו לשני בעזרת INCLUDE# – חפש באותו פרק)

    אני הייתי די בטוח שראיתי תיעוד איך לקרוא ל-web service חיצוני מתוך פריוריטי אבל לא מצאתי ב-SDK הנוכחי – או דמיינתי או זה משהו שולי שמתועד במקום אחר.
    אתה יכול להפעיל תוכנה חיצונית ע"י פקודת WINAPP אבל היית צריך להעביר את הנתונים להעביר ב-POST דרך שורת הפקודה או קובץ נתונים.

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