› פורומים › אפיון ופיתוח פריוריטי › הפעלת פרוצדרות LABELS לא עובדת
- This topic has 5 תגובות, 4 משתתפים, and was last updated לפני 3 שנים, חודש 1 by yoram.
- Post
-
- נובמבר 1, 2021 בשעה 6:11 pm
שלום רב,פיתחתי מסך בן במסך פירוט קבלות סחורה מספק, אשר משתמש מכניס שם כמויות שהוא רוצה להדפיס לשורה וכאשר הוא יוצא מהמסך, הפרוצדורה מכניסה את המדבקות למשטח ומפעילה את הפרוצדורה של הפעלת ההדפסה.
במסך החלונאי הכול עובד, אבל בוובי הוא מכניס למשטח אך מסרב להדפיס.
השורה הרלוונטית EXECUTE ACTIVATF '-P', 'LABELS';
תודה מראש
<p style="direction: ltr;"></p>
- Replies
-
- נובמבר 1, 2021 בשעה 11:01 pm
הייאני מבין שאתם מנסים להפעיל פרוצדורה מתוך טריגר של מסך.
אני מניח שזה גם מצליח להתחיל לרוץ, אבל נופל בניסיון להתחבר למדפסת. (ניתן לנסות לבדוק עם trc)
והסיבה לדעתי כי תהליך ההדפסה דורש תהליך מסוים מול הקליינט שממומש בפרוצדורה ולא במסך, ואילו כאשר מריצים activatef ושאר החברים הם רצים בשרת ולא יודעים לעשות אינטראקציה עם הקליינט, כאשר הם מתוך מסך.
נראה לי שדוגמא לדבר למרות שהיא לא אחד לאחד, זה להפעיל הדפסת מסמך אשר נותן לבחור מה לעשות עם ההדפסה (דואר, הדפסה, PDF וכו') ואילו בהרצאה בטריגר עם winhtml דורש להגדיר מראש מה עושים עם הקלט, ולא יהיה שלב של בחירה מול הקליינט. (כאמור זה דומה ולא בדיוק אותו דבר) .
לדעתי אין מנוס מלממש את זה כפרוצדורה/הפעלה ישירה.
אגב – יש פתרון לתכנת הדפסה nice label שמתאים גם למובייל ואני מניח שגם במקרה שלכם זה יעבוד כי אז אין אינטראקציה עם הקליינט, אלא השרת מבצע הכל ישירות מול תכנת ההדפסה המוגדרת מראש.
בהצלחה!
- נובמבר 2, 2021 בשעה 9:04 am
היי, משהו לא ברור לי בתשובתך.האם האמירה שאני לא יכול להפעיל פרוצדורת הדפסה מטריגר במסך בוובי?
אני צריך לבנות הפעלה ישירה?
כי אם כן, אני יכול פשוט ללחוץ על כפתור הדפסת מדבקות הרגילה. הרי רשמתי שמשטח העבודה כן מתמלא לי.
- נובמבר 2, 2021 בשעה 11:25 am
בדקתי כמה תכניות שלי שמדפיסות מדבקות והן כולן מפעילות את LABELS בשלב פרוצדורלי נפרד, לא באמצעות EXECUTE. זה לא עוזר לך אם אכן הקוד מופעל מתוך טריגר.יש לי הצעה אחרת: תבנה פרוצדורה רגילה שמקבלת מספר מזהה (לא ציינת מאיזה מסך אתה מדפיס, אבל זה יכול להיות מספר הזמנה או משהו דומה) בפרמטר PAR ומבצעת את כל מה שנדרש, כולל הפעלת LABELS בשלב נפרד. בטריגר המסך, תפעיל את הפרוצדורה הזו בשיטה הבאה
SELECT SQL.TMPFILE INTO :TMPORDERS FROM DUMMY;
LINK ORDERS TO :TMPORDERS;
GOTO 999 WHERE :RETVAL <= 0;
INSERT INTO ORDERS
SELECT * FROM ORDERS ORIG
WHERE ORD = :$.ORD;
EXECUTE WINACTIV '-P', 'your procedure name', 'ORDERS',
:TMPORDERS;
UNLINK ORDERS;- נובמבר 2, 2021 בשעה 9:38 pm
שלום טל,אכן זאת בעיה בממשק הוובי. חקרתי זאת בעבר גם כן. היה לי טריגר שבירידת שורה מדפיס מדבקה בצורה אוטומטית. בקליינט החלונאי עבד מעולה. כשעברו להשתמש בממשק הוובי זה הפסיק לעבוד והיינו צריכים להתפשר על הפעלה ישירה בפרוצדורה. דבר שפגע ביישום כי עד המעבר לוובי הייתה אוטומציה של הדפסת המדבקה. גם פריוריטי לא ידעו לעזור ואמרו שאכן זה לא נתמך כטריגר בוובי. לפחות בגרסאות קודמות, לא יודע אם בגרסא החדשה יש שינוי. נושא מתסכל ומעצבן.
- יש להתחבר למערכת על מנת להגיב.