EBS - Forms RuleSets
Θέμα : Forms Rules set
Entersoft Business Suite®
Κατά την διάρκεια της υλοποίησης διάφορων use cases προκύπτει η ανάγκη/απαίτηση η εμφάνιση ή η διαθεσιμότητα κάποιων πεδίων στην φόρμα μίας οντότητας να εξαρτάται από την τιμή/περιεχόμενο κάποιου άλλου πεδίου της ίδιας ή μίας συνδεδεμένης με αυτήν οντότητας.
Αυτό είναι εφικτό με την χρήση των Rule Sets.
Παράδειγμα 1ο
Use Case
Στη φόρμα της αίτησης (Task) θέλουμε, εφόσον αυτή πρέπει να συνοδεύεται από εγγυητική συμμετοχής, να υπάρχει ένας ειδικός χώρος όπου θα καταχωρούνται τα στοιχεία της εγγυητικής. Σε αντίθετη περίπτωση ο χώρος δεν πρέπει να εμφανίζεται.
Implementation
Αφού έχουμε καθορίσει το πεδίο που θα «ελέγχει» την συμπεριφορά «απαίτηση εγγυητικής» (πχ. ορίζουμε το πεδίο «Χαρακτηρισμός 1» του Task), δημιουργούμε ένα ξεχωριστό τμήμα (panel) στην δυναμική φόρμα της οντότητας και επάνω σε αυτό τοποθετούμε τα επιπλέον πεδία που μας χρειάζονται
Έχοντας επιλεγμένο το παραπάνω τμήμα, από τις ιδιότητες και από το πεδίο Rule Set καλούμε τον Composer
Από το menu: Tools -> Vocabularies Editor δημιουργούμε ένα νέο Vocabulary
Δίνουμε ένα όνομα και μία περιγραφή στο νέο Vocabulary και στην συνέχεια ορίζουμε στην περιοχή Variables τα πεδία της οντότητας που σκοπεύουμε να χρησιμοποιήσουμε στους ελέγχους μας. Η δήλωση πρέπει να γίνει με την μορφή Οντότητα.Πεδίο. Επίσης θα πρέπει να ορίσουμε και την μεταβλητή TableName για τον έλεγχο της ονομασίας της οντότητας.
Αποθηκεύουμε το νέο vocabulary και επιστρέφουμε στην προηγούμενη οθόνη.
Δημιουργούμε ένα νέο Rule Set, δίνουμε όνομα και περιγραφή και στο πεδίο vocabulary επιλέγουμε αυτό που δημιουργήσαμε στο προηγούμενο βήμα.
Στο τμήμα Rules της οθόνης θα πρέπει να δημιουργήσουμε τους επιθυμητούς κανόνες συμπεριφοράς.
Για το συγκεκριμένο παράδειγμα πρέπει να φτιάξουμε δύο κανόνες δίνοντας όνομα και περιγραφή.
- Κανόνα απόκρυψης του τμήματος «Στοιχεία εγγυητικής» όταν δεν απαιτούνται.
- Κανόνα εμφάνισης τμήματος «Στοιχεία εγγυητικής» όταν απαιτούνται.
Έχοντας επιλεγμένο τον πρώτο κανόνα ορίζουμε την συνθήκη εκτέλεσης του
Στην οθόνη που ακολουθεί πρέπει να γράψουμε την συνθήκη σύμφωνα με το παρακάτω συντακτικό
Στο επόμενο βήμα θα πρέπει να ορίσουμε την ενέργεια που θα εκτελεστεί εφόσον η παραπάνω συνθήκη είναι αληθής.
Από τους διαθέσιμους τύπους ενεργειών επιλέγουμε “Hide Control”
Ακολουθούμε τα ίδια βήματα για τον δεύτερο κανόνα, εμφάνισης του τμήματος
Αποθηκεύουμε το Rule Set και κλείνουμε τον Composer.
Το Rule Set που μόλις φτιάξαμε μεταφέρεται στις ιδιότητες του τμήματος της δυναμικής φόρμας.
Αποθηκεύουμε την φόρμα και κλείνουμε τον Form Designer.
Το αποτέλεσμα της εκτέλεσης του Rule Set φαίνεται στις παρακάτω οθόνες.
Παράδειγμα 2ο
Use Case
Στη φόρμα του έργου θέλουμε, εφόσον αυτό αφορά υποέργο που κινείται να είναι διαθέσιμα μια σειρά από Tab Pages που θα καταχωρούνται και θα προβάλλονται ένα σύνολο από πληροφορίες. Σε αντίθετη περίπτωση θα είναι ορατά μόνο κάποια βασικά στοιχεία.
Implementation
Αφού έχουμε καθορίσει το πεδίο που θα «ελέγχει» την συμπεριφορά «κινούμενο έργο» (πχ. ορίζουμε το πεδίο «Χαρακτηρισμός 1» του ESGOProject), δημιουργούμε ένα Rule Set σύμφωνα με την παραπάνω τεχνική και το αναθέτουμε στο αντίστοιχο πεδίο των ιδιοτήτων κάθε Tab Page που θέλουμε να ελέγξουμε.
Το αποτέλεσμα φαίνεται στις παρακάτω οθόνες.