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