yitzchok

Forum Replies Created

מוצגות 15 תגובות – 1,741 עד 1,755 (מתוך 2,464 סה״כ)
  • Replies
  • yitzchok
    משתתף
    IL
    שים לב בבקשה

    אני לא הבנתי את השאלה כי השתמשת במילה פרוצדורה.

    קיימת פרוצדורה בשם SONRAW (יישות מסוג P).

    במקרה הזה שאלת על התוכנה המקומפלת בשם SONRAW (יישום מסוג C שקוראים אליה מפרוצדורות SONRAW ו-PARTTREE וכו').

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

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

    באיזה תנאים?

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

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

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

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

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

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

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

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

    חג שמח

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

    דרך אגב, עדיף לעשות UPDATE לכמויות שבח-ן או לעשות ממשק?

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

    sayo כתב:

    איך אני מוחקת את השורות הלא רלוונטיות עכשיו?

    נניח שה-RECORDTYPE של הממשק השני זה 1 לכותרת (חשבונית) ו-2 לשורות
    אז את יכולה לעדכן ולמחוק באותו ממשק
    בשורות שאת רוצה לעדכן את שמה RECORDTYPE וכמות המעודכנת (אם את צריכה… באמת אני עכשיו שואל לעצמי אם אפשר בכלל לשנות את הכמות – נראה לי שהחיוב צריך להיות לכמות של שורת המשלוח, או אפס ואם אפס אז השורה תמחק בסגירת החשבונית)
    בשורות שאת רוצה למחוק את שמה לא 2 ב-RECORDTYPE אלא @2 (שטרודל לפני ה-2, ז"א צד שמאל, כאן זה משתבש) ואז הממשק ימחוק את השורה במקום לעדכן

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    כמובן נדרש שמותקנות הפונקציות tabula_hebconvert ו-tabula_dateconvert – אם לא ראו SDK בקשר ל-HEBCONV או לחפש כאן בפורום
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    הנה שאילתא שמתאים ל-SQL Server (לא להריץ בתוך פריוריטי!!)
    נמצא בתוך נספח גם כן, כי אולי ישתבש כאן בהדבקה

    [file name=DataExchangeErrors.txt size=2507]https://www.priority-forums.com/he/images/fbfiles/files/DataExchangeErrors.txt[/file]

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


    SELECT INTERMESSAGESS.MESSAGE MESSAGESENT, INTERMESSAGES.MESSAGE MESSAGERECEIVED,
    dbo.tabula_hebconvert(dbo.INTERMESSAGES.SUBJECT) AS SUBJECT,
    dbo.INTERMESSAGES.REFERENCE ,
    dbo.INTERMESSAGES.COMPANY,
    dbo.tabula_hebconvert(ENVIRONMENTS.TITLE) AS SENDINGCOMPANY,
    ISNULL(BASEFORMLANGEXECS.TITLE,dbo.tabula_hebconvert(BASEFORMS.TITLE)) as SENDINGFORM,
    dbo.tabula_dateconvert(INTERMESSAGESS.UDATE) AS UDATE,
    INTERMESSAGESS.UDATE AS UDATE_PRI,
    dbo.INTERMESSAGES.DNAME,
    dbo.tabula_hebconvert(ENVIRONMENT.TITLE) AS RECEIVINGCOMPANY,
    ISNULL(BASEFORMLANGEXEC.TITLE,dbo.tabula_hebconvert(BASEFORM.TITLE)) as RECEIVINGFORM,
    dbo.tabula_hebconvert(dbo.T$EXEC.TITLE) AS TITLE,
    dbo.tabula_hebconvert(ISNULL(dbo.INTERMESSAGES.USERLOGIN, N'')) AS SENT_BY,
    USERSB.EMAIL AS SENT_BY_EMAIL,
    dbo.tabula_hebconvert(dbo.INTERMESSAGES.ERROR) AS ERROR,
    INTERMESSAGESTEXTALL.ALLTEXT AS ERRORTEXT
    FROM dbo.INTERMESSAGES
    OUTER APPLY ( SELECT stuff((SELECT ' ' + dbo.tabula_hebconvert(ISNULL(INTERMESSAGESTEXT.TEXT, N''))
    FROM dbo.INTERMESSAGESTEXT
    WHERE INTERMESSAGESTEXT.MESSAGE = dbo.INTERMESSAGES.MESSAGE
    ORDER BY TEXTORD
    FOR XML PATH(''),TYPE).value('text()[1]','nvarchar(max)'),1,1,N'') ) INTERMESSAGESTEXTALL(ALLTEXT)
    INNER JOIN dbo.T$EXEC ON dbo.INTERMESSAGES.ENAME = dbo.T$EXEC.ENAME AND dbo.T$EXEC.TYPE = 'S'
    INNER JOIN dbo.T$EXEC BASEFORM ON T$EXEC.T$TABLE = BASEFORM.T$EXEC
    LEFT OUTER JOIN dbo.LANGEXEC BASEFORMLANGEXEC ON BASEFORM.T$EXEC = BASEFORMLANGEXEC.T$EXEC and BASEFORMLANGEXEC.LANG = 3
    /* for the Sending INTERMESSAGES */
    INNER JOIN dbo.INTERMESSAGES INTERMESSAGESS ON INTERMESSAGESS.MESSAGE = dbo.INTERMESSAGES.EXTMESSAGE
    INNER JOIN dbo.T$EXEC EXECS ON INTERMESSAGESS.ENAME = EXECS.ENAME AND EXECS.TYPE = 'S'
    INNER JOIN dbo.T$EXEC BASEFORMS ON EXECS.T$TABLE = BASEFORMS.T$EXEC
    LEFT OUTER JOIN dbo.LANGEXEC BASEFORMLANGEXECS ON BASEFORMS.T$EXEC = BASEFORMLANGEXECS.T$EXEC and BASEFORMLANGEXECS.LANG = 3
    INNER JOIN dbo.ENVIRONMENT ON INTERMESSAGES.DNAME = ENVIRONMENT.DNAME
    INNER JOIN dbo.ENVIRONMENT ENVIRONMENTS ON INTERMESSAGESS.DNAME = ENVIRONMENTS.DNAME
    LEFT OUTER JOIN dbo.USERS ON USERS.USERLOGIN = INTERMESSAGES.USERLOGIN
    LEFT OUTER JOIN dbo.USERSB ON USERS.T$USER = USERSB.T$USER
    WHERE (dbo.INTERMESSAGES.TYPE = 'R')
    AND INTERMESSAGES.ERROR ''

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

    אני מנסה להסביר שאין לנסות ליצור לבד שורות שקשורות לתעודות משלוח.

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

    את ממלאה את החשבוניות בצורה הזאת? אם לא, למה לא?

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

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

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

    לכן בדוק ב-TTS התוכנה הזאת מוגדרת לרוץ. בלי זה כל ההגדרות שלך יכולות להיות טובות ובכל מקרה לא יקרה כלום.

    מטבע הדברים, כל הדברים האלה יטופלו כשהתוכנה תרוץ, ולכן יש לקבוע תדירות הרצה שמתאימה לזמן תגובה שאתם תרצו. אם תגדירו ש-STATUSMAIL תרוץ כל 5 דקות (לדעתי זה יכול להיות קצת מוגזם, אבל אם אתם צריכים…) ויש לכם מהשו שאמור לקרות לאחר שתעודה נמצאת בסטטוס 2 דקות, זה יבוצע לאחר פרק זמן של 2 עד 7 דקות.

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

    אני לא חושב שיש הרבה שאפשר לראות.

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

    לאחר מכן מה שקורה זה שהקובץ שנוצר אי שם בתיקיית mail מעובדת ע"י תוכנת ה-Data Exchange והיא "מקלידה" את הנתונים ביעד.

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

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

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

    לאחר מכן עושים שאילתא כדי לראות את השורות שנוצרו ע"י הממשק ההוא. הרי הממשק מחזיר את ה-IV ב-KEY1 כך שאפשר לאתר את החשבונית שנוצרה. לכל אחת מהשורות צריך להיות כבר TRANS בפנים.

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

    מקווה שעכשיו זה יותר ברור

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    הבהרה:
    מה שאני כתבתי, כתבתי בלי לשים לב שהיה עוד עדכון.
    לאור מה שנכתב היום אני חושב שעוד יותר חשוב לבנות תהליך בשיטה שתיארתי.
    לשלוף שורות לפי מזהה אפשר.
    כך שאם עושים טעינה מטבלה אפשר לקבל אחרי הטעינה מפתח חשבונית מעמודת KEY1 (אם אני זוכר נכון) ולבצע שאילתא על פיו שיכין נתונים לממשק שני שישתמש במפתח שורת חשבונות לגרור את החשבונית ל"מסך" של הממשק כדי לעדכן אותה, ומפתחות שורות (זאת אומרת KLINE כי IV צריך להיות שם אוטומטית) שיגררו את השורות לעדכון כמויות.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 15 תגובות – 1,741 עד 1,755 (מתוך 2,464 סה״כ)