דלג לתוכן הראשי

מאקרואים

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

איך זה עובד

מטרת המאקרואים: מאקרו מחשב מנתוני משמרת (Work) או העסקה ערך החזרה בודד — בדרך כלל תוספת בשעות או בפרנקים. התוצאה נשמרת ב-Work.Surcharges ונכנסת אוטומטית לניתוח השעות (ClientPeriodHours). כל מאקרו שייך לסוג — משמרת/העסקה או כללי עבודה — וניתן לתת לו שם, לערוך ולמחוק אותו כמו כל הגדרה אחרת.

נתונים זמינים: דרך IMPORT זמינים בסקריפט בין היתר hour (שעות עבודה), fromhour/untilhour (שעת התחלה/סיום כשעות עשרוניות), weekday (ISO-8601: 1 = יום שני … 7 = יום ראשון), holiday/holidaynextday (האם היום הנוכחי או הבא הוא חג) וכן שיעורי התוספת המוגדרים בחוזה nightrate, holidayrate, sarate (שבת) ו-sorate (ראשון).

היקף השפה: שפת הסקריפט מכירה מבני בקרה (IF…THEN…ELSEIF…ELSE…ENDIF, SELECT CASE, FOR…NEXT, DO…LOOP), פונקציות משלכם (FUNCTION) ותת-שגרות (SUB, חייבות להיות מוגדרות לפני הקריאה הראשונה שלהן) וכן פונקציות מובנות למחרוזות, מתמטיקה, טריגונומטריה וזמן (למשל TimeToHours, TimeOverlap עבור טווחי זמן החוצים חצות). התוצאה מוחזרת באמצעות OUTPUT typ, wert.

בדיקה בעורך: לעורך המאקרואים יש לשונית בדיקה משלה: אתם מזינים ערכי דוגמה למשתנים המיובאים, בודקים את התחביר ומריצים את הסקריפט באופן ניסיוני. DEBUGPRINT/DEBUGCLEAR מציגים ערכים נוספים בחלון הבדיקה מבלי להשפיע על ערך ההחזרה בפועל.

אבטחה: המפרש פועל בסביבת ארגז חול ללא גישה למערכת קבצים או לרשת — מאקרו יכול לבצע את החישוב באופן שגוי, אך לא לגרום נזק מעבר לחישוב עצמו.

טוב לדעת

  • DIM מכריז על משתנה אך אינו מאתחל אותו בו-זמנית — DIM x = 10 היא שגיאת תחביר, קודם DIM x ולאחר מכן בנפרד x = 10.
  • מילות מפתח כמו ENDIF, ENDFUNCTION ו-ENDSUB נכתבות כמילה אחת, ללא רווח.
  • weekday פועל תמיד לפי ISO-8601 (1 = יום שני … 7 = יום ראשון) — בשאילתות SELECT CASE משלכם עבור "סוף שבוע" אלה הערכים 6 (שבת) ו-7 (ראשון).

התנסו ישירות: Klacks Playground — התחברות admin@test.com / P@ssw0rt1, הנתונים מתאפסים מדי יום.