Forum Replies Created
- Replies
-
- פברואר 9, 2020 בשעה 12:57 pm
- in reply to: נינול פריט עפ יחידת מידה
את יודעת שיש שתי "מערכות" ליחידות כמות – יחידות מפעל ויחידות ספק כאשר מחבר ביניהם שיעור המרה. לכן את יכולה להזמין משהו בק"ג ולהתיחס לזה בתוך המפעל כמשהו אחר.לגבי קניה מספק אחד ב-15 ק"ג ומספר שני ב-10 '"ג, הייתי מציע לנהל את הפריט בק"ג (או 5 ק"ג), כאשר מאחד את מזמינה בכפולות של 15 והשני בפכילות של 10. אחרת את צריכה שני פריטים שונים וצריך להמיר מאחד לשני בעת כל רכישה.
- פברואר 6, 2020 בשעה 1:36 pm
- in reply to: קבלת סחורה
יש אפשרות אוטומטית (אולי נשלטת בקבוע מערכת, אינני זוכר במדויק) אשר מתריע אם הכמות המתקבלת סוטה מהכמות המוזמנת לפי אחוז כלשהו. אפשר גם להגדיר חוק עסקי אשר יתריע כאשר "היתרה לקבלה" מתחת ל-0.משתמע שכל הקשור לברקודים אינו רלוונטי לשאלה האמיתית.
- פברואר 6, 2020 בשעה 12:38 pm
- in reply to: חישוב מינימום מכמה עמודות
תני לי להציע משהו אחר לגמרי: תכניסי את כל הערכים פעם אחת לתוך STACK8, לא באמצעות CURSOR. אחר כך תשלפי את הערך המזערי של כל פריט.LINK STACK8 TO $.STK;
ERRMSG 1 WHERE :RETVAL <= 0;
INSERT INTO STACK8 (KEY1, KEY2, REALDATA)
SELECT PART, 1, PRICE
FROM TABLE1
WHERE …;
INSERT INTO STACK8 (KEY1, KEY2, REALDATA)
SELECT PART, 2, PRICE
FROM TABLE2
WHERE …;
INSERT INTO STACK8 (KEY1, KEY2, REALDATA)
SELECT PART, 3, PRICE
FROM TABLE3
WHERE …;
INSERT INTO STACK8 (KEY1, KEY2, REALDATA)
SELECT PART, 3, PRICE
FROM TABLE4
WHERE …;SELECT MIN (REALDATA)
FROM STACK8
WHERE KEY1 = :PART- פברואר 6, 2020 בשעה 11:37 am
- in reply to: חישוב מינימום מכמה עמודות
כתבת "אני לא רוצה להוסיף עוד cursor שירוץ על כל המקטים". לא ברור לי מאין זה הגיע, אבל דווקא משפט. אם יש כמה ערכים בטבלה לגבי כל לקוח, ניתן לשלוף את הערך המזערי באמצעות פונקציית MIN
<p style="text-align: left;">SELECT MIN (SOMETHING) INTO :A</p>
<p style="text-align: left;">FROM TABLE</p>
<p style="text-align: left;">WHERE CUST = :CUST</p>
או משהו דומה- פברואר 6, 2020 בשעה 11:32 am
- in reply to: קבלת סחורה
מקבול לרשום קליטות למלאי על סמך הזמנות רכש – לא הזכרת אם יש הזמנות.סריקות בר קוד אמורות להיכנס למסך "קבלת סחורה מספק" כמספר פריט – האם בדקת מה מכיל כל ברקוד? אפשר לפתוח את NOTEPAD, לסרוק ולראות מה אתה מקבל. כמוכן יש ישומונים בטלפון שיכולים לפענח ברקוד. יתכן שמה שמקודד אינו מה שאתה רוצה.
- ינואר 30, 2020 בשעה 12:11 pm
- in reply to: הפיכת מחרוזת
אני בטוח שהשאלה הזו (איך להפוך) נשאלה לפחות פעם אחת בעבר. בכל אופן, הנה קצת קוד:ORIG = 'ABC'; :REV = ''; :I = 0; :LEN = STRLEN (:ORIG); LABEL 1; :I = :I + 1; :REV = STRCAT (SUBSTR (:ORIG, :I, 1), :REV); LOOP 1 WHERE :I < :LEN; SELECT :REV FROM DUMMY FORMAT;בסוף מודפס CBA
- ינואר 29, 2020 בשעה 1:09 pm
- in reply to: הסבת נתונים – טעינת נתונים מקובץ אקסל
אין צורך (שאני מכיר) להכניס את שמות השדות בתוך הקובץ. זה אף עלול לפגוע.אינני בטוח לגבי רוחב השדות: יתכן שזה מיותר (זאת אומרת, מה שעשית נכון) אם מדובר בקובץ עם טאבים.
האם ניסית לקלוט את הקובץ? מה היו התוצאות?
- ינואר 28, 2020 בשעה 1:22 pm
- in reply to: פונקצית RAND
לפני הרבה מאד זמן היה לי קוד בפסקל ליצירת מספרים כאילו רנדומליים. זה היה קשור לזמן (במקרה שלנו SQL.DATE) MOD מספר ראשוני כלשהו יחד עם עוד כמה דברים. אני משער שזה לא ממש עוזר לך.- ינואר 28, 2020 בשעה 1:15 pm
- in reply to: הסבת נתונים – טעינת נתונים מקובץ אקסל
TSV = TAB SEPARATED VALUES,מה שאני קראתי TAB DELIMITED TEXT, כי כך מופיע באקסל.
יש תוכנית בתיקיית BIN95 בשם EXL2TXT אשר מתימרת להפוך XLSX ל-TXT אבל לא הצלחתי להפעיל אותה נכון (כתבתי תכנית משלי שעושה את אותו הדבר).
- ינואר 28, 2020 בשעה 8:08 am
- in reply to: הסבת נתונים – טעינת נתונים מקובץ אקסל
די מסובך להסביר איך לבצע דרך האתר.לא ציינת כמה נתונים יש בקובץ: האם כל נתונים מתאימים לשדות במסך LOGPART (או PART) או שמא יש נתונים ששייכים למסכים אחרים? דרך ממשק ניתן לקלוט נתונים למסך אב (נניח LOGPART) ומסך בן (נניח עץ מוצר) אך לא ניתן לקלוט למסך "אח", מסך שמופיע בשורת ההפעלות הישירות, כמו הגדרות כספים למוצרים או מאפיינים נוספים למוצר). כל מסך דורש ממשק משלו.
בהנחה שיש רק מק"ט ותאור, אתה צריך להגדיר את הקובץ כך שיכיל שלושה טורים: בראשון תרשום 1, בשני המק"ט ובשלישי שם הפריט. תשמור את הקובץ כ-TAB DELIMITED TEXT.
אתה צריך לבנות ממשק באמצעות מנהל המערכת > ממשקים > ממשקים למסכים > מחולל ממשקים למסכים, אך כאמור מסובך מדי להסביר כאן.
- ינואר 28, 2020 בשעה 8:02 am
- in reply to: סימון רשומה אחת בטבלה בדגל
יש תחביר מקוצר בפריוריטי אשר מאפשר את המשפט הבא
<p style="text-align: left;">ERRMSG X FROM YOURTABLE
WHERE BINARYFIELD = 'Y'
AND ID <> :$.ID</p>
<p style="text-align: right;">או בעברית, הצג הודעת שגיאה אם קיימת רשומה בטבלה עם העמודה הבינארית מסומנת ולא מדובר ברשומה הזו.</p>- ינואר 26, 2020 בשעה 2:39 pm
- in reply to: מקסימום אורך לשדה טקסט
ראיתי שדות באורך 80 תווים אך לא מעבר לכך. מרמז שמצאתי ב-SDK, נראה שהוארך המירבי 127 תווים.מה קורה אם אתה מגדיר אורך 250?
- ינואר 26, 2020 בשעה 10:26 am
- in reply to: מעבר בין מסך בן למסך האב
F8- ינואר 19, 2020 בשעה 2:03 pm
- in reply to: סניף נוסף ללקוח
בעצם את רוצה/צריכה מערכת הרשאות נפרדת. נניח שיש טבלת "רמות הגנה" עם ערכים 1, 2, 3 וכו'. צריך להוסיף לכל מסך שדורש גישה לפי רמת הגנה שדה שיקבע את רמת ההגנה. אחר כך צריך להוסיף מסך בן למשתמשים בו תוגדרנה הרמות שכל משתמש רשאי לראות. השימוש במסך בן מאפשר מתן הרשאה לכמה רמות הגנה. כדוגמא, יכול להיות שלמשתמש מסוים יש הרשאה לרמות הגנה 1, 2 ו-4. הוא יוכל לראות את כל הנתונים שקודדו עם הרמות הללו אך לא יוכל לראות אם רמת ההגנה 3.צריך להוסיף בדיקה לכל מסך ודו"ח (לכן מוטב לכתוב את הקוד פעם אחת ולהתיחס אליו בכל מקום) אשר בודק אם למשתמש יש רמת ההגנה הנדרשת. ניתן לעשות זאת באמצעות משפט המבוסס על טבלת DUMMY.
הרבה מאד התעסקות…..
- ינואר 19, 2020 בשעה 12:54 pm
- in reply to: ממשקים אלקטרונים
חברה א', את יוצרת טבלת GENERALLOAD מלונקקת אשר מכילה את הנתונים הרצויים – מספר ספק, מספרי פריטים, מחירים, כמויות וכד'. אין להכניס אף
"מספר פנימי" – זאת אומרת, אין להתחכם ולשמור ב-GENERALLOAD את SUPPLIERS.SUP אלא SUPPLIERS.SUPNAME.לאחר איסוף הנתונים בשלב הזה, רושמים את הפקודה ENV 'other' אשר משנה אם הסביבה לחברה ב' (כמובן צריך לרשום את שם הסביבה השניה, כפי שמופיע בשדה "חברה" במסך מנהל המערכת > תחזוקת מערכת > טיפול בחברות > חברות.
בשלב הזה מבצעים EXECUTE INTERFACE על מנת לקרוא את הנתונים השמורים ב-GENERALLOAD לתוך המסכים הרצוים (ORDERS, ORDERITEMS).
כל זה כמובן ללא "מודול ממשקים אלקטרוניים" אלא ישירות.