Skip to main content

Μακροεντολές

Οι προσαυξήσεις για νυχτερινή, κυριακάτικη και αργίας εργασία ή ο ακριβής υπολογισμός ωρών για διακοπές και στρατιωτική θητεία δεν καλύπτονται από έναν ενιαίο τύπο κατάλληλο για κάθε επιχείρηση. Στις Ρυθμίσεις > Μακροεντολές γράφετε γι' αυτόν τον σκοπό δικά σας μικρά σενάρια σε μια γλώσσα παρόμοια με τη 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 εμφανίζουν πρόσθετες τιμές στο παράθυρο δοκιμής, χωρίς να επηρεάζουν την ίδια την τιμή επιστροφής.

Ασφάλεια: Ο διερμηνέας εκτελείται σε sandbox χωρίς πρόσβαση σε σύστημα αρχείων ή δίκτυο — μια μακροεντολή μπορεί να κάνει λάθος στον υπολογισμό, αλλά δεν μπορεί να προκαλέσει ζημιά εκτός του υπολογισμού.

Καλό να το ξέρετε

  • Η 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, τα δεδομένα επαναφέρονται καθημερινά.