› פורומים › אפיון ופיתוח פריוריטי › פתיחת מסמך מצורף(נספח) לאחר קריאת ברקוד
- הנושא הזה ריק.
- Post
-
- יולי 4, 2016 בשעה 3:35 pm
- Replies
-
- יולי 4, 2016 בשעה 4:04 pm
- יולי 4, 2016 בשעה 5:35 pm
- יולי 5, 2016 בשעה 9:14 am
לפי מה שאני מבין, יש שני חלקים לשאלה שלך:
1. לבצע משהו ברגע נשלף נתון לתוך מסך
2. להציג נספח שקשור לתעודה שנשלפהלמיטב ידיעתי, אין טריגר שמתאים 100% לשלב הראשון (אשמח אם מישהו יתקן אותי). יש טריגר PRE-FORM שאינו מתאים כאן, ולפי ה-SDK,
Except for PRE-FORM triggers, which are always activated, triggers will not be activated unless the user has made an addition or change in the column, row or form.
(עמוד 67 בגרסת ה-SDK המעודכנת). נראה לי שהמקום הכי מתאים לטריגר הנדרש יהיה POST-FIELD על השדה DOCNO של המסך DOCUMENTS_H (הרכבות במחסנים).
2. להלן הקוד להציג נספח. הוא מניח שרוצים להציג את הנספח הראשון. צריך לשים לב ששם הנספח *חייב* להיות באנגלית: פריוריטי משבשת את סדר האותיות כאשר יש עברית בשם ומערכת ההפעלה לא יכולה לפענח את שם הקובץ המשובש.
:FLAG = 0;
:DOC = '';
SELECT EXTFILENAME, 1 INTO :DOC, :FLAG
FROM EXTFILES
WHERE IV = :$.DOC
AND TYPE = 'D'
AND EXTFILENUM = 1;
GOTO 99 WHERE :FLAG = 0;
:COMMAND = STRCAT ('CMD.EXE /C START ', :DOC);
EXECUTE WINAPP 'C:\WINDOWS\SYSTEM32', :COMMAND;
LABEL 99;
שתי השורות האחרונות בקוד (לפני התווית בסוף) מהוות את החלק המעניין: כיון שלא ידוע מה יהיה סוג הנספח (DOC, TXT, PDF, DWG וכו'), אי אפשר לקרוא לתכנית ספציפית (כמו WINWORD) כדי לפתוח את הקובץ. לכן מבקשים מ"מפרש הפקודות" (מה שהיה בפעם COMMAND.COM ב-DOS) לבצע את העבודה.אני מקווה שהבנתי את הבעיה נכון והצגתי פתרון הולם.
- יש להתחבר למערכת על מנת להגיב.