EBS - Reporting EL
Τα εργαλεία παρουσίασης & εκτύπωσης δεδομένων
Entersoft Business Suite® | Entersoft Expert® | Entersoft CRM®
Τεχνικό εγχειρίδιο
Περιεχόμενα
- 1 Σκοπός του Εγχειριδίου
- 2 To Εργαλείο Κατασκευής Οψεων
- 3 Εργαλείο Κατασκευής Κύβων
- 4 ΒΙΤ και Ενσωμάτωση Νέων Εκτυπώσεων
- 5 Μέθοδοι Eξαγωγής Στοιχείων
- 6 Ενσωμάτωση Eκτυπώσεων Crystal Reports
- 7 Ετικέτες και Bar-Codes
- 8 Εργαλείο Κατασκευής Αναφορών (.ΝΕΤ 3.5)
- 8.1 Δημιουργια Dataset
- 8.2 Δημιουργία Αναφοράς
- 8.2.1 Το περιβάλλον σχεδίασης
- 8.2.2 Δημιουργία μιας Απλής Εκτύπωσης
- 8.2.3 Δημιουργία Αναφοράς & Ετικετών με Χρήση Wizard
- 8.2.4 Δημιουργία Master-Detail Αναφοράς
- 8.2.5 Ομαδοποίηση και Ταξινόμηση
- 8.2.6 Εκτύπωση με Εταιρικό Λογοτυπο
- 8.2.7 Υπο-Αναφορές στην Κεντρική Αναφορά (Sub-Reports)
- 8.2.8 Γραφήματα
- 8.2.9 Δημιουργία Pivot-Table
- 8.2.10 Χρήση Scripts
- 8.3 Αμεση Δημιουργία Αναφοράς σε Οψη
- 9 Εργαλείο Κατασκευής Φορμών Εκτύπωσης
Σκοπός του Εγχειριδίου
Σκοπός του παρόντος εγχειριδίου είναι να δώσει όλες τις απαραίτητες τεχνικές πληροφορίες σε εξειδικευμένους χρήστες που θα θελήσουν να επαυξήσουν τη λειτουργικότητα των εφαρμογών που αφορά άντληση πληροφοριών και να τους γνωρίσει τα διαθέσιμα εργαλεία εκτύπωσης, παρουσίασης κα εξαγωγής πληροφοριών από το σύστημα...
Εργαλείο κατασκευής όψεων
Εργαλείο κατασκευής κύβων
ΒΙΤ και ενσωμάτωση νέων εκτυπώσεων
Μέθοδοι εξαγωγής στοιχείων
Μέθοδοι Mail-merge
Σενάρια δημιουργίας πολλαπλών φύλλων Excel
Ενσωμάτωση εκτυπώσεων Crystal Reports
Ετικέτες και bar-codes με Crystal Reports
Εργαλείο κατασκευής αναφορών (.ΝΕΤ 3.5)
Εργαλείο κατασκευής φορμών εκτύπωσης
To Εργαλείο Κατασκευής Οψεων
Το εργαλείο κατασκευής όψεων δίνει τη δυνατότητα παραμετροποίησης απλών ή σύνθετων οθονών προβολής και εκτύπωσης ανάλογα με τις ανάγκες του χρήστη. Οι «όψεις», πέραν της χρήσης τους ως εργαλείο πληροφόρησης, χρησιμοποιούνται ευρέως στις εφαρμογές και για λειτουργίες αναζήτησης πληροφοριών και επιλογής οντοτήτων που θα συμμετάσχουν σε διάφορες διαδικασίες όπως π.χ. τιμολόγηση, παραγγελιοληψία, έλεγχος αποθεμάτων κ.λπ. Μπορεί κανείς να δημιουργήσει απλές λίστες ή σύνθετες εκτυπώσεις που καλούνται από το μενού, ως σημείο «εκκίνησης» ροών εργασίας.
Οι όψεις συνδυάζουν στοιχεία από διάφορους πίνακες της Βάσης Δεδομένων, χρησιμοποιώντας σχέσεις 1-1, 1-Ν, Ν-Ν σε οποιοδήποτε «βάθος», κάνοντας χρήση ολόκληρου του σχήματος της Βάσης, από ένα περιβάλλον εύκολης πλοήγησης σε αυτό (το σχήμα). Επιλέγοντας πίνακες και πεδία/στήλες προς εμφάνιση, το σύστημα παρέχει έτοιμη πρόταση εμφάνισης και εκτύπωσης, όπου η μεταβολή γίνεται με τη λογική WYSWYG (What You See is What You Get), χωρίς να χρειαστεί σχεδίαση/ζωγραφική με ξεχωριστό εργαλείο.
Στο παρόν εγχειρίδιο θα εξεταστεί από την πλευρά του τεχνικού συμβούλου υλοποίησης ο τρόπος κατασκευής της όψης ως προς το περιεχόμενο, δηλαδή:
Αναζήτηση και δήλωση ζητούμενης πληροφορίας από τη Βάση Δεδομένων
Δήλωση παραμέτρων και κριτηρίων για την άντληση πληροφοριών
Tρόπος διαχείρισης επιπέδων πληροφοριών και drill-down
Τρόπος ενεργοποίησης και εγκατάστασης όψεων στα τερματικά
…ενώ, για τον τρόπο χειρισμού από την πλευρά των τελικών χρηστών, τη λειτουργικότητα, τις δυνατότητες μεταβολής γραμμογράφησης, καθώς και την εκτέλεση διαφόρων διαδικασιών μέσω των όψεων, πληροφορίες θα βρείτε στο Eισαγωγικό εγχειρίδιο, η γνώση του οποίου θεωρείται προϋπόθεση για να προχωρήσει κανείς στην κατασκευή όψεων, που αναλύεται στο παρόν εγχειρίδιο.
Το εργαλείο κατασκευής όψεων καλείται με 2 τρόπους:
- Από το μενού Εργαλεία Εργασίες Προσθετικής Ανάπτυξης:
Μέσω οποιασδήποτε υπαρκτής όψης με επιλογή του εικονιδίου «σχεδίασης» από την οριζόντια γραμμή εργαλείων της:
Περιβάλλον Ορισμου Οψεων
Στο διάλογο ορισμού μιας όψης, παρέχονται όλες οι δυνατότητες δήλωσης και ενεργοποίησής της:
Οριζόντια γραμμή εργαλείων
| Περιοχή | Επιλέγουμε την οντότητα που αφορά η όψη, αν πρόκειται για νέα όψη. Στην πραγματικότητα, δεν πρόκειται για οντότητα ακριβώς, αλλά για την περιοχή/φάκελο όπου θα αποθηκευτεί η όψη. Οι περιοχές είναι προκαθορισμένες από το σύστημα και αντιπροσωπεύουν οντότητες ή ειδικές λειτουργίες σχετικές με οντότητες, που, κατά την εκτέλεσή τους, αναζητούν όψεις σε συγκεκριμένης ονοματολογίας περιοχές. |
|---|---|
| Οψη | Αν πρόκειται για νέα όψη, επιλέγουμε Νέο, διαφορετικά, επιλέγουμε κάποια από τις διαθέσιμες όψεις της συγκεκριμένης περιοχής, προς μεταβολή. |
| Ορισμός | Ενεργοποιεί την περιοχή “Στοιχεία επιλεγμένης όψης” ώστε να προχωρήσει κανείς στον ορισμό. |
| Συσκευασία | Αυτή η διαδικασία δημιουργεί ένα συμπιεσμένο (zip) αρχείο που περιέχει τα σχετικά αρχεία του κύβου/όψης. Έτσι γίνεται δυνατή η εγκατάστασή τους σε άλλον client ή server, χωρίς να είναι απαραίτητο να γνωρίζει κανείς τα αρχεία που πρέπει να αντιγραφούν ή την περιοχή εγκατάστασής τους. Στη συνέχεια, στο σύστημα «προορισμού», μπορεί κανείς από την επιλογή Εργαλεία/Εισαγωγή-Εξαγωγή δεδομένων/Εγκατάσταση συσκευασίας, να επιλέξει αυτό το αρχείο για αυτόματη εγκατάσταση. |
| Κοινοποίηση EAS | Στην περίπτωση που η όψη δημιουργείται ή μεταβάλλεται μέσω ενός τερματικού (client), με τη λειτουργία αυτή, ενημερώνουμε τον εξυπηρετητή (Entersoft Application Server), και κατ’ επέκταση όλα τα τερματικά (μέσω του συγχρονισμού τερματικών), με τις νέες όψεις που κατασκευάζουμε ή τις αλλαγές που πραγματοποιούμε στις ήδη υπάρχουσες όψεις. |
| Διαγραφή | Διαγράφει την επιλεγμένη όψη. ΠΡΟΣΟΧΗ! Προϊοντικές όψεις ΔΕΝ μπορούν να διαγραφούν. |
Στοιχεία επιλεγμένης όψης
Στην περιοχή αυτή είναι διαθέσιμες 6 «υποσελίδες» (tab-pages):
Ονοματολογία Αρχείων Οψεων
Ο κωδικός που αποδίδουμε σε μια όψη, καθορίζει και τα αρχεία όπου αποθηκεύονται τα στοιχεία της. Μια όψη αποτελείται από τα εξής δομικά στοιχεία:
- Φάκελος συστήματος, ο οποίος περιέχει αρχεία τύπου egl και esq
- Αρχείο xml
Οι έτοιμες (προϊοντικές) όψεις εντοπίζονται στον φάκελο ESFilters της περιοχής εγκατάστασης.
Για παράδειγμα, η όψη Λίστα πελατών, έχει ως κωδικό ESFITradeAccountCustomer_def και βρίσκεται στην περιοχή Πελάτες. Δηλαδή, στον φάκελο εφαρμογής ESFilters\ESFICustomer υπάρχει φάκελος και xml αρχείο με όνομα ESFITradeAccountCustomer_def.
H ονοματολογία των όψεων καθορίζεται ως εξής:
<Φάκελος Εφαρμογής>\ESFilters\<Περιοχή>\Αρχεία όψης βάσει κωδικού
Η δημιουργία μιας νέας όψης, καθώς και η μεταβολή μιας ήδη υπάρχουσας, έχει σαν αποτέλεσμα τη δημιουργία CS φακέλων, εν αντιστοιχία.
Για παράδειγμα, αν μεταβάλλουμε την προϊοντική όψη Λίστα πελατών, αυτόματα δημιουργείται μια νέα όψη σε CS διαδρομή:
<Φάκελος Εφαρμογής>\CSFilters\ESFICustomer\ESFITradeAccountCustomer_def
Η λογική αυτή εφαρμόζεται σε πολλά σημεία του συστήματος (πέραν των όψεων) και ονομάζεται shadowing. Επιτρέπει να παίρνει κανείς ως παράδειγμα ένα έτοιμο «συστατικό» (όψη, κύβος, φόρμα, εκτύπωση κ.λπ.) που χρησιμοποιείται σε συγκεκριμένα σημεία στο πρόγραμμα και να το «αλλοιώνει», οπότε πλέον υπερισχύει αυτό, το προσαρμοσμένο στις ανάγκες της εγκατάστασης (CS). Αν το στοιχείο αυτό διαγραφεί, τότε και μόνο είναι διαθέσιμο το αρχικό στοιχείο που δίνει έτοιμο το σύστημα (ES).
Ο συνδυασμός Κωδικού και Περιοχής πρέπει να είναι μοναδικός, εφόσον αναφερόμαστε σε ονόματα αρχείων του λειτουργικού συστήματος.
Ροή Εκτέλεσης Οψης
Όταν εκτελούμε μια όψη από ένα τερματικό (client), αποστέλλεται ερώτηση στον εξυπηρετητή (server) για την ύπαρξη της όψης στο φάκελο εφαρμογής του. Η ερώτηση αφορά το μοναδικό συνδυασμό Περιοχή Όψης\ Κωδικός Όψης.
Σε περίπτωση που ο εξυπηρετητής απαντήσει αρνητικά, αποστέλλεται προς εκτέλεση το ερώτημα (SQL Query) της όψης που εκτελούμε, στο τερματικό.
Σε περίπτωση που ο εξυπηρετητής απαντήσει θετικά, βάσει των κριτηρίων που έχουν συμπληρωθεί πριν την εκτέλεση, εκτελείται το ερώτημα (SQL Query) της όψης που υπάρχει στον εξυπηρετητή.
Και στις 2 περιπτώσεις, γίνεται αναζήτηση πρώτα στο φάκελο CS και αν δεν βρεθεί εκεί, στο φάκελο ES.
Ας εξετάσουμε 2 πιθανά σενάρια ύπαρξης όψεων:
- Η όψη Α είναι custom και υπάρχει μονάχα στο τερματικό
- Η όψη Β είναι custom, υπάρχει στο τερματικό και έχει μεταφερθεί και στον εξυπηρετητή.
Kατά την εκτέλεση της όψης Α του 1ου σεναρίου, εκτελείται πάντα το τοπικό ερώτημα, ενώ κατά την εκτέλεση της όψης Β του 2ου σεναρίου, εκτελείται πάντα το ερώτημα της όψης του εξυπηρετητή.
Επομένως :
Κατασκευή Νέας Οψης
Από το διάλογο ορισμού, επιλέγουμε την επιθυμητή Περιοχή και εν συνεχεία την τιμή Νέο στο πεδίο Όψη.
Με το εικονίδιο Ορισμός, ενεργοποιείται η περιοχή των “Στοιχείων επιλεγμένης όψης”, όπου και πρέπει να ορίσουμε τιμές στα πεδία Κωδικός, Τύπος και Τίτλος.
Ορισμός Νέου Φίλτρου
Με την επιλογή του εικονιδίου
εμφανίζεται το παράθυρο Επιλογής κυρίως πίνακα. Σε αυτό το σημείο έχουμε τη δυνατότητα να ορίσουμε τις παρακάτω παραμέτρους:
Όνομα : Για λόγους ομοιομορφίας, θα μπορούσαμε να δώσουμε στο φίλτρο τον Τίτλο της όψης.
Όνομα στη Βάση : Το όνομα που επιθυμούμε να έχει το φίλτρο στη βάση δεδομένων, έτσι ώστε να είναι επαναχρησιμοποιήσιμο (σαν alias).
Πρώτες Ν εγγραφές : Το ενεργοποιούμε αν θέλουμε να καθορίζουμε το πλήθος των εγγραφών (Ν πρώτες εγγραφές) που θα επιστρέφει η όψη. Αυτό έχει σαν αποτέλεσμα να δημιουργηθεί αυτόματα ένα κριτήριο για το σκοπό αυτό (στο οποίο πρέπει να δοθεί ΟΠΩΣΔΗΠΟΤΕ μια αρχική-προκαθορισμένη τιμή στην υποσελίδα «Παράμετροι» στο διάλογο ορισμού της όψης)
Στη συνέχεια, θα πρέπει να επιλέξουμε από τα διαθέσιμα υποσυστήματα, τον κύριο πίνακα από τον οποίο θα ξεκινήσει η κατασκευή του φίλτρου μας. Τα διαθέσιμα υποσυστήματα είναι :
Υποσύστημα CS : Πίνακες και όψεις της βάσης που δεν ανήκουν στο προκαθορισμένο ODS schema. Εδώ μπορούμε να εντοπίσουμε custom πίνακες που συντηρούμε στη βάση δεδομένων.
Υποσύστημα ES00 : Συστημικοί πίνακες
Υποσύστημα ESBG : Πίνακες Προϋπολογισμών
Υποσύστημα ESCO : Πίνακες Κοστολόγησης
Υποσύστημα ESFA : Πίνακες Παγίων
Υποσύστημα ESFI : Πίνακες Οικονομικής Διαχείρισης
Υποσύστημα ESGL : Πίνακες Λογιστικής
Υποσύστημα ESGO : Διεταιρικοί πίνακες
Υποσύστημα ESMM : Πίνακες Αποθήκης
Υποσύστημα ESTM : Πίνακες CRM
Υποσύστημα ESWB : Πίνακες WEB –B2B
Υποσύστημα ESWP : Πίνακες εργασιών
Αφού επιλέξουμε το Υποσύστημα, το επόμενο βήμα είναι να επιλέξουμε τον βασικό πίνακα του φίλτρου και Αποδοχή, ώστε να προχωρήσουμε στην κατασκευή του φίλτρου.
Με την επιλογή του εικονιδίου Αποδοχή, εμφανίζεται το παράθυρο του Ορισμού φίλτρου, όπου συντελείται και το μεγαλύτερο μέρος της κατασκευής μιας όψης.
Ο διάλογος ορισμού φίλτρου διαχωρίζεται σε 3 κυρίως περιοχές: τις Διαθέσιμες στήλες, τις Επιλεγμένες στήλες και τα Κριτήρια.
Διαθέσιμες στήλες
Στην περιοχή των διαθέσιμων στηλών εμφανίζεται ο πίνακας που επιλέξαμε στο αμέσως προηγούμενο βήμα. Υπάρχουν διαθέσιμα όλα τα πεδία του πίνακα αυτού καθώς και όλες οι σχέσεις των πεδίων (Relationships) του με άλλους πίνακες της βάσης δεδομένων. Για κάθε πεδίο, πριν από το οποίο εμφανίζεται το εικονίδιο
, υπάρχει διαθέσιμη και μια ή περισσότερες σχέσεις.
Με άλλα λόγια, μέσα στην περιοχή των διαθέσιμων στηλών, υπάρχει διαθέσιμο ολόκληρο το σχήμα της βάσης δεδομένων, ώστε να κατασκευάσουμε το επιθυμητό φίλτρο.
Για κάθε τύπο σχέσης μεταξύ των πινάκων, υπάρχει και η αντίστοιχη απεικόνιση:
Ο τύπος της σχέσης μπορεί να αλλάξει, επιλέγοντας δεξί κλικ πάνω στο εικονίδιο της σχέσης.
Ένα πεδίο των Διαθέσιμων στηλών μπορεί να περάσει στην περιοχή των Επιλεγμένων στηλών απλά επιλέγοντας το. Η επιλογή είναι εφικτή από το πεδίο επιλογής που εμφανίζεται αριστερά κάθε διαθέσιμου πεδίου.
Στο πάνω μέρος της περιοχής των Διαθέσιμων στηλών υπάρχει η control bar:
Νέα σχέση : Mε την επιλογή αυτή, μπορούμε να δημιουργήσουμε μια νέα σχέση για οποιοδήποτε πεδίο των Διαθέσιμων στηλών είναι εκείνη τη στιγμή επιλεγμένο.
Ονομασίες : Με την επιλογή «Όπως είναι στην ΒΔ», έχουμε δυνατότητα να εμφανίζουμε τα πεδία με τη λατινική ονοματολογία τους στο σχήμα της Βάσης. Με την επιλογή «Περιγραφικές», επαναφέρουμε τα πεδία στην περιγραφική εμφάνιση τους.
Στο κάτω μέρος της περιοχής των Διαθέσιμων στηλών εμφανίζεται ένα πλαίσιο με πληροφορίες για το εκάστοτε επιλεγμένο πεδίο.
Όνομα : Περιγραφική ονομασία του πεδίου- Όνομα στη βάση : Όνομα του πεδίου στη βάση δεδομένων
- ESType : Κατάταξη των πεδίων σε εσωτερικούς τύπους δεδομένων
- Nullable : Εάν το πεδίο δέχεται null τιμές
- AA : Η θέση του πεδίου στη βάση δεδομένων
- ODS Tag : Η μοναδική τιμή που χαρακτηρίζει το κάθε πεδίο στο ODS σχήμα.
Επιλεγμένες στήλες
Τα πεδία που επιλέχθηκαν από την περιοχή των Διαθεσίμων στηλών εμφανίζονται στην περιοχή των Επιλεγμένων στηλών, δεξιά.
Τα στοιχεία που βλέπουμε είναι:
Κριτήρια
Στην περιοχή των κριτηρίων εμφανίζονται τα πεδία που ορίστηκαν ως ερωτώμενα, καθώς και οι όροι-συνθήκες που τα συνδέουν. Το σύνολο των πεδίων και των συνθηκών που ορίζονται στα κριτήρια, ουσιαστικά απαρτίζουν τα Where clauses του ερωτήματος της όψης. Τα στοιχεία κάθε κριτηρίου είναι:
Μενού φίλτρου
Στο διάλογο ορισμού του φίλτρου, υπάρχουν 2 ακόμη περιοχές επιλογών που χρειάζονται κατά την κατασκευή και τον έλεγχο κάθε όψης. Στο πάνω μέρος είναι διαθέσιμο ένα μενού:
| Αρχείο |
|
|---|---|
| Δεδομένα φίλτρου |
|
| Αποδοχή |
|
| Ακύρωση |
|
Περιοχές φίλτρου
Στο κάτω μέρος είναι διαθέσιμη μια μπάρα που εμφανίζει πρόσθετες επιλογές περιοχών, οι οποίες αναδύονται με mouse over του αντίστοιχου εικονιδίου:
| Υποφίλτρα |
|
|---|---|
| Ερώτημα προς τη βάση δεδομένων |
|
| Παράμετροι |
|
| Πίνακες |
Εμφανίζει τους πίνακες από τους οποίους έχουν χρησιμοποιηθεί πεδία για την κατασκευή του φίλτρου. |
Σχεδιασμός παραμέτρων
Ολοκληρώνοντας την αρχική παραμετροποίηση του φίλτρου και επιλέγοντας «Αποδοχή» στο διάλογο ορισμού του φίλτρου, επιστρέφουμε στο διάλογο ορισμού της όψης, και ενεργοποιούμε την υποσελίδα «Παράμετροι»:
Στη λίστα που εμφανίζεται, περιλαμβάνονται όλες οι στήλες που ορίστηκαν ως «ερωτώμενες». Για καθεμιά μπορούν να δηλωθούν πρόσθετα στοιχεία:
| ΑΑ | Καθορίζει τη σειρά εμφάνισης των παραμέτρων στο χρήστη. |
|---|---|
| Όνομα | Ο τίτλος με τον οποίο θα εμφανίζεται στα κριτήρια. |
| Τύπος |
Προτείνεται αυτόματα βάσει του τύπου της ερωτώμενης στήλης. Οι διαθέσιμες τιμές είναι:
|
| |
| Βοηθητικό κείμενο | Προτείνεται, και εδώ, αυτόματα ο τίτλος του πεδίου. Η τιμή που αποδίδουμε λειτουργεί ως tooltip για την παράμετρο. |
| Προκαθορι σμένη τιμή |
Είναι η προτεινόμενη τιμή της παραμέτρου. Σε τύπους «range» ο διάλογος που εμφανίζεται για τη δήλωση της προτεινόμενης τιμής είναι ο ίδιος που θα εμφανίζεται κατά την εκτέλεση της όψης, στο χρήστη, αν προσπαθήσει να αλλάξει την τιμή του κριτηρίου. Αν στο φίλτρο έχει ενεργοποιηθεί το «Πρώτες Ν εγγραφές», θα εμφανιστεί αυτόματα η σχετική παράμετρος και στη στήλη αυτή θα πρέπει να δοθεί ΟΠΩΣΔΗΠΟΤΕ μια τιμή. |
| Φίλτρο | Με την ενεργοποίηση της στήλης αυτής, δημιουργείται αυτόματα ένα φίλτρο αναζήτησης για την παράμετρο. Χρησιμοποιείται όταν πρόκειται για οντότητα π.χ. υποκατάστημα, πελάτης κι όχι σε αριθμούς, ημ/νίες κ.λπ. Στη συνέχεια, αυτό το (αυτόματα δημιουργημένο) φίλτρο μπορεί να μεταβληθεί στην επόμενη στήλη. |
| Φίλτρο αναζήτησης |
Επηρεάζει τις εγγραφές που θα εμφανίζονται με F3 (αναζήτηση) στο συγκεκριμένο κριτήριο και οι κανόνες διαμόρφωσής του είναι αντίστοιχοι εκείνων που ισχύουν σε κάθε όψη. |
| Υποχρεωτική |
Η υποχρεωτική συμπλήρωση παραμέτρων πρέπει να ληφθεί σοβαρά από τους administrators μεγάλων εγκαταστάσεων, δεδομένου ότι σε συχνά χρησιμοποιούμενες όψεις, μπορούν να περιορίσουν σημαντικά την κυκλοφορία δεδομένων, υποχρεώνοντας τους χρήστες να περιορίσουν, με τη χρήση παραμέτρων, τις αναζητήσεις τους. |
| Ορατή |
Καθορίζει τον τρόπο εμφάνισης μιας παραμέτρου. Λαμβάνει 3 διαθέσιμες τιμές :
|
Δεξιά της λίστας των παραμέτρων υπάρχει μια στήλη εργαλείων, που περιλαμβάνει τις εξής λειτουργίες:
Μεταβολή Φίλτρου
Μετά την επιλογή «Ορισμός» στο περιβάλλον ορισμού της όψης, αν ήδη έχει αποθηκευτεί η όψη, με το πλήκτρο
περνάμε στο παράθυρο ορισμού φίλτρου, όπως στην αρχική σχεδίαση, με τις διαθέσιμες στήλες, κριτήρια κ.λπ. για να κάνουμε μεταβολές.
Ιδιότητες Φίλτρου
Επιλέγοντας το πλήκτρο
στο αρχικό παράθυρο ορισμού της όψης, βλέπουμε κάποιες προεπιλεγμένες τιμές ιδιοτήτων, που αφορούν την «ταυτότητα» της όψης:
Aν απενεργοποιήσουμε τη ρύθμιση πολλαπλές επιλογές τότε, σε τυχόν διαδικασίες επιλογής όπου μπορεί να κληθεί η όψη π.χ. σε αναζήτηση (F3) ΔΕΝ θα μπορεί να επιλέξει πολλές εγγραφές ο χρήστης, παρά μόνο μία. Αν για παράδειγμα η όψη θα χρησιμοποιηθεί για την επιλογή τύπου παραστατικού προς δημιουργία από κάποια διαδικασία, λογικό είναι να έχουμε αποκλεισμό πολλαπλής επιλογής, ενώ μια όψη που θα χρησιμοποιείται στην αναζήτηση και μεταφορά (αποδοχή) ειδών στο πλέγμα ενός παραστατικού π.χ. παραγγελίας, λογικό είναι να επιτρέπεται πολλαπλή επιλογή.
Η φόρμα εμφάνισης είναι απαραίτητο να συμπληρωθεί (γίνεται επιλογή από το σύνολο των φορμών διαχείρισης οντοτήτων με τη λατινική ονοματολογία τους) για να μπορεί να «ανοίγει» η οθόνη διαχείρισης της οντότητας με double click σε μια γραμμή της όψης. Για να λειτουργεί, θα πρέπει στο φίλτρο (query) να έχει περιληφθεί και το “GID” της οντότητας.
Ο αναδιπλούμενος αυτός διάλογος παύει να είναι ορατός αν επιλεγεί οποιοδήποτε σημείο εκτός αυτού, δεν υπάρχουν δηλαδή πλήκτρα εξόδου, επιβεβαίωσης κ.λπ.
Διαμόρφωση Γραμμογράφησης
Σκοπός αυτής της λειτουργίας είναι να σχεδιάσουμε την κατάλληλη – επιθυμητή εμφάνιση της όψης (layout) με βάση την αρχικά προτεινόμενη εμφάνιση που παράγει το σύστημα.
Για να κληθεί η Διαμόρφωση, θα πρέπει η όψη να έχει αποθηκευτεί, με τις τελευταίες μεταβολές της, γι’αυτό, κάθε φορά που μεταβάλλεται το φίλτρο και επιλέγουμε Διαμόρφωση Γραμμογράφησης, εμφανίζεται ερώτηση για την αποθήκευση.
Ο διάλογος που ανοίγει με την επιλογή της Διαμόρφωσης Γραμμογράφησης, μοιάζει αρκετά με την κανονική εκτέλεση μιας όψης, με τη διαφορά ότι εμφανίζεται το μενού Γραμμογράφηση, με 2 επιλογές:
- Ενημέρωση γραμμογράφησης : Η επιλογή αυτή προσθέτει η αφαιρεί στήλες, που αντιστοιχούν σε πεδία που έχουν προστεθεί ή αφαιρεθεί από το φίλτρο αντίστοιχα, διατηρώντας την υπάρχουσα – αποθηκευμένη γραμμογράφηση (μορφή).
- Επαναδημιουργία γραμμογράφησης : Η επιλογή αυτή καταργεί οποιεσδήποτε μορφολογικές μεταβολές έχουν γίνει και επαναδημιουργεί τη γραμμογράφηση με βάση τις νέες στήλες του φίλτρου, δίνοντας την αρχικά προτεινόμενη μορφή (layout).
Συνεπώς, μετά την προσθήκη ή διαγραφή πεδίων του φίλτρου, θα πρέπει να επιλέξουμε μια εκ των 2 αυτών επιλογών για να ενημερώσουμε την όψη, αλλιώς οι αλλαγές δεν θα είναι ορατές κατά την εκτέλεση της όψης.
Κλείνοντας το διάλογο της Διαμόρφωσης, εμφανίζεται ερώτηση για την αποθήκευση των αλλαγών. Απαντώντας θετικά, αποθηκεύεται τόσο η δομή όσο και η εμφάνιση της όψης.
Κατασκευή Υποφίλτρου
Υποφίλτρο θα χρειαστεί να κατασκευάσουμε για να βρούμε, να υπολογίσουμε και να εμφανίσουμε στην κύρια όψη πληροφορίες που προκύπτουν από διαφορετική επεξεργασία εκείνης της κύριας όψης και από διαφορετικούς πίνακες, με βάση το σχεσιακό μοντέλο της Βάσης Δεδομένων ή με βάση «λογικές» σχέσεις (μη διαθέσιμες άμεσα στο αρχικό σχήμα) που μπορούμε μόνοι μας να δημιουργήσουμε.
Για να γίνει αυτό κατανοητό, θα χρησιμοποιήσουμε ως παράδειγμα την έτοιμη όψη Τρέχοντα Υπόλοιπα Πελατών (Διαχείριση/Εισπρακτέοι λογαριασμοί/Ελεγχος υπολοίπων).
Στην όψη αυτή, για να μπορέσουμε να εμφανίσουμε την πληροφορία του υπολοίπου κάθε πελάτη (οι γραμμές της όψης είναι Πελάτες), καθώς και την ημ/νία τελευταίας χρέωσης και τελευταίας πίστωσης, χρειάστηκε να φτιάξουμε 3 υποφίλτρα …
- Ένα για να αθροίσουμε από τον πίνακα «Τρέχοντα υπόλοιπα» την αξία χρέωσης και την αξία πίστωσης από όλες τις γραμμές που αφορούν τον συναλλασσόμενο της γραμμής και με μια έκφραση μεταξύ τους να δημιουργήσουμε το «Υπόλοιπο» ως ορατή στήλη στην κύρια όψη
- Ένα για να βρούμε την τελευταία ημερολογιακά κίνηση του συναλλασσόμενου από τον πίνακα των κινήσεων που ενημέρωσε «αξία χρέωσης» και να επιλέξουμε την «ημ/νία έκδοσης» ως ορατή στήλη στην κύρια όψη
- Ένα για να βρούμε αντίστοιχα την ημ/νία τελευταίας πίστωσης του συναλλασσόμενου
Για να κάνουμε κάτι αντίστοιχο σε μια οποιαδήποτε λίστα πελατών, θα επιλέξουμε στο διάλογο ορισμού της όψης την περιοχή «υποφίλτρα» και από τη στήλη εργαλείων, το εικονίδιο της εισαγωγής:
Στη συνέχεια, στο διάλογο επιλογής κυρίως πίνακα, θα επιλέξουμε «Τρέχοντα υπόλοιπα λ/σμού συν/νου».
Ακολουθώντας τους κανόνες κατασκευής όψης, κατασκευάζουμε το υποφίλτρο, επιλέγουμε τις στήλες, ορίζουμε κατάλληλο τρόπο συγκέντρωσης, δίνουμε ένα νέο όνομα στο υποφίλτρο, κλείνουμε τον ορισμό με «Αποδοχή» και αποθηκεύουμε.
Εν συνεχεία, θα πρέπει να ορίσουμε τη σχέση που θα συνδέει το βασικό φίλτρο των πελατών, με το νέο υποφίλτρο του τρέχοντος υπολοίπου πελατών. Η σχέση θα πρέπει να κατασκευαστεί πάνω σε ένα η περισσότερα πεδία του βασικού φίλτρου.
Για το παράδειγμα, θα χρησιμοποιήσουμε τον Εσωτερικό κωδικό του πελάτη. Επιλέγουμε το πεδίο και εν συνεχεία επιλέγουμε το εικονίδιο Νέα σχέση από τη γραμμή εργαλείων αριστερά πάνω από τη λίστα των πεδίων.
Στο διάλογο Σχέση πινάκων που εμφανίζεται θα πρέπει να συμπληρώσουμε τα παρακάτω στοιχεία :
- Πίνακας: Επιλέγουμε τον πίνακα που θέλουμε να συσχετίσουμε με τον βασικό (master) πίνακα. Τα υποφίλτρα που τυχόν έχουμε κατασκευάσει θα εμφανίζονται διαθέσιμα με το όνομα που τους έχουμε δώσει (π.χ. CustomerBalance) σαν ένας οποιοσδήποτε πίνακας της Βάσης Δεδομένων.
- Πεδίο: Επιλέγουμε το πεδίο που θα συσχετίσουμε με το πεδίο του βασικού πίνακα. Στο παράδειγμα, συσχετίζουμε τον Εσωτερικό κωδικό πελάτη (GID) του βασικού (master) πίνακα με τον Εσωτερικό κωδικό πελάτη (fTradeAccountGID) του υποφίλτρου (detail). Η συσχέτιση αυτή περιλαμβάνεται στο SQL Statement που παράγεται αυτόματα, ως εξής:
Η συσχέτιση δηλώνεται στο σημείο
ON ESFITradeAccount.GID = FK_CustomerBalance_ESFITradeAccount.fTradeAccountGID
Μ – D Σχέση, D – M Σχέση: Καθορίζουμε το όνομα της σχέσης, όπως θα εμφανιστεί στις διαθέσιμες σχέσεις του πεδίου συσχέτισης, Εσωτερικός κωδικός πελάτη.
Αναλυτικά τα υπόλοιπα πεδία του διαλόγου:
- Σχέσης στη βάση: Καθορίζει το όνομα της προς δημιουργία σχέσης. Προτείνεται αυτόματα η ονοματολογία: FK_Όνομα Detail Πίνακα_Όνομα Master Πίνακα.
- Εναλλαγή στοιχείων M – D: Καθορίζει τον τύπο της προς δημιουργία όψης. Προτείνεται ως Ένα προς Πολλά
, προς τον detail πίνακα. Αν το επιλέξουμε, η σχέση μεταβάλλεται σε Πολλά προς Ένα
, και ταυτόχρονα αλλάζουν και θέση μεταξύ τους τα Στοιχεία Detail και Master. - Επιπλέον συσχετίσεις πεδίων: Μέχρι και 3 επίπεδα συσχετίσεων μπορούμε να καθορίσουμε στο εργαλείο κατασκευής φίλτρου. Πέραν της βασικής συσχέτισης μεταξύ των 2 πεδίων, μπορούμε να ορίσουμε και 2 επιπλέον. Οι 2 επιπλέον συσχετίσεις μπορούν να καθοριστούν σε επίπεδο:
- Πεδίο με πεδίο : Συσχέτιση μεταξύ 2 πεδίων
- Πεδίο με Ακέραια σταθερά : Συσχέτιση μεταξύ ενός πεδίου και μιας αριθμητικής τιμής
- Πεδίο με Αλφαριθμητική σταθερά : Συσχέτιση μεταξύ ενός πεδίου και μιας αλφαριθμητικής τιμής
Αφού ορίσουμε τα στοιχεία της νέας σχέσης, έχουμε πλέον τη δυνατότητα να χρησιμοποιήσουμε στο διάλογο ορισμού του φίλτρου όλα τα ορατά πεδία του υποφίλτρου.
Τέλος, με δεξί κλικ πάνω στη σχέση, εμφανίζεται μια σειρά επιλογών μέσω των οποίων μπορούμε
- Να μεταβάλλουμε τον τύπο σχέσης
- Να διαγράψουμε τη σχέση
- Να μεταβάλλουμε τα στοιχεία της σχέσης από το διάλογο της Σχέσης Πινάκων
Κατασκευή Φιλτρου από Ενωση Αλλων
Υπάρχουν περιπτώσεις που παρουσιάζεται η ανάγκη να ενώσω σε ένα ενιαίο πίνακα τα δεδομένα 2 ή περισσότερων διαφορετικών πινάκων π.χ. παραστατικά εμπορικών και χρηματικών συναλλαγών και να τα παρουσιάσω σε ΜΙΑ όψη. Η διαδικασία αυτή (UNION) υλοποιείται με τα παρακάτω βήματα:
- Δημιουργoύμε υποφίλτρα από τους εκάστοτε πίνακες όπου δηλώνουμε τα επιθυμητά πεδία
- Σε κάθε υποφίλτρο δημιουργούμε μία έκφραση τύπου string (dummy) με κάποια τυχαία τιμή π.χ. 1.
ΠΡΟΣΟΧΗ! Οι τιμές του πεδίου (1,2,3…) πρέπει να είναι διαφορετικές σε κάθε υποφίλτρο, ενώ το «όνομα στο φίλτρο» και ο «τίτλος» να είναι ίδια.
Μετατρέπουμε κάθε υποφίλτρο σε «κυρίως πίνακα».
Στο βασικό φίλτρο της όψης, στην «dummy» αυτή στήλη, κάνουμε ένα full join με τις αντίστοιχες αυτές (dummy) στήλες των υποφίλτρων.Επειδή το full join του προηγούμενου βήματος, θα επιστρέφει κάθε φορά τιμή για ένα από τα υποφίλτρα, ενώ για όλα τα υπόλοιπα θα επιστρέφει null, θα πρέπει στο βασικό φίλτρο να ορίσουμε όλα τα πεδία της ίδιας φύσης στα υποφίλτρα ως «μη ορατά» και να δημιουργήσουμε εκφράσεις με χρήση της coalesce({πεδίο1},{πεδίο2},{πεδίο3},...) για τα πεδία αυτά, οι οποίες και θα έχουν ενεργοποιημένο το «ορατό».
Για παράδειγμα, αν στην όψη «Εισπράξεις» (του κεντρικού μενού Εγγραφές/Ταμείο-Αξιόγραφα) ταξινομήσουμε τις στήλες ως προς τη στήλη «ορατό», θα δούμε πως όλες οι ορατές είναι εκφράσεις π.χ.
Ως τίτλος του παραστατικού θα τυπωθεί κάθε φορά ΕΝΑΣ (εκείνος με τη μη κενή τιμή) που θα επιστρέψει ΕΝΑ από τα 5 διαφορετικά, στην περίπτωσή μας, υποφίλτρα.
Κατασκευή Επιπέδου
Όψεις που παρουσιάζουν την παρακάτω δομή ονομάζονται ιεραρχικές.
Στις ιεραρχικές όψεις, κάθε γραμμή της όψης εμφανίζει αριστερά το εικονίδιο
. Με την επιλογή του εικονιδίου, εμφανίζεται ένα νέο πλέγμα δεδομένων άμεσα σχετιζόμενο με την τρέχουσα γραμμή (επίπεδο). Μια όψη μπορεί έχει 1 – Ν επίπεδα.
Η λογική κατασκευής ιεραρχικών όψεων στηρίζεται στην ανάγκη παράθεσης δευτερεύουσας σημασίας πληροφοριών, ως συμπλήρωμα ή επεξήγηση της πρωτεύουσας πληροφορίας της όψης. Επιπλέον, με ιεραρχικές όψεις μπορούν να καλυφθούν ανάγκες πληροφόρησης που, αν δίνονταν όλες σε 1ο επίπεδο (ως πρωτεύουσες πληροφορίες της όψης) θα είχαμε κόστος στην ταχύτητα εκτέλεσης. Οι όψεις εκτελούνται κατ’αρχήν μόνο ως προς το 1ο τους επίπεδο και, οποιαδήποτε επόμενα, υπολογίζονται και εμφανίζονται μετά από επιλογή του χρήστη, οπότε, αν χρησιμοποιηθούν επόμενα επίπεδα για μερικές πληροφορίες που δεν απαιτούνται άμεσα, θα πετύχουμε και ταχύτερη αρχική εκτέλεση.
Σαν παράδειγμα θα αναλύσουμε την προϊοντική όψη Πωλήσεις/Αποστολές (Εγγραφές-Πωλήσεις/Έσοδα).
Όλες οι ιεραρχικές όψεις αποτελούνται από το κύριο φίλτρο τους ( πρωτογενής πληροφορία) και τα φίλτρα των επιπέδων τους (δευτερογενής πληροφορία). Στη συγκεκριμένη περίπτωση έχουμε στο κύριο φίλτρο παραστατικά πωλήσεων με τα βασικά τους στοιχεία όπως Ημ/νία, Αριθμός, Πελάτης, Ποσό κ.λπ.
Σκοπός της κατασκευής επιπέδου εδώ, είναι να δώσουμε δυνατότητα πληροφόρησης για τις ΓΡΑΜΜΕΣ του κάθε παραστατικού, χωρίς να αναγκαστεί ο χρήστης, που επιθυμεί να πάρει την πληροφορία αυτή, να εισέλθει στη φόρμα διαχείρισης του ίδιου του παραστατικού.
Στον διάλογο του Ορισμού της όψης θα επιλέξουμε την υποσελίδα «Επίπεδα» και, εν συνεχεία, το εικονίδιο Προσθήκη.
Εμφανίζεται ο διάλογος Ορισμού επιπέδου και, επιλέγοντας το εικονίδιο Νέο, ακολουθούμε όλα τα γνωστά βήματα για την κατασκευή ενός φίλτρου.
Κατασκευάζουμε το φίλτρο, το οποίο ονοματίζουμε για παράδειγμα LineItems.
Θα πρέπει τώρα να καθορίσουμε στο φίλτρο αυτό, τον τρόπο σύνδεσης με το master φίλτρο των Παραστατικών εμπορικών συναλλαγών. Θα πρέπει να αποφασίσουμε ποιο μοναδικό πεδίο του φίλτρου LineItems καθορίζει μοναδικά τις εγγραφές των γραμμών του παραστατικού, ώστε να τις ομαδοποιήσει κάτω από κάθε γραμμή του master φίλτρου. Αυτό το πεδίο δεν είναι άλλο από το GID του παραστατικού στον πίνακα των γραμμών, το fDocumentGID.
Η σύνδεση επιτυγχάνεται δημιουργώντας ένα where clause στο τμήμα των κριτηρίων του επιπέδου, με την χρήση της συνάρτησης ESConnectBy. Συγκεκριμένα :
<Μοναδικό πεδίο επιπέδου> ESConnectBy <Όνομα στο φίλτρο, πεδίου master φίλτρου>
Το πεδίο Παραστατικό (fDocumentGID) του επιπέδου, αντιστοιχίζεται με το πεδίο Εσωτερικός Κωδικός (GID) του master φίλτρου. Συνεπώς, η σύνδεση ακολουθώντας τον ορισμό θα πρέπει να είναι :
Παραστατικό ESConnectBy GID (GID είναι το Όνομα στο φίλτρο, του πεδίου Εσωτερικός κωδικός)
ΠΡΟΣΟΧΗ : Το πεδίο του master φίλτρου, Εσωτερικός Κωδικός, θα πρέπει να είναι Ορατό.
To επόμενο βήμα είναι να δημιουργήσουμε το επίπεδο στη γραμμογράφηση της όψης. Επιστρέφουμε στον Ορισμό της όψης και εδώ επιλέγουμε τον τρόπο εμφάνισης του επιπέδου.
Εμφάνιση εγγραφών ιεραρχικά
Η εμφάνιση του επιπέδου ακολουθεί ιεραρχική λογική και παρουσιάζεται με το εικονίδιο
στ’αριστερά κάθε γραμμής. Η εμφάνιση αυτού του εικονιδίου, επιτυγχάνεται μεταβαίνοντας στη Διαμόρφωση γραμμογράφησης και επιλέγοντας Επαναδημιουργία γραμμογράφησης.
ΠΡΟΣΟΧΗ: Στις ιεραρχικές όψεις, η ενεργοποίηση επιπέδων επιτυγχάνεται μόνο με «Επαναδημιουργία γραμμογράφησης». Συνεπώς, προτείνεται να ολοκληρώνουμε τον ορισμό ΟΛΩΝ των επιπέδων και εν συνεχεία, να περνάμε σε διαμόρφωση.
Εμφάνιση εγγραφών Drill down
Τα δεδομένα του επιπέδου εμφανίζονται σε μια νέα όψη που αναδύεται όταν ο χρήστης επιλέξει (κλικ) τη δηλωμένη Drill down στήλη.
Στο διάλογο ορισμού της όψης, στην υποσελίδα «Επίπεδα», θα πρέπει να ενεργοποιηθεί η στήλη Drill down και, εν συνεχεία, ως Drill down στήλη να δηλωθεί το πεδίο του φίλτρου στο οποίο θα ενεργοποιηθεί η εμφάνιση του εικονιδίου
και στο οποίο με «κλικ» θα εμφανίζονται σε νέο παράθυρο τα δεδομένα του επιπέδου.
Για την εμφάνιση του εικονιδίου
, δηλαδή την ενεργοποίηση του επιπέδου, δεν απαιτείται Επαναδημιουργία γραμμογράφησης. Απλά θα πρέπει να περάσουμε σε Διαμόρφωση γραμμογράφησης και να αποθηκεύσουμε εκ νέου τη γραμμογράφηση.
Επίπεδο και master φίλτρο αποτελούν 2 διαφορετικά SQL Statements. Πως ακριβώς εκτελούνται;
Κατά την «Αποδοχή» σε μια ιεραρχική όψη, εκτελείται το SQL Statement του master φίλτρου. Το SQL Statement του επιπέδου/ων δεν έχει αποσταλεί προς εκτέλεση. ΜΟΝΟ όταν ο τελικός χρήστης επιλέξει το εικονίδιο
ή
το SQL Statement του αντίστοιχου επιπέδου θα εκτελεστεί. Μάλιστα, θα εκτελεστεί το ερώτημα μόνο για τη συγκεκριμένη γραμμή, δεδομένου ότι ένα από τα where clause του επιπέδου είναι και η συνάρτηση ESConnectBy.
Συνεπώς, κατά την εκτέλεση μιας ιεραρχικής όψης, ασχέτως των επιπέδων που μπορεί να περιέχει, εκτελείται αρχικά μόνο το βασικό φίλτρο, αφήνοντας την επιλογή στον τελικό χρήστη να εμφανίσει οιαδήποτε ιεραρχική πληροφορία επιθυμεί. Ετσι, δίνεται η δυνατότητα κατασκευής ιδιαίτερα πολύπλοκων πολυεπίπεδων όψεων, οι οποίες θα εκτελούνται τάχιστα, χωρίς να επιβαρύνουν το πληροφοριακό σύστημα.
Ειδικές Λειτουργίες Οψεων
Στο κεφάλαιο αυτό θα δούμε μερικές εξειδικευμένες λειτουργίες που μπορούμε να προσθέσουμε στις όψεις.
Δυνατότητα Πληκτρολόγησης επί των Γραμμών Οψης
Μπορεί να δοθεί η δυνατότητα μεταβολής πεδίων οντοτήτων άμεσα πάνω στην όψη που τις παρουσιάζει. Προϋπόθεση είναι να έχει δηλωθεί από τις «Ιδιότητες» της όψης μια φόρμα διαχείρισης (και ως ορατό το αντίστοιχο πεδίο «εσωτερικού κωδικού» GID).
- Με χρήση του Alt+f12 γίνεται τοποθέτηση στο φάκελο της όψης, όπου εντοπίζουμε το σχετικό αρχείο XML. Ανοίγουμε το XML και βρίσκουμε το πρώτο tag με όνομα editable. Θέτουμε την τιμή true και το αποτέλεσμα είναι να γίνουν προσβάσιμα ΟΛΑ τα πεδία της όψης για πληκτρολόγηση από το χρήστη.
Eπειδή η λειτουργικότητα αυτή συνήθως προστίθεται για την εύκολη διόρθωση ΜΙΑΣ ή ΜΕΡΙΚΩΝ στηλών, ενώ η όψη περιλαμβάνει για λόγους πληροφόρησης και ταυτοποίησης κι άλλες στήλες, σκόπιμο είναι να μετατρέψουμε ΟΛΕΣ ΤΙΣ ΥΠΟΛΟΙΠΕΣ σε μη προσβάσιμες, από την ιδιότητα «Edit type» μέσω του GridX (Ctrl-F12).
Σε επίπεδο χρήσης αυτής της δυνατότητας, όταν ο χρήστης ολοκληρώσει τις μεταβολές πάνω στο πλέγμα της όψης, πρέπει να επιλέξει από τις «Ενέργειες» της οριζόντιας γραμμής εργαλείων -> Ενημέρωση, οπότε (και τότε μόνον) θα αποθηκευτούν οι μεταβολές των πεδίων.
Ορατή ένδειξη ότι έχουν γίνει μεταβολές (χωρίς να αποθηκευτούν) είναι ένα * στον τίτλο της δεικτοσελίδας.
Προσθήκη Eιδικής Eνέργειας (Handler)
Για να προστεθεί μια ενέργεια σε μια όψη, θα πρέπει, με χρήση του Alt-F12 να εντοπιστεί στο XML της όψης και, κάτω από το πρώτο tag editable να ορίσουμε ένα tag <ScrollerCommandHandlerID> με το ID της ενέργειας. Αν για παράδειγμα θέλουμε σε μία όψη πελατών να προσθέσουμε την ενέργεια που θα πραγματοποιεί ενημέρωση της επαφής στο Outlook, θα το ορίσουμε ως εξής:
<ScrollerCommandHandlerID>Entersoft.ERP.GlobalObjects.UI.OutlookGridHandler,ESGOPersonFO</ScrollerCommandHandlerID>
Παραδείγματα άλλων ενεργειών, διαθέσιμων στο σύστημα, που χρησιμοποιούν διάφορες προϊοντικές όψεις:
| Ονομα Handler | Ενέργειες σε όψη |
|---|---|
| Entersoft.ERP.Financials.UI.AllDocumentScrollersCommandHandler, ESFIDocumentsFO |
|
| Entersoft.ERP.Financials.UI.Documents.CmdHandlers.ESFIDocumentSalesRetailCommandHandler, ESFIDocumentsCmdHandlers |
|
| Entersoft.ERP.Financials.UI.Documents.CmdHandlers.ESFIDocumentAdjustment_ProductionOrdersCommandHandler, ESFIDocumentsCmdHandlers |
|
| Entersoft.ERP.Financials.UI. ReapplyPaymentMethodForTradeDocumentsCommandHandler, ESFIDocumentsFO |
|
| Entersoft.ERP.MaterialsMgmt.UI.MUStockItemComHandler, ESMMStockItemFO |
|
Δημιουργία Στήλης Αύξουσας Αρίθμησης
Χρησιμοποιείται σε περιπτώσεις που θέλουμε να έχουμε στήλη αύξουσας αρίθμησης σε κάθε γραμμή μιας όψης, βάσει συγκεκριμένης ταξινόμησης. Η δομή της εντολής είναι:
ROW_NUMBER() OVER (PARTITION BY πεδίο1 ORDER BY πεδίο2)
Στο partition by clause, συμπληρώνουμε τα πεδία βάσει των οποίων θα γίνει «κατάτμηση» των δεδομένων, ώστε να ξεκινήσει από την αρχή η αρίθμηση για κάθε «τμήμα». Στο order by clause που είναι υποχρεωτικό, συμπληρώνουμε τα πεδία βάσει των οποίων θα ταξινομηθούν τα δεδομένα. Αυτό σημαίνει ότι για κάθε τιμή του πεδίο2 θα αυξάνεται η αρίθμηση ενώ, για κάθε τιμή του πεδίο1 θα επανεκκινά η αρίθμηση από το 1.
Παράδειγμα με Α/Α για κάθε γραμμή είδους
Σύνθετες Οψεις
Οι σύνθετες όψεις έχουν μια ειδική λειτουργικότητα που επιτρέπει την παρουσίαση και πλήρη διαχείριση των πεδίων οντοτήτων στην ίδια οθόνη με την όψη που παρουσιάζει τις οντότητες – σε λίστα. Η οθόνη στην ουσία χωρίζεται σε 2 περιοχές:
- Την περιοχή του πλέγματος
- Την περιοχή εμφάνισης της φόρμας με δυνατότητες πλήρους διαχείρισης.
Καθώς μετακινείται κανείς στο πλέγμα, η φόρμα ανανεώνεται, παρουσιάζοντας τα στοιχεία της εκάστοτε τρέχουσας οντότητας (της γραμμής).
Για να αποκτήσει μια όψη αυτή τη λειτουργικότητα, θα πρέπει:
Ο εσωτερικός κωδικός (GID) της οντότητας να γίνει παράμετρος στην όψη- Στις παραμέτρους όψης, η παράμετρος αυτή να μπει 1η, να οριστεί σε αυτήν ΤΥΠΟΣ=GUID, ΟΡΑΤΗ=ποτέ, και να δηλωθεί στις ΙΔΙΟΤΗΤΕΣ -> «Πεδίο συσχετισμού φίλτρου - φόρμας».
- Στην κλήση της όψης πρέπει να οριστεί μεταξύ του 1ου και του 2ου pipe το εξής:
Entersoft.Framework.Windows.Controls.ESScrollerBrowser,ESControls.
Για να επιδράσετε απλά στον τρόπο κλήσης, μεταφέρετε σε μια συντόμευση την όψη και δείτε στις ιδιότητες της συντόμευσης το string «Εντολή». Για παράδειγμα, στην όψη «Διαχείριση προσώπων» που καλείται από τη γραμμή εργαλείων CRM, από το «Χώρο Εργασίας», η εντολή είναι η ακόλουθη:
sInvoke|Entersoft.Framework.Windows.Controls.ESScrollerBrowser,ESControls|SHOW|Διαχείριση προσώπων|ESGOPerson|CRM_PersonList|||0
Εργαλείο Κατασκευής Κύβων
Σε αντιστοιχία με το εργαλείο κατασκευής όψεων, το εργαλείο κατασκευής κύβων (για το χειρισμό και τη λειτουργικότητα των οποίων, πληροφορίες θα βρείτε στο Eισαγωγικό εγχειρίδιο) καλείται με 2 τρόπους:
Από το μενού Εργαλεία Εργασίες Προσθετικής Ανάπτυξης:- Μέσω οποιουδήποτε υπαρκτού κύβου με επιλογή του εικονιδίου «σχεδίασης» από την οριζόντια γραμμή εργαλείων του:
![]()
![]()
Το εργαλείο κατασκευής κύβων θυμίζει αρκετά το εργαλείο κατασκευής όψεων. Συγκεκριμένα, η οριζόντια γραμμή εργαλείων, καθώς και οι υποσελίδες Φίλτρο, Περιγραφή, Παράμετροι, Ομάδες χρηστών, λειτουργούν ακριβώς με τον ίδιο τρόπο.
Στο παρόν κεφάλαιο θα εξηγηθεί η ειδική λειτουργικότητα των σελίδων «Γραμμογράφηση» και «Λοιπά στοιχεία».
Γραμμογράφηση
Στο σημείο αυτό, ο σχεδιαστής του κύβου καθορίζει την τοπολογία των επιλεγμένων πεδίων στις διάφορες περιοχές του κύβου. Χρησιμοποιώντας τον κύβο Πωλήσεις κατά υποκατάστημα για χρονικό διάστημα ως παράδειγμα και επιλέγοντας Γραμμογράφηση, εμφανίζεται η παρακάτω παραμετροποίηση του κύβου…
Η γραμμογράφηση διαχωρίζεται σε 5 βασικές περιοχές:
|
Είναι η περιοχή των διαθέσιμων πεδίων-δεδομένων (μετρητών) που θα εμφανίζονται στο πλέγμα Κατά τη δοκιμή του κύβου, μπορεί κανείς να διαλέξει κάποια μόνο πεδία δεδομένων ως άμεσα ορατά, μεταφέροντας τα υπόλοιπα στα διαθέσιμα (στην περιοχή «Δεδομένα»). | |
|---|---|
|
Είναι η περιοχή των πεδίων-διαστάσεων στηλών που ορίζονται στην προτεινόμενη εμφάνιση. | |
|
Είναι η περιοχή των πεδίων-διαστάσεων γραμμών που ορίζονται στην προτεινόμενη εμφάνιση. | |
|
Είναι η περιοχή των πεδίων-διαστάσεων που είναι διαθέσιμα για μεταφορά από τον χρήστη του κύβου είτε στις διαστάσεις γραμμών είτε στις διαστάσεις στηλών. Αυτά τα πεδία δηλαδή, ΔΕΝ περιλαμβάνονται ως διαστάσεις άμεσα στην προτεινόμενη εμφάνιση. | |
| Είναι η περιοχή ΟΛΩΝ των πεδίων (μετρητών ή διαστάσεων) που ορίστηκαν ως ορατά στο φίλτρο, αλλά δεν περιλαμβάνονται στα διαθέσιμα προς εμφάνιση (σε κάποια από τις περιοχές 1,2,3,4). Από αυτή την περιοχή μεταφέρουμε με drag & drop οποιοδήποτε πεδίο θέλουμε να γίνει ορατό ή διαθέσιμο στις υπόλοιπες περιοχές της γραμμογράφησης. |
Στις περιοχές των Ορατών και Διαθεσίμων πεδίων-διαστάσεων Γραμμών και Στηλών, ο κατασκευαστής του κύβου μπορεί, με αριστερό κλικ πάνω στο πεδίο, να καθορίσει τα εξής στοιχεία:
Στην περιοχή των διαθέσιμων πεδίων-δεδομένων του πλέγματος (μετρητές), ο κατασκευαστής του κύβου μπορεί, με αριστερό κλικ πάνω στο πεδίο, να καθορίσει τα εξής στοιχεία:
Επί πλέον, με δεξί κλικ σε οποιοδήποτε κενό σημείο της περιοχής των πεδίων-δεδομένων (μετρητών), μπορούμε να επιλέξουμε την κατασκευή μιας έκφρασης.
Η επιλογή αυτή αυτόματα κατασκευάζει ένα νέο πεδίο, του οποίου καθορίζουμε το περιεχόμενο, με αριστερό κλικ πάνω στο πεδίο. Η έκφραση μπορεί να είναι απλή ή σύνθετη μαθηματική πράξη. Στη σύνταξη της έκφρασης μπορεί να συμμετάσχει οποιοδήποτε πεδίο, αρκεί να χρησιμοποιήσουμε το «Όνομα στο φίλτρο» του εκάστοτε πεδίου. Το Όνομα στο φίλτρο του εκάστοτε πεδίου είναι διαθέσιμο στο πεδίο Κωδικός κατά την επιλογή του με αριστερό κλικ.
Για να δημιουργήσουμε το πεδίο-έκφραση «ΜΕΣΗ ΤΙΜΗ ΠΩΛΗΣΗΣ» στον κύβο «Πωλήσεις κατά υποκατάστημα για χρονικό διάστημα» θα γράψουμε την έκφραση:
if(ESFIItemPeriodics_InvoicedSalesQty ==0,0, Sales_Value / ESFIItemPeriodics_InvoicedSalesQty)
Λοιπά Στοιχεία
Στην υποσελίδα αυτή του διαλόγου ορισμού του κύβου καθορίζουμε διάφορα χαρακτηριστικά εμφάνισης και δικαιωμάτων διαμόρφωσης που θέλουμε να δώσουμε στους χρήστες.
Eπίσης, μπορεί κανείς να καθορίσει τι είδους επέμβαση στην εμφάνιση θα επιτραπεί στο χρήστη του κύβου, μέσω των εξής ρυθμίσεων («επιτρέπεται»):
| Το φιλτράρισμα των διαστάσεων |
Καθορίζει εάν επιτρέπεται η επιβολή φίλτρων στις τιμές των πεδίων- διαστάσεων. |
|---|---|
| Η μετακίνηση διαστάσεων στον εξωτερικό άξονα | Αν απενεργοποιηθεί, αποκρύπτεται εντελώς η περιοχή των διαθέσιμων πεδίων-διαστάσεων, καθιστώντας έτσι αδύνατο στο χρήστη να μεταφέρει πεδία από και προς την περιοχή των διαθέσιμων διαστάσεων. |
| Η εμφάνιση/απόκρυψη δεδομένων | Καθορίζει εάν ο χρήστης μπορεί να εμφανίζει ή να αποκρύπτει αριθμητικά πεδία-μετρητές από και προς την περιοχή των «δεδομένων». |
| Το pivoting | Καθορίζει εάν ο χρήστης θα έχει τη δυνατότητα μετακίνησης των διαστάσεων (τη μεταξύ τους σειρά, την τοποθέτηση από/σε γραμμή/στήλη), καθώς και από/προς την περιοχή των διαθέσιμων διαστάσεων. |
| Το άνοιγμα/κλείσιμο διαστάσεων | Καθορίζει εάν ο χρήστης μπορεί να αναπτύσσει ή να συμπτύσσει τις γραμμές και στήλες του κύβου. |
ΒΙΤ και Ενσωμάτωση Νέων Εκτυπώσεων
Με ΒΙΤ υλοποιούνται ειδικές οικονομικές καταστάσεις που χειρίζονται με ειδικό τρόπο τα «εκ μεταφοράς», τα «προοδευτικά υπόλοιπα» κ.λπ. για τις ανάγκες των επίσημων κυρίως εκτυπώσεων.
Αποθήκευση
Η αποθήκευση γίνεται στο φάκελο ESBIT. Όπως ακριβώς στις όψεις και στους κύβους, ισχύει η λογική shadowing για την πιθανή κατασκευή νέων ΒΙΤ ή μεταβολή προϊοντικών, σε επίπεδο εγκατάστασης.
Οσο βρισκόμαστε σε μια γραμμή δεδομένων ενός ΒΙΤ, με το συνδυασμό πλήκτρων Ctrl+Shift+F8, εμφανίζεται ένας διάλογος, μέσω του οποίου μπορούμε να εντοπίσουμε το φάκελο εγκατάστασης.
Εκτύπωση
Υπάρχουν 2 επιλογές για την εκτύπωση ενός ΒΙΤ, η προεπισκόπηση (χωρίς δυνατότητα επέμβασης) και η εκτύπωση μέσω Crystal Report. Τα Crystal Reports που συνοδεύουν τα ΒΙΤ αποθηκεύονται στον φάκελο Reports του εκάστοτε ESBIT, CSBIT φακέλου. Για την προσθήκη ενός νέου crystal report σε κάποιο ΒΙΤ, θα ακολουθήσουμε τα εξής βήματα :
- Αντιγραφή του xml αρχείου του BIT σε αντίστοιχο φάκελο CSBIT.
- Κατασκευή του crystal report ως εξής: Αποστολή σε dataset, δημιουργία blank report στα Crystal και σύνδεση με το xml του προηγούμενου βήματος, από Database Database expert Create New Connection ADO.NET (xml)
- Αντιγραφή του αρχείου crystal report στο φάκελο ..\CSBIT\Reports.
- Ανοιγμα του xml αρχείου και προσθήκη ενός tag <MoreRpts>, ακριβώς πριν από το tag RPTParams, βάσει του κάτωθι παραδείγματος :
Μέθοδοι Eξαγωγής Στοιχείων
Χρησιμοποιώντας εκτυπωτικά τύπου όψεων ή ΒΙΤ, έχουμε τη δυνατότητα να εξάγουμε τα δεδομένα τους σε διάφορες μορφές. Ο διάλογος μέσω του οποίου μπορούμε γίνεται αυτό, μετά από κατάλληλες ρυθμίσεις, εμφανίζεται από την επιλογή Αποστολή της γραμμής εργαλείων:
Ο διάλογος που εμφανίζεται, επιλέγοντας «Αποστολή» (και αφού βέβαια έχει εκτελεστεί η όψη ή το ΒΙΤ ώστε να φέρει τα αποτελέσματα) έχει την εξής μορφή:
Οι επιλογές μορφής στο πεδίο «Εξαγωγή σε…» είναι οι εξής :
- Excel – Spreadsheet
- Fixed Length
- ASCII
- Mail Merge
- Clipboard
- XML
- HTML
- Παράθυρο
- Dataset
- Εκτυπωτής
Στο κάτω μέρος του διαλόγου, είναι διαθέσιμες οι εξής επιλογές:
Στο πεδίο «επιλογή αρχείου» που χρησιμοποιείται για αποθήκευση των αποτελεσμάτων, υπάρχει η δυνατότητα να δοθεί όνομα «δυναμικό», τέτοιο δηλαδή ώστε, να παράγεται αυτόματα με βάση κάποιες παραμέτρους, όπως περιγράφονται παρακάτω.
| Τμήμα ονόματος αρχείου | Αποτέλεσμα |
|---|---|
| $[folder] | θα δημιουργήσει αν δεν υπάρχει το «folder» στο φάκελο της εφαρμογής και θα κάνει export εκεί τα στοιχεία |
| $$[pattern] | θα κάνει export στο φάκελο της εφαρμογής τα αρχεία (στο root) δίνοντας τους το όνομα που ορίζει το pattern |
| $[folder]$[pattern] | Θα κάνει export στο folder με το όνομα που ορίζει το pattern |
Το pattern μπορεί να είναι ένα ή περισσότερα από τα παρακάτω:
| {yyyy} | έτος |
|---|---|
| {mm} | μήνας |
| {dd} | ημέρα |
| {hh} | ώρα |
| {MM} | λεπτά |
| {ss} | δευτερόλεπτα |
| {COMPANY} | εταιρεία |
| {BRANCH} | υποκατάστημα |
| {USER} | χρήστης |
| {TABLE} | κύριος πίνακας της όψης |
| {οποιαδήποτε ΠΑΡΑΜΕΤΡΟΣ της όψης με το όνομά της} |
- Η δυνατότητα παραμετρικού ονόματος αρχείου ΔΕΝ ισχύει για εξαγωγή σε Excel.
Excel – Spreadsheet
H επιλογή αυτή, η οποία είναι και προεπιλεγμένη με την κλήση του διαλόγου, δίνει δυνατότητα να εξάγουμε δεδομένα είτε σε μορφή Microsoft Office Excel είτε σε OpenOffice – StarOffice Excel. Στον διάλογο Εξαγωγής δεδομένων υπάρχουν ποικίλοι παράμετροι που καθορίζουν τον τρόπο εξαγωγής δεδομένων καθώς και την διαμόρφωση του περιεχομένου τους.
Στη ρύθμιση Προορισμός Εξαγωγής μπορούμε να δηλώσουμε ότι θέλουμε να δημιουργηθεί αρχείο OpenOffice – StarOffice (η προκαθορισμένη συμπεριφορά είναι η δημιουργία αρχείου Microsoft Office Excel).
Η προεπιλογή τύπου εξαγωγής Excel καθορίζεται από τη γενική παράμετρο Εφαρμογή για την εξαγωγή αρχείων spreadsheet και κειμένου της κατηγορίας Γενικά – Λειτουργικά.
Η επιλογή Διαχωριστικού είναι την προκαθορισμένη τιμή Tab, ώστε το spreadsheet που θα δημιουργηθεί να περιέχει ΜΙΑ στήλη της όψης ΑΝΑ ΚΕΛΙ. Μεταβάλλοντας την τιμή σε μια από τις διαθέσιμες, το αποτέλεσμα θα είναι να συνενωθούν όλες οι στήλες της όψης σε ΕΝΑ κελί, διαχωρίζοντας την μεταξύ τους πληροφορία με τον διαχωριστικό χαρακτήρα που επιλέξαμε.
Στο τμήμα των Ιδιοτήτων υπάρχουν οι κάτωθι επιλογές :
| Με ονόματα στηλών | Μεταφέρει στο excel τα ονόματα των στηλών της όψης ή του ΒΙΤ. Προτείνεται ενεργοποιημένη. |
|---|---|
| Επιλεγμένες γραμμές μόνο | Ενεργοποιώντας την επιλογή αυτή, μεταφέρουμε στο excel τις γραμμές που έχουμε επιλέξει και μόνο. Προτείνεται ΑΠενεργοποιημένη, με αποτέλεσμα να μεταφέρεται στο excel το σύνολο των γραμμών της όψης ή του ΒΙΤ. |
| Γραμμή συνόλων | Εάν υπάρχει γραμμή συνόλων, αυτή μεταφέρεται στο excel. |
| Κωδικοποίηση κελιών | Η επιλογή ενεργοποιεί τη δυνατότητα κωδικοποίησης κάθε κελιού στο excel με ένα Label ανάλογα με τον αριθμό στηλών που θα συμπληρώσουμε ακριβώς από κάτω. Αυτό το Label θα αποτελείται από το (όνομα του range default=EBS)_(την τιμή του συγκεκριμένου κελιού)_(το όνομα των στηλών διαχωρισμένα με _). |
| Γραμμές ομαδοποίησης | Εάν υπάρχουν ενεργοποιημένες γραμμές ομαδοποίησης στην όψη ή στο ΒΙΤ, αυτές μεταφέρονται στο excel. |
H προδιαγραφή του διαλόγου για την εξαγωγή δεδομένων σε excel – spreadsheet είναι να δημιουργείται ένα φύλλο, το οποίο όμως δεν αποθηκεύεται την παρούσα στιγμή. Απλά εκτελείται το εκάστοτε spreadsheet λογισμικό και εισάγονται τα δεδομένα σε αυτό. Είναι στην επιλογή του χρήστη να αποθηκεύσει εν συνεχεία το αρχείο αυτό.
Στην Επιλογή αρχείου, μπορούμε να πληκτρολογήσουμε ή να επιλέξουμε τη διαδρομή ενός συγκεκριμένου αρχείου, στο οποίο θα εισαχθούν τα δεδομένα.
Στο τμήμα Αποστολή του διαλόγου, καθορίζουμε τον τρόπο με τον οποίο θα διαχειριστούμε το αποτέλεσμα της εξαγωγής. Οι διαθέσιμες επιλογές είναι:
| Αρχείο | Είναι και η προκαθορισμένη τιμή του διαλόγου. |
|---|---|
| Δημιουργείται αρχείο excel το οποίο και επισυνάπτεται ως συνημμένο στο email που θα αποσταλεί. Η διεύθυνση email του παραλήπτη συμπληρώνεται στο πεδίο Προορισμός. | |
| Fax | Δημιουργείται αρχείο excel το οποίο χρησιμοποιείται ως πηγή για το fax που θα αποσταλεί. O αριθμός fax του παραλήπτη συμπληρώνεται στο πεδίο Προορισμός. |
- Η εφαρμογή υποστηρίζει εκδόσεις Microsoft Office Excel 2003 και νεότερες.
Για παράδειγμα, θα μπορούσαμε να αποστείλουμε σε excel τη λίστα των ειδών αποθήκης προς έλεγχο καταμέτρησης, για τη διαδικασία της ετήσιας απογραφής. Στην όψη των Ειδών Αποθήκης, εκτελούμε αποστολή δεδομένων προς Excel, λαμβάνοντας το κάτωθι αποτέλεσμα.
Fixed Length
Τα αρχεία fixed length συχνά χρησιμοποιούνται ως πηγή δεδομένων από εφαρμογές τρίτων, δίνοντας δυνατότητα να κατασκευάζουμε “γέφυρες” επικοινωνίας με αυτές. Ένα από τα πιο συχνά σενάρια που συναντούμε, είναι η διασύνδεση της εφαρμογής με φορητές συσκευές τύπου PSION, Motorolla, Handheld, Intermec κ.λπ., που τυπικά χρησιμοποιούνται για φορητή τιμολόγηση, παραγγελιοληψία, απογραφή.
Στο τμήμα του διαλόγου Σχήμα-Γραμμογράφηση πρέπει να ορίσουμε το σχήμα του αρχείου που θα δημιουργηθεί.
Το σχήμα αποθηκεύεται σε μορφή xml όπως θα δούμε παρακάτω και μπορούμε, αν ήδη έχουμε ορίσει σχήμα, να το δηλώσουμε στο σημείο αυτό, χρησιμοποιώντας το εικονίδιο
για αναζήτηση.
Για να ορίσουμε νέο σχήμα, επιλέγουμε
, οπότε ανοίγει νέο παράθυρο με ένα πλέγμα, όπου εμφανίζονται όλες οι ορατές στήλες της όψης ή του ΒΙΤ με την ονοματολογία που αυτές έχουν στο φίλτρο.
Για κάθε πεδίο από αυτά (που αποτελεί γραμμή του πλέγματος) θα πρέπει να επιβεβαιωθούν ή να μεταβληθούν κάποιες ιδιότητες.
Αν θέλουμε να αφαιρέσουμε κάποιο πεδίο από το σχήμα, απλά επιλέγουμε τη σχετική γραμμή και πατάμε το πλήκτρο delete, οπότε και εμφανίζεται ερώτηση επιβεβαίωσης για τη διαγραφή.
Το πλέγμα περιέχει 3 ομάδες στηλών:
- Πεδίο
- Εύρος
- Ιδιότητες
- Πεδίο
| Α/Α | Η αυτόματη αρίθμηση που λαμβάνει το πεδίο ανάλογα με τη θέση του στη γραμμογράφηση της όψης ή του ΒΙΤ. Δεν είναι διαθέσιμη προς μεταβολή. |
|---|---|
| Πεδίο | Το όνομα του πεδίου στο φίλτρο. Είναι διαθέσιμο προς μεταβολή. |
| Τύπος | Είναι ο τύπος του πεδίου. Διακρίνουμε 4 επιλογές : TEXT, DATE, INT, BIT, NUM. |
| Ρυθμίσεις χώρας | Επηρεάζει τον τύπο του πεδίου που θα εξαχθεί, με βάση τη Χώρα. Για παράδειγμα, αν θέλουμε τα δεκαδικά ενός πεδίου τύπου NUM να διαχωρίζονται με τελεία ( . ) και όχι κόμμα ( , ), που είναι και η προκαθορισμένη τιμή, θα πρέπει να επιλέξουμε ρύθμιση English (United States). |
- Εύρος
| Αρχή | Το σημείο από το οποίο θα ξεκινήσει να τυπώνεται το περιεχόμενο του πεδίου. |
|---|---|
| Μήκος | Το μήκος που θα καταλάβει το περιεχόμενο του πεδίου. |
| Μορφοποίηση | Η μορφοποίηση που θα λάβει το περιεχόμενο του πεδίου. Η μορφοποίηση σχετίζεται άμεσα με τη ρύθμιση χώρας του πεδίου. |
| Αν είναι κενό | Η τιμή που θα λάβει το πεδίο, εάν το περιεχόμενο του είναι κενό. |
- Ιδιότητες
| Ευθυγράμμιση | Καθορίζει τη στοίχιση του πεδίου προς τα δεξιά ή όχι. Προτείνεται ΝΑΙ στα αριθμητικά πεδία. |
|---|---|
| Συμπλήρωση αριστερά | Ο/οι χαρακτήρες που θα συμπληρωθούν αριστερά του πεδίου όταν το περιεχόμενο αυτού δεν καλύπτει το καθορισμένο μήκος. Π.χ. τα “leading zeros” όταν ένας αριθμός θέλουμε να τυπωθεί ως κωδικός συγκεκριμένου μήκους. |
| Αν είναι λάθος | Καθορίζει το αν θα τυπωθεί ή όχι το περιεχόμενο του πεδίου εάν αυτό δεν πληρεί την συνθήκη που ορίζεται στη ρύθμιση «Λάθος αν είναι μεγαλύτερο». |
| Λάθος αν είναι μεγαλύτερο | Σε περίπτωση που η τιμή του πεδίου είναι μεγαλύτερη από την τιμή που ορίζουμε εδώ, (δηλαδή «λάθος»), η εκτύπωσή του εξαρτάται από την προηγούμενη ρύθμιση «Αν είναι λάθος». |
Αφού ολοκληρώσουμε την κατασκευή του σχήματος, επιλέγουμε από το οριζόντιο μενού του διαλόγου «Αρχεία» και στη συνέχεια «Αποθήκευση» (ή «Αποθήκευση ως…») και αποθηκεύουμε το σχήμα σε αρχείο τύπου XML, ορίζοντας το φάκελο και το όνομα του αρχείου, στο διάλογο που ανοίγει.
Το οριζόντιο μενού παρέχει κάποιες πρόσθετες δυνατότητες από την επιλογή «Λειτουργίες»:
Tελειώνοντας με τη δήλωση του σχήματος, στο διάλογο της εξαγωγής, στο τμήμα Ιδιότητες, υπάρχουν μερικές πρόσθετες ρυθμίσεις:
Στην εξαγωγή δεδομένων σε fixed length αρχεία είναι υποχρεωτική η συμπλήρωση του πεδίου Επιλογή αρχείου με το φάκελο και το όνομα του προς δημιουργία αρχείου.
Για παράδειγμα, θα μπορούσαμε να εξάγουμε τη λίστα των ειδών αποθήκης σε ένα fixed length αρχείο, το οποίο θα χρησιμοποιηθεί από ένα φορητό τερματικό τιμολόγησης. Στην όψη των Ειδών Αποθήκης, επιλέγοντας Αποδοχή για να φέρει αποτελέσματα η όψη και Αποστολή, δηλώνοντας ως τύπο εξαγωγής Fixed Length, το αρχείο xml της γραμμογράφησης και το φάκελο και όνομα αποθήκευσης του αρχείου, με Εκτέλεση το αποτέλεσμα που θα λάβουμε θα είναι το κάτωθι:
ASCII
H επιλογή μορφής αρχείου τύπου ASCII είναι αντίστοιχης λειτουργικότητας με την επιλογή αρχείου fixed length.
H διαφορά μεταξύ των 2 επιλογών είναι ότι, στη μορφή εξαγωγής αρχείων ASCII, δεν υπάρχει η λογική κατασκευής σχήματος. Οι τιμές των διαδοχικών πεδίων διαχωρίζονται με το χαρακτήρα που ορίζουμε στην επιλογή Διαχωριστικό.
Εν αντιστοιχία με το παράδειγμα της εξαγωγής δεδομένων σε fixed length μορφή για χρήση από φορητό τερματικό, παρόμοια λογική ακολουθούμε και στην περίπτωση μορφής ascii.
Στην όψη των Ειδών Αποθήκης, επιλέγοντας Αποδοχή για να φέρει αποτελέσματα η όψη και Αποστολή, δηλώνοντας ως τύπο εξαγωγής ASCII, το διαχωριστικό π.χ. # και το φάκελο και όνομα αποθήκευσης του αρχείου, με Εκτέλεση το αποτέλεσμα που θα λάβουμε θα είναι το κάτωθι:
Mail Merge
H επιλογή αυτή δίνει τη δυνατότητα να οργανώσουμε μαζικές αποστολές eMails, εκτυπώσεων, ετικετών – φακέλων, χρησιμοποιώντας τις όψεις της εφαρμογής.
Για παράδειγμα, χρησιμοποιώντας την προϊοντική όψη Διευθυνσιογράφος (στην περιοχή όψεων Πελάτες), μπορούμε να κατασκευάσουμε ετικέτες πελατών, χρησιμοποιώντας ένα από τα πρότυπα αρχεία mail merge της εφαρμογής ή κάποιο άλλο πρότυπο που μπορούμε να κατασκευάσουμε, με αυτά ως υπόδειγμα.
- Αρχικά, θα εκτελέσουμε την όψη και θα επιλέξουμε τους συναλλασσόμενους για τους οποίους θέλουμε να δημιουργηθούν ετικέτες
- Εν συνεχεία θα επιλέξουμε από το οριζόντιο μενού Αποστολή.
- Επιλέγοντας την τιμή Mail Merge στο πεδίο του διαλόγου Εξαγωγή σε…, ενεργοποιείται στο διάλογο εξαγωγής μια νέα υποσελίδα με τίτλο Mail Merge στην οποία θα επιλέξουμε την τιμή Ετικέτες.
Στο τμήμα Ιδιότητες του διαλόγου εξαγωγής, μπορούμε να ενεργοποιήσουμε την επιλογή Επιλεγμένες γραμμές μόνο, για να δημιουργηθούν ετικέτες μόνο για τους συναλλασσομένους που έχουμε επιλέξει στην όψη.
Στο πεδίο Επιλογή αρχείου θα επιλέξουμε το έτοιμο αρχείο mail merge από το φάκελο ESMailMergeTemplates, Ετικέτες Αλληλογραφίας.doc.
Τέλος, με το πλήκτρο Εκτέλεση, αυτόματα θα ανοίξει το Microsoft Office Excel με τη λίστα συν/νων με τα στοιχεία τους και, βάσει του προτύπου ετικετών που διαλέξαμε (Ετικέτες Αλληλογραφίας.doc), θα ανοίξει στο Microsoft Office Word κείμενο με έτοιμες τις ετικέτες προς εκτύπωση.
Αντίστοιχη διαδικασία μπορούμε να ακολουθήσουμε για εκτύπωση ετικετών ειδών αποθήκης.
Ένα άλλο παράδειγμα εφαρμογής της λειτουργικότητας του mail merging υπάρχει έτοιμο στην όψη Ενηλικίωση υπολοίπων (Διαχείριση/Εισπρακτέοι λογαριασμοί/Έλεγχος υπολοίπων).
Στις ενέργειες της όψης υπάρχουν επιλογές για δημιουργία επιστολών ανάλυσης υπολοίπου προς τους πελάτες για ΣΥΜΦΩΝΙΑ ΥΠΟΛΟΙΠΟΥ (σε βασικό και ξένο νόμισμα), καθώς και δημιουργίας αντίστοιχων ετικετών αλληλογραφίας.
Με την 1η επιλογή για παράδειγμα, εμφανίζεται ο διάλογος επιλογής προτύπου mail merge word file, όπου προεπιλεγμένο αρχείο είναι το Reconciliation Letter Template.doc. Με τη 2η επιλογή προτείνεται το αντίστοιχο πρότυπο στα αγγλικά Reconciliation Letter Template FC.doc και με την 3η επιλογή το πρότυπο ετικετών EnvelopLabels Template.doc. Επιλέγοντας Open, εκτελείται η διαδικασία mail merging και το τελικό αποτέλεσμα είναι της παρακάτω μορφής:
ΠΡΟΣΟΧΗ :
Η διαδικασία δημιουργίας επιστολών συμφωνίας υπολοίπου εκτελείται πάντα βάσει των επιλεγμένων εγγραφών της όψης.
Clipboard
H επιλογή αυτή δίνει τη δυνατότητα να μεταφέρουμε στο “Πρόχειρο” τα δεδομένα που έχει επιστρέψει η όψη, προς οιαδήποτε χρήση.
Ενεργές ιδιότητες για την επιλογή Clipboard είναι οι :
- Με ονόματα στηλών
- Επιλεγμένες γραμμές μόνο
- Γραμμή συνόλων
Για παράδειγμα, θα μπορούσαμε να αντιγράψουμε μαζικά κάποια είδη αποθήκης από μια όψη στις γραμμές ενός Δελτίου Αποστολής.
Για να το πετύχουμε αυτό, θα πρέπει να ΑΦΑΙΡΕΣΟΥΜΕ από τη γραμμογράφηση της όψης προσωρινά τις κατάλληλες στήλες, αφήνοντας όσες υπάρχουν και στο πλέγμα του παραστατικού π.χ. Κωδικός, Περιγραφή, ΜΜ. Στη συνέχεια, με Αποστολή, επιλέγουμε μορφή εξαγωγής Clipboard, απενεργοποιούμε τις επιλογές «Με ονόματα στηλών» και «Γραμμή συνόλων», ενώ ενεργοποιούμε την επιλογή «Επιλεγμένες γραμμές μόνο».
Εν συνεχεία, μέσα στο παραστατικό, από το οριζόντιο μενού Ενέργειες επιλέγουμε Εισαγωγή Γραμμών από το Πρόχειρο (Clipboard).
Το αποτέλεσμα θα είναι η μεταφορά των επιλεγμένων ειδών στις γραμμές του παραστατικού.
XML
H επιλογή αυτή δίνει τη δυνατότητα να εξάγουμε τα δεδομένα που έχει η όψη σε μορφή XML. Είναι ιδιαίτερα χρήσιμη σε περιπτώσεις μαζικής ανταλλαγής εγγραφών μεταξύ Βάσεων Δεδομένων ή Εταιρειών. Για παράδειγμα χρησιμοποιείται συχνά σε σενάρια Online – Offline για τη μεταφορά κωδικών ειδών μεταξύ απομακρυσμένων υποκαταστημάτων.
Στο τμήμα Ιδιότητες ενεργοποιούνται οι πρόσθετες ρυθμίσεις:
| Εξαγωγή σχετικών αρχείων για Franchisee |
Αν ενεργοποιηθεί, κατά την εξαγωγή των xml αρχείων με τα είδη, θα εξαχθούν και δεδομένα από όλους τους, σχετικούς με το είδος, πίνακες κωδικολογίων π.χ. Χρώματα, Μεγέθη, Οικογένεια, Κατηγορία, Τιμ/γιακή κατηγορία. Η δυνατότητα αυτή είναι ιδιαίτερα χρήσιμη, σε σενάρια τύπου Franchisee, όπου τα κεντρικά του ομίλου αποστέλλουν στα μη συνδεδεμένα με το σύστημα καταστήματα τα νέα είδη, νέες τιμές κ.λπ. και, συμπληρωματικά και τα νέα π.χ. μεγεθολόγια με ΜΙΑ ενιαία διαδικασία. |
|---|---|
| Σε ΖΙΡ μορφή | Ενεργοποιώντας αυτή την επιλογή, τα προς δημιουργία xml αρχεία θα συμπιεστούν σε ένα τελικό zip αρχείο προς εξοικονόμηση χώρου και ευκολία διαχείρισης. |
Στην εξαγωγή δεδομένων σε XML αρχεία είναι υποχρεωτική η συμπλήρωση του πεδίου Επιλογή αρχείου με το φάκελο και το όνομα του προς δημιουργία αρχείου.
![]()
Για παράδειγμα, θα μπορούσαμε να αποστείλουμε τα νέο-εισαχθέντα είδη σε ένα κατάστημα του ομίλου σε ZIP. Σε όψη Ειδών Αποθήκης, επιλέγοντας Αποδοχή για να φέρει αποτελέσματα η όψη και Αποστολή, δηλώνοντας ως τύπο εξαγωγής XML, ενεργοποιώντας τα Επιλεγμένες εγγραφές, Σε ZIP μορφή και Εξαγωγή Σχετικών αρχείων για Franchisee και το φάκελο και όνομα αποθήκευσης του αρχείου, με Εκτέλεση το αποτέλεσμα που θα λάβουμε θα είναι ένα ΖΙΡ αρχείο με αρχεία XML με τα είδη αλλά και όλα τα σχετικά κωδικολόγια, έτοιμο για αποστολή στα καταστήματα:
HTML
H επιλογή αυτή δίνει δυνατότητα να εξάγουμε τα δεδομένα σε αρχείο τύπου HTML. Κατά την εκτέλεση της εξαγωγής, το αρχείο μπορεί να αποσταλεί με eMail στον “προορισμό” που θα επιλέξουμε, δίνοντας έτσι τη δυνατότητα άμεσης αποστολής δεδομένων σε οποιοδήποτε συναλλασσόμενο, και άμεσης χρήσης τους από αυτόν, μέσα από οποιονδήποτε Web Browser. Το αρχείο που δημιουργείται είναι μικρού μεγέθους λόγω τύπου, κάνοντας την αποστολή μέσω eMail ακόμα πιο εύκολη.
Στην εξαγωγή δεδομένων σε HTML αρχεία είναι υποχρεωτική η συμπλήρωση του πεδίου Επιλογή αρχείου με το φάκελο και το όνομα του προς δημιουργία αρχείου.
Για παράδειγμα, θα μπορούσαμε να αποστείλουμε σε κάποιον πελάτη την καρτέλα του σε μορφή HTML με mail. Αφού εκτελέσουμε το ΒΙΤ της Καρτέλας, επιλέγουμε Αποστολή, δηλώνοντας ως τύπο εξαγωγής HTML και στην «επιλογή αρχείου» το φάκελο και όνομα αποθήκευσης του αρχείου, επιλέγουμε ως «Μέσο» το eMail και στο πεδίο «Προορισμός» πληκτρολογούμε την ηλεκτρονική διεύθυνση του πελάτη (μέσα από τη φόρμα διαχείρισης του πελάτη, το eMail προτείνεται άμεσα στο πεδίο «Προορισμός»). Με Εκτέλεση το συνημμένο αρχείο που θα αποσταλεί στον πελάτη θα έχει την κάτωθι μορφή.:
Σενάρια Πολλαπλής Εξαγωγής Στοιχείων
Όλες οι επιλογές εξαγωγής που έχουν εξεταστεί, μπορούν να ενσωματωθούν μέσα σε «σενάρια Export». Η δυνατότητα αυτή συνίσταται στο να ομαδοποιούνται exports (από διάφορες όψεις κ.λπ. διαφόρων περιοχών του συστήματος) που συνήθως λαμβάνονται όλα μαζί, αποτελώντας ΕΝΑ λειτουργικό σύνολο π.χ. «Καταστάσεις ελέγχου τέλους μήνα» ή «Αρχεία εικόνας αποθηκών» ή «Ημερήσια στοιχεία υποκαταστημάτων» κ.ο.κ.
Για κάθε εξαγωγή στοιχείων που θα συμμετάσχει στο σύνολο αυτό, αφού συμπληρώσουμε όλες τις απαραίτητες παραμέτρους εξαγωγής, επιλέγουμε την υποσελίδα «σενάρια» του διαλόγου εξαγωγής δεδομένων.
Συμπληρώνουμε ένα «κωδικό» και κάποια σχόλια αν θέλουμε τόσο στα στοιχεία βήματος σεναρίου, όσο και στα στοιχεία σεναρίου. Σε κάθε εξαγωγή που αφορά προσθήκη σε ήδη υπαρκτό σενάριο, θα πρέπει ο κωδικός σεναρίου που θα πληκτρολογούμε κάθε φορά, σε κάθε εξαγωγή-βήμα, να είναι ΙΔΙΟΣ.
Πριν την εκτέλεση κάθε εξαγωγής, θα πρέπει να ζητήσουμε αποθήκευση με το πλήκτρο
. Το σενάριο αποθηκεύεται σε μορφή XML στο φάκελο ..\CSExcel\ της εφαρμογής (με όλες τις παραμέτρους εξαγωγής, καθώς και τα κριτήρια εκτέλεσης κάθε όψης/ΒΙΤ). Η εκάστοτε εξαγωγή ΔΕΝ χρειάζεται να εκτελεστεί για να δηλωθεί και να είναι χρησιμοποιήσιμο ένα σενάριο.
Αφού ολοκληρώσουμε την παραμετροποίηση, δηλαδή καθορισμό παραμέτρων εξαγωγής, σεναρίου και βημάτων & αποθήκευση σεναρίου για το σύνολο των δεδομένων (από την εκάστοτε εξαγωγή από όψη ή ΒΙΤ) που θα περιληφθούν, καλώντας το διάλογο «Διαχείριση σεναρίων export» (Εργαλεία/Εργασίες προσθετικής ανάπτυξης/ Σενάρια export) μπορούμε να διαχειριστούμε τα σενάρια, καθώς και να τα εκτελέσουμε:
Περισσότερες λεπτομέρειες για την κατασκευή σεναρίων export δίνονται στο επόμενο κεφάλαιο, περί δημιουργίας πολλαπλών φύλλων excel μέσω σεναρίων export.
Σενάρια Δημιουργίας Πολλαπλών Φύλλων Excel
Η δυνατότητα σεναρίων πολλαπλής εξαγωγής βρίσκει πολύ ενδιαφέρουσα εφαρμογή στο Εxcel, από τη στιγμή που μπορούμε να «γεμίσουμε» περισσότερα του ενός φύλλα στο ίδιο αρχείο Excel και με βάση αυτά και την ΚΩΔΙΚΟΠΟΙΗΣΗ των δεδομένων (κελιών) που μπορούμε να έχουμε, να δημιουργήσουμε αναφορές σύγκρισης σε πρόσθετα φύλλα του ίδιου αρχείου Excel (με εκφράσεις βασισμένες στα «πρωτογενή» δεδομένα των φύλλων που «γεμίζουν» από την εφαρμογή), δυναμικά υπολογιζόμενα, με κάθε εκτέλεση του σεναρίου.
Για να γίνει κατανοητό το παραπάνω, θα υλοποιήσουμε αναλυτικά το εξής παράδειγμα:
Λογιστική Συμφωνία Πελατών
(σύγκριση – διαφορές μεταξύ Ισοζυγίου Πελατών και Ισοζυγίου λ/σμών Λογιστικής της ομάδας 30*)
- Κατασκευή αρχείου excel (CustomersComparison.xlsx) στην περιοχή \CSExcel το οποίο περιέχει 3 worksheets :
- Comparison : Σε αυτό το φύλλο θα γίνει η σύγκριση των εξαχθέντων δεδομένων από τα άλλα 2 φύλλα.
- Ledger : Σε αυτό το φύλλο θα εξαχθούν τα δεδομένα του Ισοζυγίου λογιστικής.
- Cust : Σε αυτό το φύλλο θα εξαχθούν τα δεδομένα του Ισοζυγίου πελατών.
Eκτέλεση Ισοζυγίου Εισπρακτέων (κριτήρια=>τρέχουσα περίοδος, φύση πελάτες) και export στο συγκεκριμένο excel στο worksheet «Cust» (α. αποστολή, β. στο «εξαγωγή σε» ορίζουμε excel, γ. στις «Ιδιότητες» ορίζουμε προσθήκη σε υπάρχον excel και ενεργοποίηση της «κωδικοποίησης κελιών» με τιμή 1, δ. στο «επιλογή αρχείου» δηλώνουμε CustomersComparison και προσθέτουμε στο τέλος του path/filename “|Cust” που είναι το όνομα του range του excel που θέλουμε να γίνει το export, π.χ. D:\EBS\CSExcel\CustomersComparison.xlsx|Cust, ε. στο «Σενάρια» δίνουμε κωδικό & σχόλια βήματος, κωδικό & περιγραφή σεναρίου, πλήκτρο Σενάριο, δίνουμε το filename του xml, save και Τέλος).
Εκτέλεση Ισοζυγίου Λογιστικής Γενικού & Αναλυτικών καθολικών (κριτήρια=> Τρέχουσα περίοδος, Λογαριασμός 30*, Συγκεντρωτικός ΟΧΙ) και export στο ίδιο excel στο worksheet «Ledger» (ίδια διαδικασία, αλλά προσθέτουμε στο τέλος του ονόματος excel |Ledger, π.χ. D:\EBS\CSExcel\CustomersComparison.xlsx|Ledger και στο σενάριο επιλέγουμε το ΙΔΙΟ xml).
Εκτέλεση του σεναρίου είτε από συντόμευση είτε από τη «διαχείριση σεναρίων»
Στο φύλλο «Cust» παίρνουμε αποτέλεσμα στην κάτωθι μορφή:
Στο φύλλο «Ledger» παίρνουμε αποτέλεσμα στην κάτωθι μορφή:
Στο φύλλο «Comparison» υπολογίζονται οι διαφορές μεταξύ των 2 παραπάνω φύλλων, σε κελιά με εκφράσεις-πράξεις μεταξύ των πρωτογενών δεδομένων.
Η ενεργοποίηση της «Κωδικοποίησης Κελιών» σημαίνει πως κάθε κελί στο excel θα κωδικοποιηθεί με ένα Label ανάλογα με τον αριθμό στηλών που θα συμπληρώσουμε ακριβώς από κάτω. Αυτό το Label θα αποτελείται από το (όνομα του range default=EBS)_(την τιμή του συγκεκριμένου κελιού)_(το όνομα των στηλών διαχωρισμένες με _).
Στο παράδειγμα, για τους πελάτες που κάνουμε export στο range «cust» με κωδικοποίηση κελιών και τιμή 1, το Label για ένα κελί θα είναι π,χ. «Cust_ΠΕΛ00004_ESFITradeAccount_Code». Τώρα μπορούμε σε εκφράσεις/πράξεις να χρησιμοποιήσουμε αυτό το Label αντί για συγκεκριμένο κελί που σε επόμενο run μπορεί να μην υπάρχει ή να περιέχει άλλη τιμή. Επίσης και μία ολόκληρη στήλη παίρνει label (όνομα range)_(όνομα πεδίου), π.χ. στο παράδειγμα για τους πελάτες, η στήλη με το χρεωστικό υπόλοιπο έχει χαρακτηριστεί ως «Cust_DebitBalance» και έτσι, μπορούμε να τη χρησιμοποιήσουμε για να κάνουμε π.χ. στο worksheet σύγκρισης SUM(Cust_DebitBalance) (ανεξάρτητα από τα πόσα rows θα δημιουργεί κάθε run).
Για να κάνουμε export σε συγκεκριμένο range προηγουμένως πρέπει να έχουμε δηλώσει στο excel αυτό το range. Αυτό γίνεται ως εξής: Πάμε στο 1ο κελί του worksheet από όπου θέλουμε να ξεκινήσει αυτό το range και πατάμε δεξί click, επιλέγουμε «Name a Range» βάζουμε όνομα και επιλέγουμε το worksheet. Στο παράδειγμα, έχουμε μεταφερθεί στο φύλλο Cust στο 1ο κελί (Α1) και έχουμε βάλει range name = Cust και αντίστοιχα στο φύλλο Ledger στο κελί (Α1) και έχουμε βάλει range name = Ledger. Με αυτό τον τρόπο, θα αναγνωριστεί το σημείο όπου πρέπει να γίνει το export, σύμφωνα με τη δήλωση του ονόματος που θα περιέχει στο τέλος του το |(range name).
Εξαγωγή σε PDF
Υπάρχουν 2 τρόποι εξαγωγής δεδομένων σε μορφή PDF:
- Από προεπισκόπηση μιας όψης ή ενός ΒΙΤ
Αφού εμφανιστεί η οθόνη της προεπισκόπησης, από τη γραμμή εργαλείων, μπορούμε να επιλέξουμε την αποθήκευση σε PDF…
…oπότε και, θα μας ζητηθεί η περιοχή και το όνομα του αρχείου αποθήκευσης σε νέο διάλογο.
Από συνδεδεμένη εκτύπωση (crystal report) μιας όψης ή ενός ΒΙΤ
Aφού εμφανιστεί η οθόνη με τα στοιχεία της εκτύπωσης, από τη γραμμή εργαλείων, επιλέγουμε «εξαγωγή σε αρχείο» και στη συνέχεια, στο διάλογο που εμφανίζεται, δίνουμε περιοχή και όνομα αρχείου, και ορίζουμε τύπο «Adobe Acrobat (*.pdf)»
Προϋπόθεση για τη χρήση της δυνατότητας αυτής είναι η εκτέλεση της διαδικασίας «Εγκατάσταση PDF εκτυπωτή» από Eργαλεία/Διαχείριση συστήματος – Β.Δ.
Ενσωμάτωση Eκτυπώσεων Crystal Reports
Έχουμε δυνατότητα να κατασκευάσουμε εκτυπωτικά της επιθυμητής μορφής, για τα δεδομένα που υπολογίζει και εμφανίζει οποιαδήποτε όψη. Απαιτείται η ύπαρξη του λογισμικού σχεδίασης εκτυπώσεων Crystal Reports.
Για να γίνει κατανοητή η δυνατότητα, θα υλοποιήσουμε ως παράδειγμα μια απλή εκτύπωση ειδών αποθήκης, όπου θα αναγράφεται ο κωδικός, η περιγραφή, η τιμή λιανικής και η χώρα προέλευσης του κάθε είδους. Η όψη που θα χρησιμοποιήσουμε είναι η κύρια όψη Είδη Αποθήκης,
Το πρώτο βήμα στην κατασκευή του εκτυπωτικού, είναι η δημιουργία του σχετικού αρχείου, το οποίο θα αποτελέσει και την πηγή δεδομένων για το Crystal Report αρχείο.
Αφού εκτελέσουμε την όψη, με δεξί κλικ στην περιοχή πλέγματος, επιλέγουμε Ενέργειες ⇒ Αποθήκευση σχήματος.
Με την επιλογή αυτή, αναδύεται ένας διάλογος για την αποθήκευση αρχείου τύπου xsd (XML Schema File), το οποίο εμπεριέχει το σχήμα (δομή) της όψης.
Για την καλύτερη κατανόηση του περιεχομένου ενός xsd αρχείου, στην παρακάτω εικόνα παραθέτουμε μια σχηματική αναπαράσταση του αρχείου, μέσω του λογισμικού XML Spy.
Αντιλαμβανόμαστε ότι ένα xsd αρχείο περιέχει τη δομή των πεδίων της όψης, ξεκινώντας από το βασικό πίνακα ESFIItem, ο οποίος περιλαμβάνει όλα τα ορατά επιλεγμένα πεδία της όψης. Τα πεδία ονοματίζονται βάσει του Ονόματος στο Φίλτρο.
Εν συνεχεία, θα χρησιμοποιήσουμε το xsd αρχείο ως το αρχείο-πηγή για την κατασκευή του crystal report. Αφού έχουμε εκτελέσει το λογισμικό κατασκευής crystal report, επιλέγουμε File ⇒ New ⇒ Standard Report.
Με την επιλογή αυτή εμφανίζεται ο παρακάτω wizard, μέσω του οποίου θα προχωρήσουμε στην κατασκευή του εκτυπωτικού:
Το επόμενο βήμα είναι να δημιουργήσουμε μια νέα σύνδεση με μια πηγή δεδομένων, οπότε και επιλέγουμε Create New Connection ⇒ ADO .NET (XML).
Με την επιλογή αυτή, αναδύεται ο διάλογος επιλογής του αρχείου που θα αποτελέσει την πηγή δεδομένων. Στο File Path επιλέγοντας το εικονίδιο
αναζητούμε και επιλέγουμε το xsd αρχείο που παρήχθη νωρίτερα (με «αποθήκευση σχήματος»). Κλείνουμε το διάλογο, επιλέγοντας το εικονίδιο Finish. Σε αυτό το σημείο, επιστρέφουμε στον wizard όπου, κάτω από την επιλογή ADO .NET (XML) πλέον έχει δημιουργηθεί ένα νέο Data set, το ESFIItem.
Επιλέγοντας το εικονίδιο
θα πρέπει να μεταφέρουμε το επιλεγμένο Data set στο δεξί πλαίσιο των Selected Tables, αφού αυτό θα αποτελέσει την πηγή δεδομένων.
Επιλέγοντας το εικονίδιο Next, μεταφερόμαστε στην επόμενη σελίδα του wizard, στην οποία θα επιλέξουμε τα πεδία που θα χρησιμοποιήσουμε στο crystal report.
Για κάθε πεδίο, αφού τοποθετηθούμε πάνω του, επιλέγουμε το εικονίδιο
, οπότε μεταφέρεται από την περιοχή των Available Fields στην περιοχή των Fields to Display.
Επιλέγοντας και πάλι Next, μεταφερόμαστε στην τελευταία σελίδα του wizard, όπου μπορούμε να επιλέξουμε κάποιο από τα έτοιμα templates του εργαλείου σχεδίασης.
Κλείνοντας αυτό το διάλογο με Finish, μεταφερόμαστε στο περιβάλλον σχεδίασης του εκτυπωτικού, όπου και μπορούμε να προχωρήσουμε στις τελευταίες σχεδιαστικές ρυθμίσεις.
Επιλέγοντας από το μενού File ⇒ Save, αποθηκεύουμε με το όνομα που δηλώνουμε, το αρχείο rpt του εκτυπωτικού.
Επιστρέφοντας πίσω στην εφαρμογή, στην όψη, και πατώντας ALT + F12, τοποθετημένοι στην περιοχή του πλέγματος δεδομένων, εμφανίζεται η Διαχείριση αρχείων του λειτουργικού συστήματος, κατευθύνοντάς μας στην περιοχή των αρχείων της όψης.
Σε αυτό τον φάκελο θα πρέπει να τοποθετηθεί το αρχείο rpt που δημιουργήσαμε.
Το επόμενο και τελευταίο βήμα είναι η σύνδεση του αρχείου rpt με τη συγκεκριμένη όψη.
Θα πρέπει, μέσα από το εργαλείο κατασκευής όψεων και, από το διάλογο ορισμού της συγκεκριμένης όψης, να μεταφερθούμε στην υποσελίδα «Εκτυπώσεις» όπου, βλέπουμε πως έχει ήδη εμφανιστεί το αρχείο rpt που κατασκευάσαμε.
Αυτό που απομένει για να ολοκληρώσουμε τη σύνδεση του εκτυπωτικού με την όψη, είναι να δώσουμε τον επιθυμητό Τίτλο της εκτύπωσης και να κάνουμε Αποθήκευση.
Εκτελώντας εκ νέου την όψη, στην οριζόντια γραμμή εργαλείων, η επιλογή Εκτυπώσεις είναι πλέον ενεργή και επιλέγοντάς την, εμφανίζεται η εκτύπωση που κατασκευάσαμε.
Επιλέγοντας την εκτύπωση, αυτή εμφανίζεται στην οθόνη και από τη γραμμή εργαλείων, μπορεί να εκτυπωθεί στον εκτυπωτή ή να αποθηκευτεί ως PDF κ.λπ.
Ετικέτες και Bar-Codes
Μέσω Crystal Reports
Έχουμε δυνατότητα να κατασκευάσουμε εκτυπωτικά ετικετών της επιθυμητής μορφής με τα δεδομένα που υπολογίζει και εμφανίζει μια όψη. Απαιτείται η ύπαρξη του λογισμικού σχεδίασης εκτυπώσεων Crystal Reports.
Για να γίνει κατανοητή η δυνατότητα, θα υλοποιήσουμε ως παράδειγμα μια απλή εκτύπωση ετικετών ειδών αποθήκης, όπου θα αναγράφεται ο κωδικός, η περιγραφή, η τιμή λιανικής και η χώρα προέλευσης του κάθε είδους. Η όψη που θα χρησιμοποιήσουμε είναι η κύρια όψη Είδη Αποθήκης,
Το πρώτο βήμα στην κατασκευή, είναι η δημιουργία του αρχείου, το οποίο θα αποτελέσει και την πηγή δεδομένων για το Crystal Report αρχείο. Αφού εκτελέσουμε την όψη, με δεξί κλικ στην περιοχή πλέγματος, επιλέγουμε Ενέργειες ⇒ Αποθήκευση σχήματος.
Με την επιλογή αυτή, αναδύεται ένας διάλογος για την αποθήκευση αρχείου τύπου xsd (XML Schema File), το οποίο εμπεριέχει το σχήμα (δομή) της όψης.
Για την καλύτερη κατανόηση του περιεχομένου ενός xsd αρχείου, στην παρακάτω εικόνα παραθέτουμε μια σχηματική αναπαράσταση του αρχείου, μέσω του λογισμικού XML Spy.
Αντιλαμβανόμαστε ότι ένα xsd αρχείο περιέχει τη δομή των πεδίων της όψης, ξεκινώντας από το βασικό πίνακα ESFIItem, ο οποίος περιλαμβάνει όλα τα ορατά επιλεγμένα πεδία της όψης. Τα πεδία ονοματίζονται βάσει του Ονόματος στο Φίλτρο.
Εν συνεχεία, θα χρησιμοποιήσουμε το xsd αρχείο ως το αρχείο-πηγή για την κατασκευή του crystal report. Αφού έχουμε εκτελέσει το λογισμικό κατασκευής crystal report, επιλέγουμε File ⇒ New ⇒ Mailing Label Report.
Με την επιλογή αυτή εμφανίζεται ο παρακάτω wizard, μέσω του οποίου θα προχωρήσουμε στην κατασκευή του εκτυπωτικού ετικετών:
Το επόμενο βήμα είναι να δημιουργήσουμε μια νέα σύνδεση με μια πηγή δεδομένων, οπότε και επιλέγουμε Create New Connection ⇒ ADO .NET (XML).
Με την επιλογή αυτή, αναδύεται ο διάλογος επιλογής του αρχείου που θα αποτελέσει την πηγή δεδομένων. Στο File Path επιλέγοντας το εικονίδιο
αναζητούμε και επιλέγουμε το xsd αρχείο που παρήχθη νωρίτερα (με «αποθήκευση σχήματος»). Κλείνουμε το διάλογο, επιλέγοντας το εικονίδιο Finish. Σε αυτό το σημείο, επιστρέφουμε στον wizard όπου, κάτω από την επιλογή ADO .NET (XML) πλέον έχει δημιουργηθεί ένα νέο Data set, το ESFIItem.
Επιλέγοντας το εικονίδιο
θα πρέπει να μεταφέρουμε το επιλεγμένο Data set στο δεξί πλαίσιο των Selected Tables, αφού αυτό θα αποτελέσει την πηγή δεδομένων.
Επιλέγοντας το εικονίδιο Next, μεταφερόμαστε στην επόμενη σελίδα του wizard, στην οποία θα επιλέξουμε τα πεδία που θα χρησιμοποιήσουμε στις ετικέτες.
Για κάθε πεδίο, αφού τοποθετηθούμε πάνω του, επιλέγουμε το εικονίδιο
, οπότε μεταφέρεται από την περιοχή των Available Fields στην περιοχή των Fields to Display.
Επιλέγοντας και πάλι Next, μεταφερόμαστε στην τελευταία σελίδα του wizard όπου θα πρέπει να επιλέξουμε τον κατάλληλο τύπο της ετικέτας.
Στο πεδίο Mailing Label Type υπάρχει μια μεγάλη σειρά επιλογών Αν δεν γνωρίζουμε τον τύπο της ετικέτας, στα πεδία των διαστάσεων που παρέχονται στα επόμενα πεδία, μπορούμε να προσδιορίσουμε τις ακριβείς διαστάσεις που θέλουμε.
Στο πεδίο Printing Direction μπορούμε να επιλέξουμε την κατεύθυνση της εκτύπωσης, το αν δηλαδή οι ετικέτες θα αναπτύσσονται διαδοχικά πρώτα προς τα δεξιά – οριζόντια και μετά προς τα κάτω ή το αντίστροφο (πρώτα κάθετα και μετά οριζόντια σε στήλες).
Κλείνοντας αυτό το διάλογο με Finish, μεταφερόμαστε στο περιβάλλον σχεδίασης της ετικέτας, όπου και μπορούμε να προχωρήσουμε στις τελευταίες σχεδιαστικές ρυθμίσεις.
Επιλέγοντας από το μενού File ⇒ Save, αποθηκεύουμε με το όνομα που δηλώνουμε, το αρχείο rpt του εκτυπωτικού των ετικετών.
Επιστρέφοντας πίσω στην εφαρμογή, στην όψη, και πατώντας ALT + F12, τοποθετημένοι στην περιοχή του πλέγματος δεδομένων, εμφανίζεται η Διαχείριση αρχείων του λειτουργικού συστήματος, κατευθύνοντάς μας στην περιοχή των αρχείων της όψης.
Σε αυτό τον φάκελο θα πρέπει να τοποθετηθεί το αρχείο rpt που δημιουργήσαμε.
![]()
Το επόμενο και τελευταίο βήμα είναι η σύνδεση του αρχείου rpt με τη συγκεκριμένη όψη. Θα πρέπει, μέσα από το εργαλείο κατασκευής όψεων και, από το διάλογο ορισμού της συγκεκριμένης όψης, να μεταφερθούμε στην υποσελίδα «Εκτυπώσεις» όπου, βλέπουμε πως έχει ήδη εμφανιστεί το αρχείο rpt που κατασκευάσαμε.
Αυτό που απομένει για να ολοκληρώσουμε τη σύνδεση του εκτυπωτικού με την όψη, είναι να δώσουμε τον επιθυμητό Τίτλο της εκτύπωσης και να κάνουμε Αποθήκευση.
Εκτελώντας εκ νέου την όψη, στην οριζόντια γραμμή εργαλείων, η επιλογή Εκτυπώσεις είναι πλέον ενεργή και επιλέγοντάς την, εμφανίζεται η εκτύπωση ετικετών που κατασκευάσαμε.
Επιλέγοντας την εκτύπωση, αυτή εμφανίζεται στην οθόνη και από τα εργαλεία, μπορεί να τυπωθεί στον εκτυπωτή.
Σε περίπτωση που επιθυμούμε να εκτυπώσουμε πολλαπλές φορές μια ετικέτα για το ίδιο είδος αποθήκης, θα πρέπει να μεταβάλλουμε την όψη, προσθέτοντας ένα πεδίο – κριτήριο, στο οποίο θα έχει τη δυνατότητα ο χρήστης να πληκτρολογήσει τον επιθυμητό αριθμό ετικετών. Για παράδειγμα, στην όψη των Ετικετών ειδών αποθήκης, δημιουργούμε μια στήλη «Εκφραση» με τον εξής τρόπο :
Κλείνοντας το διάλογο με Αποδοχή, επιλέγουμε το νέο πεδίο ως Ερωτώμενο, και καλούμε πάλι τη μεταβολή όπου, διαγράφουμε την τιμή 1 και ορίζουμε ως περιεχόμενο την Παράμετρο Αρ. Ετικετών :
Περνώντας στη Διαμόρφωση Γραμμογράφησης,
παρατηρούμε ότι έχει δημιουργηθεί νέο κριτήριο, ο Αρ. Ετικετών, και, επιλέγοντας Ενημέρωση Γραμμογράφησης, εμφανίζεται και στην όψη το πεδίο αυτό. Οποια τιμή πληκτρολογήσουμε πλέον στο κριτήριο «Αρ.ετικετών», αυτή την τιμή λαμβάνει και η συγκεκριμένη αυτή στήλη της όψης.
Εν συνεχεία, στο Crystal Report που έχουμε κατασκευάσει:
Θα πρέπει να κατασκευάσουμε ένα formula field με όνομα ESMULTIPLY. Στo περιεχόμενο αυτού του πεδίου θα πρέπει να δηλωθεί το “Όνομα πεδίου στο φίλτρο”. Για το παράδειγμα μας “NoLabels”.
Με την ίδια λογική, μπορεί κανείς να χρησιμοποιήσει όχι ερωτώμενο κριτήριο ως «πολλαπλασιαστή», αλλά μια στήλη δεδομένων που θα φέρνει η όψη, π.χ. την ποσότητα.
Τέλος, για να εκτυπώσουμε σε μορφή BARCODE, η μέθοδος κατασκευής δεν διαφέρει, παρά μόνο στον τρόπο υπολογισμού του γραφικού barcode.
Ανάλογα με τον τύπο barcode, αν δηλαδή χρειάζεται υπολογισμό check digit ή προσθήκη bars στην αρχή και το τέλος, απαιτείται εγκατάσταση της UFL (User Function Library): barcode.dll και u2lbcode.dll στους εξής φακέλους:
| Λειτουργικό σύστημα | Περιοχή |
|---|---|
| Windows Vista | c:\ProgramFiles\BusinessObjects\Common\3.5\bin |
| Windows XP | c:\windows\system32 |
| Windows NT, Windows 2000, Windows Me | c:\winnt\system32 |
Σε περίπτωση που δεν χρειάζεται ο υπολογισμός check digit για το barcode, απλώς κατά την εισαγωγή του πεδίου Barcode στο crystal report, πρέπει να επιλέξουμε την κατάλληλη γραμματοσειρά.
Σε περίπτωση που χρειάζεται ο υπολογισμός check digit για το barcode, θα πρέπει αντί του πεδίου barcode, να κατασκευάσουμε ένα formula field στο οποίο θα πληκτρολογήσουμε το εξής:
UFL (Πεδίο Barcode), όπου UFL User Define Library.
Οι UFL functions αναλαμβάνουν τον υπολογισμό του check digit, για το πεδίο barcode που τους αποδίδουμε, και βρίσκονται διαθέσιμες στις Functions => Additional Function => bcode.
Στο συγκεκριμένο παράδειγμα κατασκευάσαμε ένα formula field, το οποίο θα υπολογίζει barcode τύπου 39, για το πεδίο barcode της όψης. Συνεπώς, στο crystal report, τη θέση του πεδίου barcode της όψης, θα πάρει το formula field που κατασκευάσαμε.
Mε Χρήση Αρχείου EAL
Η λογική κατασκευής εκτυπώσεων ετικετών μέσω αρχείων τύπου eal χρησιμοποιείται για εκτύπωση σε θερμικούς εκτυπωτές (π.χ. Zebra, Casio, Datamax κ.λπ.).
Για να γίνει κατανοητή η δυνατότητα, θα δούμε πώς θα κατασκευάσουμε ένα εκτυπωτικό αρχείο eal, για εκτυπωτή τύπου Zebra. Τα αρχεία eal μπορούν να κατασκευαστούν σε οποιονδήποτε κειμενογράφο (π.χ. notepad, word, κ.λπ.), γράφοντας τις κατάλληλες εντολές της γλώσσας EPL2 και αποθηκεύοντας το αρχείο αποδίδοντας extension eal.
N
I5,11
Q280,B24+16
q360
S4
D10
ZB
A24,30,0,4,1,1,N,"{Code}" Εκτύπωση κωδικού είδους (εντολή Α)
A24,62,0,4,1,1,N,"{Description}" Εκτύπωση περιγραφής (εντολή Α)
A200,144,0,4,1,2,N,"{RetailPrice} λ" Εκτύπωση τιμής λιανικής (εντολή Α)
P{NoLabels} Εκτύπωση αριθμού ετικετών βάσει πεδίου της όψης (εντολή P)
Για να δηλώσουμε εδώ τα πεδία της όψης προς εκτύπωση, χρησιμοποιούμε το {Όνομα στο φίλτρο}.
Όπως και στην περίπτωση των crystal reports, υπάρχει και εδώ η δυνατότητα πολλαπλής εκτύπωσης της ετικέτας του ίδιου είδους, μέσω της εντολής P και δήλωσης του κατάλληλου πεδίου («πολλαπλασιαστή»).
![]()
Αφού κατασκευάσουμε το αρχείο eal, θα πρέπει να το αντιγράψουμε στο φάκελο αρχείων της όψης (χρησιμοποιούμε Alt-F12 όντας στο πλέγμα δεδομένων της όψης, για να έχουμε άμεση τοποθέτηση στη σωστή περιοχή), και εν συνεχεία, στη σελίδα Εκτυπώσεις του διαλόγου Ορισμού της όψης να δώσουμε ένα τίτλο στην εκτύπωση.
Κατά την επιλογή της εκτύπωσης (από το μενού «Εκτυπώσεις» της οριζόντιας γραμμής εργαλείων της όψης) εμφανίζεται διάλογος επιλογής του εκτυπωτή, όπου θα τυπωθούν οι ετικέτες.
Το αποτέλεσμα της εκτύπωσης ποικίλει ανάλογα με τον τύπο χαρτιού που έχει δηλωθεί στον εκάστοτε εκτυπωτή.
Για να εκτυπώσουμε σε μορφή BARCODE, μέσω αρχείου τύπου EAL, η μέθοδος είναι ιδιαίτερα απλή και υλοποιείται μέσω της εντολής Β.
Παράδειγμα αρχείου eal με υπολογισμό πεδίου Barcode
N
I5,11
Q280,B24+16
q360
S4
D10
ZB
A24,30,0,4,1,1,N,"{Code}"
A24,62,0,4,1,1,N,"{Description}"
A200,144,0,4,1,2,N,"{RetailPrice} λ"
B24,190,0,E30,2,2,88,B,"{Barcode}" Εκτύπωση barcode (εντολή Β)
P{NoLabels}
H γραμμή B24,190,0,E30,2,2,88,B,"{Barcode}", είναι αυτή που υπολογίζει το πεδίο Barcode, της όψης ως barcode τύπου ΕΑΝ13 (τo 4ο όρισμα Ε30 αντιστοιχεί στον τύπο EAN13). Περισσότερες λεπτομέρειες για τη σύνταξη της εντολής Β, μπορείτε να βρείτε στο Programming Guide του εκάστοτε κατασκευαστή.
Εφόσον, στο EAL αρχείο έχουμε περιλάβει γραμμή με την εντολή Β, αυτόματα η μετάφραση του αρχείου από τον θερμικό εκτυπωτή εκτυπώνει το περιεχόμενο του πεδίου barcode σε γραφικό barcode.
Mε Χρήση του Εργαλείου Κατασκευής Αναφορών
Ενας ιδιαίτερα εύκολος τρόπος κατασκευής ετικετών και bar-codes υλοποιείται με χρήση του Εργαλείου Κατασκευής Αναφορών που περιγράφεται στην επόμενη ενότητα.
Εργαλείο Κατασκευής Αναφορών (.ΝΕΤ 3.5)
Το εργαλείο αυτό κατασκευής εκτυπώσεων που ενσωματώνεται στις εκδόσεις .Νet 3.5 και μεταγενέστερες, είναι εναλλακτικό των Crystal Reports και καλείται από το κεντρικό μενού Εργαλεία:
Παρουσιάζει τις περιοχές των όψεων στις οποίες μπορούν να ενσωματωθούν νέες αναφορές.
Οι αναφορές κάθε περιοχής εμφανίζονται στο κέντρο της οθόνης και μέσω των εργαλείων (buttons) γίνονται όλες οι απαραίτητες λειτουργίες σχεδίασης, κοινοποίησης στον εξυπηρετητή (όπως και οι όψεις), καθορισμός δικαιωμάτων, μεταφορά στις συντομεύσεις.
Για να σχεδιάσουμε μια νέα αναφορά, θα πρέπει:
- να επιλέξουμε αριστερά την ΠΕΡΙΟΧΗ όπου θα αποθηκευτεί η νέα Αναφορά
- να επιλέξουμε ΝΕΟ στην κεντρική περιοχή των Αναφορών
- να επιλέξουμε το πλήκτρο ΟΡΙΣΜΟΣ από την δεξιά στήλη επιλογών
- να ορίσουμε ένα ΚΩΔΙΚΟ και ένα ΤΙΤΛΟ για τη νέα Αναφορά, στα ομώνυμα πεδία του διαλόγου
- να κάνουμε ΔΗΜΙΟΥΡΓΙΑ DATASET, το οποίο θα αποτελέσει την πηγή δεδομένων για την αναφορά, επιλέγοντας το ομώνυμο πλήκτρο στο κάτω μέρος του διαλόγου
- αφού ολοκληρώσουμε τον ορισμό του dataset, να επιλέξουμε ΔΗΜΙΟΥΡΓΙΑ ΑΝΑΦΟΡΑΣ, οπότε και θα βρεθούμε στο περιβάλλον σχεδίασης του εκτυπωτικού.
Εναλλακτικός τρόπος δημιουργίας αναφοράς είναι από το περιβάλλον ορισμού των όψεων, όπως θα δούμε στα επόμενα.
Δημιουργια Dataset
Στο εργαλείο κατασκευής της πηγής δεδομένων αναφορών, μπορεί κανείς να χρησιμοποιήσει λειτουργίες παρόμοιες με εκείνες του ορισμού όψεων:
Aπό τη μπάρα εργαλείων δεξιά, μπορεί κανείς να δημιουργήσει νέο πίνακα. Επιλέγοντας
εμφανίζεται ο γνωστός διάλογος ορισμού «φίλτρου» με διαθέσιμο ολόκληρο το σχήμα της Βάσης. Οι ορισμοί στο σημείο αυτό γίνονται ακριβώς με τον τρόπο που περιγράφεται στο Εργαλείο Κατασκευής των όψεων, με δυνατότητες χρήσης υποφίλτρων, παραμέτρων κ.λπ.
Εχοντας ορίσει όλα τα πεδία που χρειαζόμαστε και επιστρέφοντας στο διάλογο ορισμού της πηγής δεδομένων, εμφανίζονται ο κύριος πίνακας και τα κριτήρια – παράμετροι:
Με το εικονίδιο
μπορούμε να μεταβάλλουμε το τρέχον φίλτρο.
Αν ορίσουμε και νέο πίνακα (φίλτρο)…
..τότε, οι μεν παράμετροι με κοινό «όνομα στο φίλτρο» ενοποιούνται, η δε σχέση των δύο μπορεί να καθοριστεί ΑΠΟ τον master ΠΡΟΣ τον detail πίνακα, αν με απλό γραφικό τρόπο ξεκινήσουμε από τον master πίνακα στο σημείο που ο cursor παίρνει τη μορφή
και κατευθύνουμε τη σύνδεση που δημιουργείται προς τον detail πίνακα, με αποτέλεσμα:
Mε double click πάνω στη σύνδεση, μπορεί κανείς να δει και να μεταβάλλει τα στοιχεία της:
Mε Αποδοχή, επιστρέφουμε στο διάλογο διαχείρισης αναφορών, όπου έχει είναι επιλέξιμη πλέον η λειτουργία «ΔΗΜΙΟΥΡΓΙΑ ΑΝΑΦΟΡΑΣ» στο κάτω μέρος του διαλόγου.
Δημιουργία Αναφοράς
Ο διάλογος «Σχεδίαση Αναφορών» που εμφανίζεται με την επιλογή «Δημιουργία Αναφοράς» επιτρέπει να σχεδιάσουμε συνολικά την εκτύπωση η οποία θα κληθεί ΧΩΡΙΣ ΠΡΟΗΓΟΥΜΕΝΩΣ να ΑΠΑΙΤΕΙΤΑΙ η εκτέλεση μιας όψης. Η εκτέλεση των φίλτρων – υποφίλτρων κ.λπ. γίνεται ΑΠΟ ΤΟΝ ΙΔΙΟ ΔΙΑΛΟΓΟ της ΕΚΤΥΠΩΣΗΣ, με τη μορφή που θα τη σχεδιάσουμε.
Το περιβάλλον σχεδίασης
Πριν ξεκινήσουμε τη σχεδίαση, θα πρέπει να επιλέξουμε «Αποδοχή» στην περιοχή των κριτηρίων, ώστε να εκτελεστεί το ερώτημα στη Βάση και να βεβαιωθούμε ότι είναι σωστό. Στη συνέχεια, θα είναι διαθέσιμες όλες οι λειτουργίες του σχεδιαστικού εργαλείου.
Από την περιοχή εργαλείων διαχείρισης και μορφοποίησης έχει κανείς πρόσβαση σε λειτουργίες όπως η αποθήκευση, η προεπισκόπηση της εκτύπωσης, η αλλαγή του τρόπου εμφάνισης της οθόνης σχεδίασης, η χρήση αυτοματοποιημένου οδηγού κατασκευής (wizard) κ.ά.
Στο αριστερό μέρος υπάρχουν όλα τα controls που μπορούν να χρησιμοποιηθούν (π.χ. Labels, Charts, Tables, Lines, Pictures κ.ά.). Mεταφέρονται με drag n’drop στην περιοχή σχεδιασμού.
Το δεξί μέρος της οθόνης έχει 3 διαθέσιμες «υποσελίδες»:
Δημιουργία μιας Απλής Εκτύπωσης
Για τη δημιουργία μιας απλής εκτύπωσης, αρκεί να σύρουμε τα επιθυμητά πεδία πάνω στην περιοχή σχεδίασης στην επιθυμητή θέση, διαμορφώνοντάς τα κατάλληλα.
Επιλέγοντας ένα πεδίο με διπλό κλικ εμφανίζεται μια σειρά επιλογών πάνω δεξιά, απ’ όπου μπορούμε να αλλάξουμε κάποιες από τις ιδιότητες του. Εναλλακτικά, μπορεί να γίνει το ίδιο και από τη «λίστα ιδιοτήτων».
Αν το επιθυμητό πεδίο δεν είναι διαθέσιμο στη λίστα των προς επιλογή πεδίων (δηλαδή πρόκειται για πεδίο που βρίσκεται σε κάποιον ‘parent’ πίνακα των εμφανιζόμενων πινάκων), τότε, επιλέγουμε το πεδίο από την επιλογή «Insert Fields» στην οποία είναι διαθέσιμα όλα τα πεδία, που ανήκουν σε parent πίνακες του επιλεγμένου τμήματος.Mε δεξί κλικ στην περιοχή σχεδίασης, από το αναδυόμενο μενού που εμφανίζεται, μπορούμε να προσθέσουμε επιπλέον ζώνες (bands) και να ορίσουμε τις ιδιότητες εκτύπωσής της.
Από τη γραμμή εργαλείων διαμόρφωσης και διαχείρισης, μπορούμε να κάνουμε προεπισκόπηση της σχεδιαζόμενης εκτύπωσης, επιλέγοντας Print Preview.
Δημιουργία Αναφοράς & Ετικετών με Χρήση Wizard
Ενας εναλλακτικός και εύκολος τρόπος δημιουργίας αναφοράς είναι με τη χρήση wizard. Επιλέγοντας, από την περιοχή εργαλείων διαχείρισης και μορφοποίησης «Wizard», ακολουθούμε την κάτωθι διαδικασία:
- Στο πρώτο βήμα επιλέγουμε Standard Report.
- Στο επόμενο βήμα επιλέγουμε τα πεδία που θα περιέχει η εκτύπωση
- Στο 3ο βήμα επιλέγουμε πιθανή ομαδοποίηση των αποτελεσμάτων (grouping)
- Στο 4ο βήμα υπάρχει η δυνατότητα επιλογής μαθηματικών συναρτήσεων άθροισης, μέσου όρου κλπ.
- Στο 5ο και 6ο βήμα υπάρχουν διάφορες επιλογές που αφορούν στην εμφάνιση της εκτύπωσης.
Το αποτέλεσμα θα είναι μια αναφορά σαν αυτή που φαίνεται στην επόμενη εικόνα, έτοιμη να δεχτεί κάποιες επιπλέον επεμβάσεις μορφοποίησης, ώστε να φτάσει στο επιθυμητό αποτέλεσμα.
Επιλέγοντας προεπισκόπηση:
Για να δημιουργήσουμε εκτύπωση Ετικετών (Labels) με το ίδιο εργαλείο, αρκεί στο 1ο βήμα να επιλέξουμε Label Report:
και στο επόμενο βήμα να επιλέξουμε κάποιον από τους διαθέσιμους τύπους ετικετών ή να ορίσουμε, προσαρμόσουμε τον επιθυμητό τύπο ετικέτας.
Επιπλέον υπάρχει η δυνατότητα κατασκευής ετικετών που περιέχουν Barcode.
Αφού τοποθετήσουμε τα επιθυμητά πεδία στην ετικέτα, μπορούμε να προσθέσουμε κι ένα control τύπου barcode. Σε αυτό πρέπει να οριστούν οι κατάλληλες ιδιότητες όπως φαίνεται στο παρακάτω παράδειγμα:
Δημιουργία Master-Detail Αναφοράς
Για τη δημιουργία εκτυπώσεων τύπου Master-Detail, δηλαδή εκτυπώσεων όπου, κάτω από έναν «Κύριο Πίνακα» εμφανίζονται οι αναλυτικές εγγραφές που συνδέονται με αυτόν (π.χ. ένα παραστατικό και οι γραμμές του) θα πρέπει να έχουμε πρώτα δημιουργήσει το κατάλληλο σύνολο δεδομένων (dataset) ώστε να χρησιμοποιηθεί στην κατασκευή της εκτύπωσης.
Ξεκινώντας από ένα τέτοιο σύνολο δεδομένων, τοποθετούμε τα πεδία του κυρίως πίνακα στο τμήμα detail της περιοχής σχεδιασμού της εκτύπωσης.
Στη συνέχεια, από το μενού που αναδύεται με δεξί κλικ στην περιοχή αυτή, εισάγουμε ένα detail report. Σε αυτό, πρέπει να επιλεγεί εκείνος ο πίνακας του dataset, που περιέχει τις εγγραφές του «επόμενου επιπέδου»:
Η σχεδίαση αυτού detail report, γίνεται όπως ακριβώς και σε μια οποιαδήποτε άλλη απλή εκτύπωση.
Προσοχή χρειάζεται στην επιλογή των πεδίων που προσθέτουμε για εμφάνιση στο detail report, καθώς αυτά πρέπει να επιλέγονται από τα πεδία που βρίσκονται κάτω από τον κυρίως πίνακα που, στο παράδειγμα, είναι το Παραστατικό εμπορικών συναλλαγών.
Ομαδοποίηση και Ταξινόμηση
Υπάρχει η δυνατότητα να εμφανιστούν τα αποτελέσματα μιας εκτύπωσης ομαδοποιημένα ως προς ένα ή περισσότερα πεδία. Αυτό είναι ιδιαίτερα χρήσιμο σε περιπτώσεις όπου απαιτείται ο υπολογισμός συνόλων ανά ομάδα αποτελεσμάτων. Η δημιουργία των ομάδων (groups) μπορεί να γίνει επιλέγοντας τα επιθυμητά πεδία από τον ορισμό των ομάδων που βρίσκεται στο κάτω μέρος του διαλόγου σχεδίασης της αναφοράς.
Μετά τη δημιουργία των ομάδων, δημιουργούνται στην εκτύπωση νέες περιοχές για το header και το footer κάθε νέου group όπως φαίνεται παρακάτω:
Εκτύπωση με Εταιρικό Λογοτυπο
Υπάρχει η δυνατότητα εμφάνισης στην εκτύπωση του λογοτύπου που έχουμε αποθηκεύσει στα στοιχεία της εταιρείας.
Πρέπει να επιλέξουμε τη ζώνη (band) που θέλουμε να εμφανιστεί το company logo και στη συνέχεια από γραμμή εργαλείων επιλέγουμε company logo.
Υπο-Αναφορές στην Κεντρική Αναφορά (Sub-Reports)
Για την εισαγωγή ενός SubReport αρκεί να σύρουμε το αντίστοιχο control από την περιοχή των διαθέσιμων controls (Toolbox) στην περιοχή σχεδίασης. Ανοίγει τότε μια ΝΕΑ οθόνη σχεδίασης του SubReport με τις ίδιες ακριβώς δυνατότητες.
Αφού ολοκληρώσουμε το σχεδιασμό του SubReport, προσαρμόζουμε το μέγεθός του στην κύρια αναφορά:
Στη σχεδίαση του SubReport πρέπει να οριστεί Datamember. Το Datamember πρέπει να είναι πίνακας και όχι σχέση, ενώ και τα πεδία πρέπει να επιλεγούν από τον πίνακα και όχι από τη σχέση. Η επιλογή του Datamember γίνεται από τις ιδιότητες του SubReport.
Γραφήματα
Για τη δημιουργία ενός γραφήματος μέσα στην Αναφορά, θα πρέπει να εισαχθεί ένα chart control στην περιοχή σχεδίασης. Με την εισαγωγή αυτού του control, ξεκινά άμεσα ένας οδηγός που βοηθά στη γρήγορη παραμετροποίηση του γραφήματος (τύπος γραφήματος, παράμετροι εμφάνισης, τίτλοι, σειρές κ.ά.). Οι πιο σημαντικές ιδιότητες που πρέπει να παραμετροποιηθούν είναι:
Δημιουργία Pivot-Table
Για τη δημιουργία ενός pivot grid τοποθετούμε το αντίστοιχο control πάνω στην περιοχή σχεδίασης. Στη συνέχεια, από το smart tag του control, ανοίγουμε τον designer του όπως φαίνεται στην παρακάτω εικόνα:
Στην αριστερή λίστα του designer του pivot grid εμφανίζονται τα διαθέσιμα πεδία, όπου επιλέγουμε τα επιθυμητά πεδία προς εμφάνιση (με διπλό κλικ πάνω στο πεδίο).
Σε κάθε πεδίο που επιλέγουμε, πρέπει να ορίσουμε μερικές παραμέτρους. Μία από τις πιο βασικές είναι το σημείο που θα εμφανίζονται τα δεδομένα του πεδίου (δηλαδή στην περιοχή των δεδομένων, των στηλών, των γραμμών ή στην περιοχή φιλτραρίσματος).
Αν λοιπόν στο παράδειγμα βάλουμε το πεδίο fieldfItemCategoryCode1 στην Row Area και τα πεδία fieldCreditQty2, fieldDebitQty στην data area, έχουμε ως αποτέλεσμα το εξής (προεπισκόπηση):
Σημαντικό είναι να συμπληρωθεί η παράμετρος Caption για τον τίτλο του κάθε πεδίου και η παράμετρος index για την σειρά εμφάνισης των πεδίων. Ακόμη, μπορεί να επιλεγεί ο τύπος πεδίου, το format με το οποίο θα εμφανίζεται και να καθοριστεί αν θα εμφανίζονται running totals ή να δημιουργηθούν custom totals.
Επίσης, μπορούμε να δημιουργήσουμε πρόσθετα πεδία. Αυτό γίνεται με add ή insert από τον designer. Το νέο πεδίο ΔΕΝ θα συνδέεται με κάποια στήλη από το σετ δεδομένων, οπότε, χρειάζεται να ορίσουμε και τις ακόλουθες παραμέτρους:
|
Επιλογή του πεδίου που προσθέσαμε |
|---|---|
|
Επιλογή του τύπου του πεδίου (integer, decimal κ.λπ.) |
|
Η έκφραση που θα χρησιμοποιηθεί για τον υπολογισμό του περιεχομένου του πεδίου Στον expression editor είναι διαθέσιμα όλα τα πεδία που έχουμε επιλέξει, καθώς και πλήθος συναρτήσεων μαθηματικές, συμβολοσειρών κλπ. |
Ακόμη, μπορούμε να ορίσουμε για κάθε πεδίο το Group Interval, δηλαδή τον τρόπο ομαδοποίησης (ανά έτος, τρίμηνο, αλφαβητικά κλπ).
Όπως φαίνεται στην ακόλουθη εικόνα, έχει χρησιμοποιηθεί ως group Interval το έτος και τα δεδομένα ομαδοποιούνται κατά έτος.
Χρήση Scripts
Σε κάθε control που προσθέτουμε στην εκτύπωση, υπάρχει δυνατότητα να χρησιμοποιήσουμε scripts. Η χρήση των scripts γίνεται, γράφοντας κώδικα σε vb.net πριν από συγκεκριμένα events (before print, after print κ.λπ.) που είναι διαθέσιμα πάνω στην εκτύπωση.
Η δυνατότητα αυτή είναι διαθέσιμη στα Properties κάθε control, στην ομάδα παραμέτρων Behavior.
Αν για παράδειγμα θέλουμε να βρούμε το IBAN του τραπεζικού λογαριασμού του συναλλασσόμενου του παραστατικού και να το τυπώσουμε σε ένα text label πάνω στην εκτύπωση, θα μπορούσαμε να γράψουμε το ακόλουθο vb script, στο event Before Print του text label. Προφανώς, για να τρέξει σωστά ένα script, θα πρέπει η παράμετρος που θα χρησιμοποιήσουμε να υπάρχει στον πίνακα όπου είναι bound το section όπου φιλοξενείται το control. Επίσης όπως φαίνεται και στο παράδειγμα, σε ένα script μπορούμε να χρησιμοποιήσουμε όλες τις ESFUNCTIONS (όπως η ESLUA).
Αμεση Δημιουργία Αναφοράς σε Οψη
Ενας εναλλακτικός και εύκολος τρόπος δημιουργίας Αναφοράς που βασίζεται σε όψη, παρέχεται μέσα από εργαλείο ορισμού των όψεων, όπου γίνεται άμεσα και η σύνδεση με την όψη, ώστε η Αναφορά να συμπεριλαμβάνεται στις συνδεδεμένες «Εκτυπώσεις» της, με τον τρόπο που ενσωματώνονται και λειτουργούν κα οι εκτυπώσεις, οι βασισμένες σε Crystal Reports.
Στην υποσελίδα «Εκτυπώσεις» του διαλόγου ορισμού όψης, από την δεξιά μπάρα εργαλείων μπορεί κανείς να κάνει Δημιουργία νέας αναφοράς, Ενσωμάτωση-Σύνδεση μιας ήδη αποθηκευμένης αναφοράς και Μεταβολή ή Διαγραφή της τρέχουσας αναφοράς.
Επιλέγοντας «Δημιουργία» ή «Μεταβολή» αναφοράς, θα οδηγηθούμε σε μια οθόνη όπως η παρακάτω:
Η οθόνη χωρίζεται σε δύο τμήματα. Το πάνω τμήμα που εμφανίζει την όψη και το κάτω τμήμα όπου θα γίνει (σύμφωνα με τα προηγούμενα) η σχεδίαση της αναφοράς.
Για να ενεργοποιηθεί το κάτω τμήμα, θα πρέπει να εκτελεστεί προηγουμένως η όψη. Συνιστάται να μην γίνει ανάκτηση μεγάλου πλήθους δεδομένων, γιατί αυτό θα επιβαρύνει τον χρόνο επεξεργασίας της αναφοράς.
Αφού ολοκληρώσουμε το σχεδιασμό της αναφοράς και επιλέξουμε αποθήκευση, θα πρέπει να δώσουμε έναν ΚΩΔΙΚΟ. Θα πρέπει επίσης, στη λίστα διαχείρισης εκτυπώσεων της όψης να δώσουμε και μια κατάλληλη ΠΕΡΙΓΡΑΦΗ ώστε να είναι επιλέξιμη από τους χρήστες η νέα εκτύπωση.
Στο εξής, εκτελώντας τη συγκεκριμένη όψη, η Αναφορά θα εμφανίζεται στις διαθέσιμες εκτυπώσεις της όψης:
Εργαλείο Κατασκευής Φορμών Εκτύπωσης
Το εργαλείο σχεδίασης φορμών εκτύπωσης δίνει τη δυνατότητα στο χρήστη να σχεδιάζει φόρμες εκτύπωσης οντοτήτων μέσα από ένα ιδιαίτερα φιλικό περιβάλλον σχεδίασης.
Διαχειρίζεται εκτύπωση με βάση προτυπωμένα έντυπα, όπως εκείνα που χρησιμοποιούνται για Παραγγελίες, Τιμολόγια, Αποδείξεις κλπ., επιτρέπει τη χρήση εικόνων, logos και πολλών ιδιοτήτων μορφοποίησης και περιέχει βοηθήματα που διευκολύνουν τη διαδικασία δοκιμών, μέχρι να επιτευχθεί το τελικό ζητούμενο.
Η Επιφάνεια Εργασίας
Το εργαλείο σχεδίασης φορμών εκτύπωσης καλείται από τα Εργαλεία Εργασίες προσθετικής ανάπτυξης Κατασκευή φορμών.
Στην επιφάνεια εργασίας υπάρχει η κεντρική γραμμή εργαλείων, που περιέχει 5 επιλογές :
Νέα : Με επιλογές ....
Παραστατικό Μεταφορών-Συμψηφισμών
Παραστατικό Χρηματικών συναλλαγών
Παραστατικό Διακινήσεων
Παραστατικό Εμπορικών συναλλαγών
Εγγραφή Καθολικού
Προεκτύπωση εντύπων
Θέμα
Επικοινωνία
Αίτημα εξυπηρέτησης
Ευκαιρία Πώλησης
Εκστρατεία
Όρος Σύμβασης
Άνοιγμα : Για επιλογή και επεξεργασία ήδη αποθηκευμένων φορμών εκτύπωσης.
Αποθήκευση : Για αποθήκευση των αλλαγών της προς επεξεργασία φόρμας.
Κοινοποίηση E.A.S : Σε περίπτωση που η επεξεργασία της φόρμας εκτελείται σε τερματικό της εγκατάστασης, η επιλογή χρησιμοποιείται για την αντιγραφή της φόρμας εκτύπωσης στο φάκελο εφαρμογής του εξυπηρετητή.
Έξοδος : Κλείνει το εργαλείο κατασκευής φορμών παραστατικών.
Η επιφάνεια εργασίας του εργαλείου διαιρείται σε 3 διακριτά τμήματα :
Αριστερά, εμφανίζεται το τμήμα επιλογής των πεδίων που θα εισάγουμε εν συνεχεία στη φόρμα εκτύπωσης. Υπάρχουν 2 tab pages:
Διαθέσιμα και
Συχνά χρησιμοποιούμενα
Στα «Διαθέσιμα» εμφανίζονται ιεραρχικά όλα τα πεδία που χρειαζόμαστε για την κατασκευή φορμών εκτύπωσης, ενώ στα «Συχνά χρησιμοποιούμενα» εμφανίζονται τα πεδία που ορίζουμε εμείς, προς διευκόλυνση της διαδικασίας κατασκευής.
Στο κέντρο, εμφανίζεται ο χώρος (το πλέγμα), όπου σχεδιάζουμε την φόρμα εκτύπωσης.
Δεξιά, εμφανίζεται το τμήμα των ιδιοτήτων, στο οποίο υπάρχουν 4 tab pages (υποσελίδες) Ιδιοτήτων:
Σελίδας,
Τμήματος,
Πεδίου και
Σχήματος
Βασικά Στοιχεία Τμημάτων Φόρμας
Τμήμα επιλογής πεδίων
Στο τμήμα επιλογής πεδίων εμφανίζονται 2 περιοχές:
Διαθέσιμα πεδία
Συχνά χρησιμοποιούμενα πεδία
Στη συγκεκριμένη περιοχή, ο χρήστης του εργαλείου έχει τη δυνατότητα να δημιουργήσει μια λίστα με τα πεδία που χρησιμοποιεί πιο συχνά, ώστε να διευκολύνει τη διαδικασία.
Η προσθήκη ενός πεδίου στη λίστα των συχνά χρησιμοποιούμενων πεδίων είναι εφικτή, επιλέγοντας δεξί κλικ, σε ένα πεδίο του πλέγματος και «Προσθήκη στα Συχνά χρησιμοποιούμενα».
Υπάρχει η δυνατότητα εισαγωγής και πεδίων που δεν αντιστοιχούν σε υπαρκτά πεδία οντότητας ή της εκτύπωσης, όπως για παράδειγμα εκφράσεις ή labels. Τα πεδία αυτά, αποθηκεύονται με όλες τις ρυθμίσεις που έχει κάνει ο χρήστης (π.χ. μέγεθος πεδίου, εκφράσεις και πεδία διαμόρφωσης).
Η λίστα των συχνά χρησιμοποιούμενων πεδίων διαφέρει για κάθε οντότητα που επιλέγουμε. Συγκεκριμένα, η κάθε λίστα που κατασκευάζουμε, αποθηκεύεται στον κατάλογο CSConfig (υποστηρίζεται shadowing λογική του ESConfig) με την ονομασία {EntityKey}_PFList.DAT (πχ. TradeDocument_PFList.DAT). Τα EntityKeys είναι τα ID των οντοτήτων που ορίζονται στο αρχείο ES00PrintForms.xml.
Τμήμα πλέγματος
Στο τμήμα πλέγματος αρχικά προστίθενται (μέσω των ιδιοτήτων της σελίδας) τμήματα που θα αποτελέσουν τη φόρμα εκτύπωσης που κατασκευάζουμε, και εν συνεχεία στο κάθε τμήμα προστίθενται τα πεδία που θα χρησιμοποιηθούν.
Υπάρχουν 5 τύποι τμημάτων που μπορούν να προστεθούν :
Επικεφαλίδα
Επικεφαλίδα ομάδας
Γραμμές
Υποσέλιδο ομάδας
Υποσέλιδο
Κάθε τμήμα αποτελείται από ένα πλέγμα οριζόντιων και κάθετων γραμμών. Οι οριζόντιες γκρι γραμμές προσδιορίζουν τις γραμμές εκτύπωσης και κάθε «κουτάκι» που οριοθετείται από τις οριζόντιες και τις κάθετες γκρι γραμμές είναι ένας χαρακτήρας εκτύπωσης. Σέρνοντας το ποντίκι πάνω σε ένα κουτάκι, φαίνεται η ακριβής θέση του με συντεταγμένες.
Για παράδειγμα, 7-25 σημαίνει ότι το κουτάκι αυτό, δηλαδή ο χαρακτήρας αυτός, είναι στην 7η στήλη και στην 25η γραμμή του συγκεκριμένου τμήματος. Υπάρχει και ένα πλέγμα με πιο έντονες γραμμές που χωρίζουν σε περιοχές των 5x5 και 10x10 χαρακτήρες. Όταν είναι ενεργό το συγκεκριμένο τμήμα οι γραμμές αυτές είναι μπλε, ενώ όταν το τμήμα είναι ανενεργό είναι μαύρες. Τα όρια του πλέγματος αυτού είναι τα όρια των εκτυπώσιμων γραμμών του τμήματος. Υπάρχει η δυνατότητα να μην εμφανίζεται αυτό το πλέγμα, απο-επιλέγοντας την παράμετρο Εμφάνιση πλέγματος (Ιδιότητες Τμήματος), ώστε να γίνεται πιο ευκρινής η εικόνα της φόρμας στο υπόστρωμα.
Τα τμήματα χωρίζονται μεταξύ τους με μια διαχωριστική μπάρα. Μπορεί να μεταβληθεί το μέγεθος του κάθε τμήματος, μετακινώντας τη μπάρα αυτή προς τα πάνω ή προς τα κάτω.
Τμήμα Ιδιοτήτων
Στο τμήμα των ιδιοτήτων διακρίνονται 4 περιοχές (tab-pages):
Σελίδα
|
Τμήμα
Ενέργειες
Διαγραφή τμήματος : Διαγράφει το τρέχον τμήμα
Προσθήκη πεδίου : Με την επιλογή αυτή έχουμε τη δυνατότητα να προσθέσουμε ένα ελεύθερο πεδίο κειμένου στο επιλεγμένο τμήμα.
Προσοχή : Η προσθήκη πεδίου γίνεται αποκλειστικά στο επιλεγμένο τμήμα.
Προσθήκη υποσελίδας : Η υποσελίδα συμπεριφέρεται ως πεδίο μέσα στο τμήμα αλλά έχει χαρακτηριστικά σελίδας.
Με τη δημιουργία μιας υποσελίδας δημιουργείται νέο Tab με τον τίτλο της υποσελίδας. Η υποσελίδα προστίθεται ως ένα πεδίο στη φόρμα, γι’ αυτό και μπορεί να τοποθετηθεί όπου επιθυμεί ο χρήστης πάνω στα τμήματα της φόρμας και να μεταβληθεί το μέγεθός της (μεταβάλλοντας το μήκος και το ύψος όπως έχει περιγραφεί) ώστε να καταλαμβάνει όσες θέσεις χαρακτήρων χρειάζεται.
Από τις Ιδιότητες πεδίου, επιλέγοντας την υποσελίδα, μπορούμε να μεταβάλλουμε όλες τις ενεργές παραμέτρους, όπως και σε ένα κοινό πεδίο.
Για να εμφανιστούν, όμως, όλες οι ιδιότητες της υποσελίδας θα πρέπει να επιλέξει κανείς το Tab που δημιουργήθηκε, με το όνομά της. Η προσθήκη πεδίων και γενικότερα η διαμόρφωση της υποσελίδας θα γίνει στο tab της, ορίζοντας ιδιότητες παρόμοια με τη λειτουργικότητα διαχείρισης των Ιδιοτήτων τμήματος μιας φόρμας εκτύπωσης.
Σημείωση : Μια υποσελίδα μπορεί να έχει μόνο ένα τμήμα, όχι περισσότερα.
Προσθήκη γραμμής : Με την επιλογή αυτή έχουμε τη δυνατότητα να προσθέσουμε μια γραμμή στο επιλεγμένο τμήμα.
Προσθήκη πλαισίου : Με την επιλογή αυτή έχουμε τη δυνατότητα να προσθέσουμε ένα πλαίσιο στο επιλεγμένο τμήμα.
Προσθήκη company logo : Με την επιλογή αυτή έχουμε τη δυνατότητα να προσθέσουμε ένα πλαίσιο στο επιλεγμένο τμήμα, το οποίο θα λειτουργήσει σαν το λογότυπο της εταιρείας του πελάτη.
Πεδίο
Ενέργειες
Διαγραφή πεδίου: Διαγράφει το τρέχον πεδίο. Η διαγραφή του πεδίου μπορεί να εκτελεστεί και με το πλήκτρο delete.
Σχήμα
Το τμήμα του σχήματος, διαφοροποιείται ανάλογα με το σχήμα το οποίο επιλέγουμε. Συνεπώς, και οι παράμετροι του κάθε σχήματος διαφέρουν.
Σημείωση : Τα σχήματα και οι εικόνες εκτυπώνονται ΜΟΝΟ με τη χρήση των σετ εντολών WinPrint και TextMerge.
Ιδιότητες γραμμής
|
Ιδιότητες πλαισίου
Ιδιότητες Company Logo
|
Κατασκευή Φόρμας Εκτύπωσης
Δημιουργία Νέας Φόρμας
Η δημιουργία μιας νέας φόρμας εκτύπωσης γίνεται από την επιλογή ‘Νέα’, από την κεντρική toolbar, και την κατάλληλη οντότητα που επιθυμούμε. Το παράδειγμα που ακολουθεί βασίζεται στη δημιουργία μιας φόρμας εκτύπωσης για τιμολόγιο πώλησης.
Σημείωση : Για την κατασκευή φορμών εκτύπωσης παραστατικών συνιστάται να χρησιμοποιούνται οι προϊοντικές φόρμες εκτύπωσης ως βάση για την παραμετροποίηση των νέων. Οι προϊοντικές φόρμες εκτύπωσης βρίσκονται στο φάκελο εφαρμογής ESPrintForms.
Ιδιότητες Σελίδας
Αν υπάρχει εικόνα φόρμας, αποθηκευμένη σε αρχείο, που μπορεί να βοηθήσει στην κατασκευή, καλό θα είναι να δηλωθεί στις Ιδιότητες Σελίδας Ιδιότητες εικόνας Αρχείο εικόνας φόρμας.
Μπορεί να γίνει Στροφή εικόνας και Οριζόντια μετακίνηση ή Κάθετη μετακίνηση της σελίδας, αν χρειάζεται, μετακινώντας το δείκτη δεξιά ή αριστερά.
Στις Ιδιότητες Σελίδας ορίζουμε μονάδα μέτρησης ‘χιλιοστά’ και π.χ. πλάτος χαρτιού 207 mm & ύψος 258 mm.
Προσοχή : Αν έχει χρησιμοποιηθεί εικόνα από αρχείο, τότε πρέπει το πλάτος και το ύψος του χαρτιού να ταυτίζονται με το πλάτος και το ύψος της εικόνας.
Προσθήκη Τμημάτων
Η προσθήκη τμημάτων στη φόρμα γίνεται επιλέγοντας Προσθήκη Τμήματος από τις Ιδιότητες Σελίδας.
Υποθέτουμε ότι η φόρμα που κατασκευάζουμε αποτελείται από 3 τμήματα: επικεφαλίδα, γραμμές, υποσέλιδο ομάδας. Η μεταβολή του μεγέθους κάθε τμήματος γίνεται μετακινώντας τη διαχωριστική μπάρα προς τα πάνω ή προς τα κάτω, αφού φέρουμε το ποντίκι πάνω από τη μπάρα κι ο δείκτης του ποντικιού πάρει τη μορφή .
Ιδιότητες τμημάτων
Ο προσδιορισμός των ιδιοτήτων του κάθε τμήματος γίνεται επιλέγοντας το αντίστοιχο Tab με τίτλο ‘Τμήμα’ ή απλά επιλέγοντας ένα τμήμα στην περιοχή του πλέγματος.
Υποθέτουμε ότι το ύψος σε γραμμές της επικεφαλίδας είναι ‘32’, οι ενεργές γραμμές ‘1’, οι χαρακτήρες οριζόντια ‘81’ και το μέγεθος των χαρακτήρων ‘Κανονικό (10cpi)’.
Αντίστοιχα, για το τμήμα των γραμμών το ύψος σε γραμμές είναι ‘18’, οι ενεργές γραμμές ‘1’, οι χαρακτήρες οριζόντια ‘140’ και το μέγεθος των χαρακτήρων ‘Συμπιεσμένο (17cpi)’.
Για το τμήμα του υποσέλιδου ομάδας το ύψος σε γραμμές είναι ‘9’, οι ενεργές γραμμές ‘1’, οι χαρακτήρες οριζόντια ‘140’ και το μέγεθος των χαρακτήρων ‘Συμπιεσμένο (17cpi)’.
Για κάθε τμήμα θα πρέπει να ορίσουμε την πηγή δεδομένων αυτού. Η ενημέρωση της πηγής δεδομένων του κάθε τμήματος γίνεται με τη μέθοδο drag & drop, επιλέγοντας το κατάλληλο πεδίο, από το τμήμα επιλογής πεδίων, και αφήνοντας στο πλέγμα του εκάστοτε τμήματος.
Για το τμήμα της επικεφαλίδας και του υποσέλιδου ομάδας, επιλέγουμε την ομάδα πεδίων ‘Παραστατικό εμπορικών συναλλαγών’, ενώ για το τμήμα των γραμμών θα επιλέξουμε την ομάδα πεδίων ‘Γραμμές είδους παραστατικού εμπορικής συναλλαγής’.
Διαγραφή τμημάτων
Η διαγραφή ενός τμήματος γίνεται κάνοντας πρώτα ένα απλό κλικ πάνω στην περιοχή πλέγματος του τμήματος που θα διαγραφεί και στη συνέχεια επιλέγοντας Διαγραφή τμήματος από τις Ιδιότητες τμήματος.
Προσθήκη Πεδίων
Μπορούν να προστεθούν πεδία που υπάρχουν στη βάση δεδομένων και πεδία που δεν υπάρχουν σε βάση και θα χρησιμοποιηθούν απλώς ως κείμενο ή για να εισαχθούν εκφράσεις.
Η προσθήκη πεδίων που δεν υπάρχουν στη βάση δεδομένων γίνεται επιλέγοντας Προσθήκη πεδίου στις Ιδιότητες τμήματος και κάνοντας κλικ μέσα στην περιοχή του τμήματος, εκεί που θα τοποθετηθεί το πεδίο.
Η προσθήκη πεδίων της βάσης γίνεται με τη μέθοδο drag and drop. Ο χρήστης επιλέγει το πεδίο από τα διαθέσιμα ή συχνά χρησιμοποιούμενα πεδία με αριστερό κλικ, πατώντας ξανά το αριστερό κλικ του ποντικιού και κρατώντας το συνεχώς πατημένο, σέρνει το ποντίκι μέχρι το σημείο που θα τοποθετήσει το πεδίο και το αφήνει.
Έτσι, στο παράδειγμα του τιμολογίου πώλησης, στο τμήμα της επικεφαλίδας μπορούν να προστεθούν τα πεδία επωνυμία της εταιρίας, διεύθυνση, τηλέφωνο κ.α., ο τίτλος του παραστατικού, ο κωδικός, το όνομα πελάτη κτλ., στο τμήμα των γραμμών ο κωδικός του προϊόντος, η περιγραφή, η ποσότητα, η τιμή κτλ. και στο τμήμα του υποσέλιδου ομάδας η συνολική αξία, η αξία ΦΠΑ, η αξία έκπτωσης κτλ.
Αν η σχεδίαση γίνεται με τη βοήθεια αρχείου εικόνας, προστίθενται τα επιθυμητά πεδία και τοποθετούνται στις ανάλογες θέσεις όπως υποδεικνύεται από την εικόνα.
Αφού προστεθούν όλα τα πεδία, μπορεί να μεταβληθεί το μέγεθός τους, έτσι ώστε να καταλαμβάνουν όσες θέσεις χαρακτήρων χρειάζεται, σέρνοντας το δείκτη του ποντικιού πάνω στο πεδίο μέχρι να πάρει τη μορφή
.
Ιδιότητες πεδίων
Ο προσδιορισμός των ιδιοτήτων του κάθε πεδίου γίνεται επιλέγοντας το αντίστοιχο Tab με τίτλο ‘Πεδίο’ ή κάνοντας ένα απλό κλικ πάνω στην περιοχή ενός πεδίου στην περιοχή του πλέγματος.
Διαγραφή πεδίων
Η διαγραφή ενός πεδίου γίνεται κάνοντας πρώτα ένα απλό κλικ πάνω στο πεδίο που θα διαγραφεί και στη συνέχεια επιλέγοντας Διαγραφή πεδίου από τις Ιδιότητες πεδίου ή απλά με το πλήκτρο delete.
Προσθήκη Υποσελίδων
Η προσθήκη υποσελίδων γίνεται επιλέγοντας Προσθήκη Υποσελίδας από τις Ιδιότητες τμήματος της φόρμας ή μιας υπάρχουσας υποσελίδας με κλικ μέσα στην περιοχή του τμήματος, στο οποίο θα τοποθετηθεί η υποσελίδα.
Ιδιότητες υποσελίδων
Ο προσδιορισμός του τίτλου της υποσελίδας γίνεται επιλέγοντας το αντίστοιχο Tab με τίτλο «Πεδίο» κάτω δεξιά ή κάνοντας ένα απλό κλικ πάνω στην περιοχή του πεδίου-υποσελίδας της φόρμας στην περιοχή του πλέγματος και πληκτρολογώντας τον τίτλο στο πεδίο με τίτλο Κείμενο πεδίου.
Επίσης, μπορεί να μεταβληθεί το μέγεθός της, ώστε να καταλαμβάνει όσες θέσεις χαρακτήρων χρειάζεται σέρνοντας το δείκτη του ποντικιού πάνω στο πεδίο-υποσελίδα μέχρι να πάρει τη μορφή
.
Η προσθήκη τμημάτων, πεδίων και υποσελίδων στην υποσελίδα και ο προσδιορισμός των ιδιοτήτων τους γίνεται από το Tab με τίτλο το όνομα της υποσελίδας.
Διαγραφή υποσελίδων
Η διαγραφή μιας υποσελίδας γίνεται κάνοντας πρώτα ένα απλό κλικ πάνω στο πεδίο που θα διαγραφεί και στη συνέχεια επιλέγοντας Διαγραφή πεδίου από τις Ιδιότητες πεδίου ή απλά επιλέγοντας το πλήκτρο delete.
Ομαδοποίηση Γραμμών
Αρχικά επιλέγουμε το τμήμα στο οποίο θέλουμε ομαδοποίηση (έχει νόημα σε τμήματα με πάνω από μια γραμμές).
Στη συνέχεια ορίζουμε για κάθε πεδίο, τη συνάρτηση που θα χρησιμοποιηθεί.
Τα πεδία, με βάση τις τιμές των οποίων, θέλουμε να γίνει η ομαδοποίηση (π.χ. ομάδα, κωδικός, περιγραφή, κατηγορία Φ.Π.Α.) πρέπει να έχουν ως συνάρτηση την ομαδοποίηση,
ενώ τα υπόλοιπα πεδία μπορούν να έχουν τις συναρτήσεις άθροισμα, μέσον όρο κλπ.
Στο παράδειγμα που ακολουθεί, φαίνεται η εκτύπωση ενός παραστατικού χωρίς ομαδοποίηση και η εκτύπωση του ίδιου παραστατικού με ομαδοποίηση στον κωδικό είδους, όπου στο πεδίο ποσότητα, έχει οριστεί η συνάρτηση απαρίθμηση στο πεδίο τιμή, η συνάρτηση μέσος όρος και στο πεδίο Αξία, η συνάρτηση άθροισμα.
Αποθήκευση Φόρμας Εκτύπωσης
Η αποθήκευση μιας νέας φόρμας γίνεται επιλέγοντας Αποθήκευση από την κεντρική toolbar. Από το παράθυρο διαλόγου που εμφανίζεται, η φόρμα πρέπει να αποθηκευτεί στον φάκελο της εφαρμογής CSPrintForms και σε κατάλληλο υποφάκελο που θα αντιστοιχεί στην οντότητα που επιλέξαμε να κατασκευάσουμε την φόρμα, π.χ. ‘Trade’ για παραστατικό εμπορικών συναλλαγών.
Δήλωση Φόρμας Εκτύπωσης στην Εφαρμογή
Η δήλωση μιας φόρμας εκτύπωσης στην εφαρμογή γίνεται
Αν πρόκειται για παραστατικό, μέσα στην παραμετροποίηση της σειράς παραστατικού του σχετικού τύπου παραστατικού, στη σελίδα «εκτύπωση-αλληλογραφία».
Αν πρόκειται για θέμα (CRM, Service κλπ.), μέσα στον τύπο θέματος, στη σελίδα «Φόρμες εκτύπωσης».
Ρυθμίσεις Σειράς Παραστατικού για Εκτύπωση σε Φόρμα
Στη σελίδα «Εκτύπωση-αλληλογραφία» των σειρών παραστατικών, υπάρχουν διάφορες ρυθμίσεις για την εκτύπωση που θα πρέπει να καθοριστούν:
Τρόπος κλήσης : Επιλέγεται αν η εκτύπωση θα γίνεται:
Άμεσα : Η εκτύπωση της φόρμας εκτύπωσης θα ξεκινά αυτόματα μόλις αποθηκευτεί ένα νέο παραστατικό αυτής της σειράς.
Με ερώτηση : Θα εμφανίζεται ερώτημα προς το χρήστη αν θέλει να εκτυπωθεί η φόρμα εκτύπωσης μόλις αποθηκευτεί ένα νέο παραστατικό αυτής της σειράς.
Όχι : Δεν θα γίνεται εκτύπωση της φόρμας εκτύπωσης όταν αποθηκευτεί ένα νέο παραστατικό αυτής της σειράς. Η εκτύπωση θα γίνεται μόνο κατ’ επιλογή του χρήστη.
Μέσο εκτύπωσης: Επιλέγεται ποιος από τους διαθέσιμους εκτυπωτές θα αναλάβει το ρόλο εκτύπωσης της φόρμας.
Προσοχή : Στη λίστα εκτυπωτών εμφανίζονται μονάχα οι διαθέσιμοι εκτυπωτές του τερματικού στο οποίο παραμετροποιούμε τη σειρά παραστατικού. Εάν δηλώσουμε ένα τοπικό εκτυπωτή ο οποίος δεν υπάρχει στα υπόλοιπα τερματικά της εγκατάστασης, κατά τη διαδικασία εκτύπωσης θα λάβουμε μήνυμα λάθους ‘Δεν βρέθηκε το μέσο εκτύπωσης….’.
Σετ εντολών: Επιλέγεται το σετ εντολών που υποστηρίζει η συγκεκριμένη μάρκα εκτυπωτή.
Φόρμα εκτύπωσης: Επιλέγεται το όνομα της φόρμας που θα εκτυπωθεί.
Σημείωση : Ανάλογα με την κλάση του τύπου παραστατικού που ανήκει η σειρά παραστατικού, εμφανίζονται και οι διαθέσιμες προς επιλογή φόρμες εκτύπωσης. Οι προς επιλογή φόρμες αντιστοιχούν στα xml αρχεία των φορμών εκτύπωσης του κατάλληλου υποφακέλου του φακέλου CSPrintForms, του τερματικού στο οποίο παραμετροποιούμε τη σειρά παραστατικού. Δηλαδή, σε μια σειρά Χ του τύπου παραστατικού ΤΔΑ, οι προς επιλογή φόρμες εκτύπωσης είναι τα xml αρχεία του φακέλου CSPrintForms\Trade (ή αντιστοίχως Cash, Stock, Adjustment για τις υπόλοιπες 3 κλάσεις).
Αν δηλώσουμε μια φόρμα εκτύπωσης η οποία δεν υπάρχει στα υπόλοιπα τερματικά της εγκατάστασης, κατά τη διαδικασία εκτύπωσης θα λάβουμε μήνυμα λάθους ‘Δεν βρέθηκε η φόρμα εκτύπωσης….’
Σετ χαρακτήρων : Υπάρχουν οι επιλογές ‘ANSI’, αν οι χαρακτήρες του κειμένου είναι τύπου ANSI και ‘OEM’, αν οι χαρακτήρες δεν είναι τύπου ANSI ώστε να μετατραπούν σε ANSI και να τους αναγνωρίσει ο εκτυπωτής.
Πλήθος αντιγράφων : Επιλέγεται ο αριθμός των αντιγράφων της φόρμας εκτύπωσης που θα εκτυπωθούν.
Συνθήκη εκτύπωσης : Επιλέγοντας το εικονίδιο
, εμφανίζεται το παράθυρο του διαχειριστή εκφράσεων, στον οποίο έχουμε τη δυνατότητα να συγγράψουμε μια έκφραση. Η έκφραση που θα συντάξουμε χρησιμοποιείται για να ελέγξουμε την εκτύπωση της φόρμας εκτύπωσης. Εάν το αποτέλεσμα της έκφρασης είναι true, τότε η φόρμα εκτύπωσης θα εκτυπωθεί, διαφορετικά δεν θα εκτυπωθεί καθόλου.
Χρησιμεύει σε περιπτώσεις που προηγείται κάποιος έλεγχος/έγκριση πριν την τελική εκτύπωση. Συνήθως δεν αφορά επίσημα παραστατικά, αλλά περιπτώσεις π.χ. παραγγελιών που προωθούνται προς ετοιμασία/φόρτωση.
- Εντολές
Συγκεντρωτικός πίνακας σετ εντολών και γραφικών φορμών εκτύπωσης
| Χαρακτηριστικά / Σετ εντολών | Win Print |
|
|---|---|---|
| Εκτύπωση γραμμής (σχήμα) | ΝΑΙ | ΟΧΙ |
| Εκτύπωση πλαισίου (σχήμα) | ΝΑΙ | ΝΑΙ |
| Εκτύπωση εικόνας πλαισίου | ΝΑΙ | ΝΑΙ |
| Ταυτόχρονη εκτύπωση πλαισίου και πεδίων | ΝΑΙ | ΟΧΙ |
| Εκτύπωση γραμμών ως πίνακα | ΟΧΙ | ΝΑΙ |
| Εκτύπωση αντιτύπων | ΝΑΙ | ΟΧΙ |
Ιδιαίτερα για το τμήμα των γραμμών, η συμπεριφορά είναι η ακόλουθη:
|
|
|
|
|---|---|---|---|
|
|
|
Εκτυπώνονται τα σχήματα μέχρι την τελευταία εκτυπώσιμη γραμμή |
|
|
|
Εκτυπώνονται τα σχήματα μέχρι το τέλος του τμήματος |
|
|
|
Εκτυπώνονται τα σχήματα όπως ακριβώς ορίστηκαν ανά σετ ενεργών γραμμών, μέχρι το τέλος του τμήματος |
|
|
|
Εκτυπώνονται τα σχήματα όπως ακριβώς ορίστηκαν ανά σετ ενεργών γραμμών (grid effect alternative rows). Δεν αναγνωρίζονται οι γραμμές που εκτυπώνονται, ώστε να εκτυπωθούν τα σχήματα που ανήκουν στη γραμμή αυτή, μέχρι την τελευταία εκτυπώσιμη γραμμή. |
|
|
|
Αγνοούνται |
Τα σχήματα δεν υποστηρίζονται σε υποσελίδες, άρα δεν πρέπει να χρησιμοποιούνται σε συνδυασμό με αυτές.
- Advanced παραμετροποίηση σειράς παραστατικού
- Εκτύπωση σε εκτυπωτές με διαφορετικό όνομα ανά τερματικό (client).
Στο «Μέσο εκτύπωσης» έχουμε τη δυνατότητα να δηλώσουμε μια comma-separated λίστα με εκτυπωτές. Τότε, κατά την εκτύπωση του παραστατικού χρησιμοποιείται ο πρώτος εκτυπωτής της λίστας που θα βρεθεί εγκατεστημένος στο σύστημα. Η δυνατότητα αυτή λύνει το πρόβλημα της ονομασίας των εκτυπωτών με διαφορετικό όνομα ανά client.
Εκτύπωση στον προκαθορισμένο εκτυπωτή του κάθε client
Στην περίπτωση που είναι επιθυμητή η χρήση του προκαθορισμένου εκτυπωτή του client, τότε στο μέσο εκτύπωσης μπορούμε να συμπληρώσουμε τον χαρακτηρισμό «DEF».
Εκτύπωση με ΕΡΩΤΗΣΗ στο χρήστη για το μέσο εκτύπωσης
Δηλώνοντας στο Μέσο εκτύπωσης της σειράς το χαρακτηρισμό «ASK», κατά την εκτύπωση εμφανίζεται διάλογος επιλογής εκτυπωτή από τους διαθέσιμους του client:
Εκτύπωση σε πάνω από μία ΦΟΡΜΕΣ
Στην παράμετρο Φόρμα εκτύπωσης έχουμε δυνατότητα να δηλώσουμε μια comma separated λίστα με φόρμες εκτύπωσης. Τότε, κατά την εκτύπωση του παραστατικού θα εκτυπωθούν όλες οι φόρμες εκτύπωσης της λίστας που δηλώσαμε.
Εκτύπωση σε ΠΟΛΛΑΠΛΑ ΜΕΣΑ ΕΚΤΥΠΩΣΗΣ βάσει ΠΟΛΛΑΠΛΩΝ (ισάριθμων) ΦΟΡΜΩΝ
Στο πεδίο «Μέσο εκτύπωσης» πρέπει να δηλώσουμε μια λίστα από ονόματα εκτυπωτών, διαχωρισμένων με ‘,’. Η λίστα θα πρέπει να ξεκινάει με τη λέξη ‘multi’.
Για να καθοριστεί η δυνατότητα επανεκτύπωσης σε κάθε εκτυπωτή, θα προσθέσουμε στο τέλος του ονόματος κάθε εκτυπωτή ένα ’|’ ακολουθούμενο από το ‘0’ αν επιτρέπεται επανεκτύπωση ή το ‘1’ αν ΟΧΙ.
Για παράδειγμα, για εκτύπωση σε 2 δικτυακούς εκτυπωτές πρέπει να ορίσουμε:
multi \\SRV999\HP Laser Jet 1320 PCL 6|0,\\SRV999\HP Officejet 7300 series|1
Αν θέλουμε να τυπώνουμε και σε ASCII «εκτυπωτή», θα πρέπει να είναι 1ος στη λίστα των εκτυπωτών.
Στο πεδίο «Σετ εντολών» πρέπει υποχρεωτικά να δηλώσουμε το σετ εντολών που θα χρησιμοποιήσει κάθε εκτυπωτής της προηγούμενης λίστας εκτυπωτών. Η λίστα των σετ εντολών πάλι πρέπει να διαχωρίζεται με ‘,’.
Στο παραπάνω παράδειγμα πρέπει να γράψουμε:
WinPrint,WinPrint
Στο πεδίο «Φόρμα εκτύπωσης» πρέπει να δώσουμε μια διαχωριζόμενη με ‘,’ λίστα των φορμών που θα εκτυπώσει κάθε εκτυπωτής της λίστας των εκτυπωτών. Πάλι πρέπει να δηλωθούν φόρμες εκτύπωσης για όλους τους εκτυπωτές της λίστας.
Στο παράδειγμά μας πρέπει να γράψουμε:
APL_A5_ES,TDA_ES
Συμβουλές για Αποδοτική Χρήση του Εργαλείου
Βοηθητική εκτύπωση στο χαρτί της φόρμας πριν τη σάρωση του
Αφού τοποθετηθεί το χαρτί της φόρμας στη μηδενική θέση του εκτυπωτή, καλό είναι να εκτυπωθούν μερικοί χαρακτήρες οριζόντια και κάθετα για να βεβαιωθεί ο χρήστης ότι έχει τοποθετηθεί το χαρτί στη σωστή θέση στον εκτυπωτή. Δηλαδή, γίνεται έλεγχος αν έχει γίνει ευθυγράμμιση.
Προ-επεξεργασία του αρχείου εικόνας (crop) & σωστή μέτρηση των διαστάσεων της σαρωμένης εικόνας
Αφού γίνει σάρωση του εκτυπωμένου χαρτιού και αποθηκευτεί ως εικόνα, πρέπει να γίνει προ-επεξεργασία της εικόνας (crop) ώστε να επιλεγεί μια μετρήσιμη περιοχή. Στη συνέχεια γίνεται μέτρηση του πλάτους και του ύψους του χαρτιού, δηλαδή της μετρήσιμης περιοχής που επιλέχθηκε, σε χιλιοστά ή ίντσες (π.χ. με ένα χάρακα) και γίνεται αποθήκευση της επεξεργασμένης εικόνας.
Αρχική τοποθέτηση της εικόνας ώστε να συμπίπτει με την αρχική θέση του εκτυπωτή
Αφού εισαχθεί η προ-επεξεργασμένη εικόνα στη φόρμα εκτύπωσης, εισάγεται η μονάδα μέτρησης, το ύψος και το πλάτος του χαρτιού όπως μετρήθηκαν παραπάνω και γίνεται στροφή εικόνας αν χρειάζεται. Τώρα μπορεί να γίνει έλεγχος αν ο 1ος χαρακτήρας που τυπώνει ο εκτυπωτής συμπίπτει με τον 1ο χαρακτήρα της φόρμας εκτύπωσης (συντεταγμένες 0-0). Αν δεν συμπίπτουν, πρέπει να γίνει οριζόντια και κάθετη μετακίνηση της εικόνας, ώστε να συμπίπτουν. Πρέπει να προσέξουμε οι χαρακτήρες να είναι κανονικού μεγέθους (10cpi).
Επιλέξτε το πλάτος των χαρακτήρων του τμήματος πριν αρχίσετε να βάζετε πεδία σε αυτό
Καλό είναι να οριστεί το πλάτος των χαρακτήρων του τμήματος δηλαδή οι «Χαρακτήρες οριζόντια» πριν αρχίσει η προσθήκη πεδίων, γιατί αλλιώς, θα χρειαστεί να επαναπροσδιοριστεί το μέγεθός τους. Αν π.χ. ένα πεδίο έχει μήκος 10 χαρακτήρες με πλάτος ‘Κανονικό (10cpi)’ όταν μειωθεί το πλάτος σε ‘Συμπιεσμένο (17cpi)’ τότε το μήκος του θα γίνει 17 χαρακτήρες δηλαδή θα μεγαλώσει (κι ας φαίνεται οπτικά το ίδιο).
Ελέγξτε τον χαρακτηρισμό του τμήματος
Ελέγξτε τον τύπο (επικεφαλίδα, υποσέλιδο κτλ) του κάθε τμήματος της φόρμας.
Δεν επιτρέπεται να υπάρχουν δύο τμήματα ίδιου τύπου στην ίδια φόρμα.
Εκ μεταφοράς πεδία σε πολυσέλιδα παραστατικά
Αν υπάρχουν πεδία που περιέχουν αξίες και ειδικά τα σύνολα, τα αναλυτικά υπόλοιπα κτλ και αναμένεται ότι δεν θα χωρέσουν σε μια σελίδα, καλό είναι να επιλέξετε Εκ μεταφοράς υπόλοιπο για να μεταφέρετε το μέχρι τότε σύνολο ή υπόλοιπο στην επόμενη σελίδα.
Φόρμες Εκτύπωσης με το Εργαλείο Κατασκευής Αναφορών
Όταν οι απαιτήσεις διαμόρφωσης μιας εκτύπωσης οντότητας σε φόρμα είναι υψηλές, το εργαλείο Κατασκευής Αναφορών που ήδη εξετάστηκε, είναι καταλληλότερο για την κατασκευή της φόρμας. Για να το χρησιμοποιήσουμε, επιλέγουμε την «Κατασκευή φορμών advanced» από Εργαλεία/Εργασίες Προσθετικής Ανάπτυξης.
Το ίδιο εργαλείο καλείται και από τη γραμμή εργαλείων των οθονών παραστατικών, από την επιλογή «Σχεδίαση φορμών»
ΣΥΝΙΣΤΑΤΑΙ αυτός, ο 2ος τρόπος κλήσης της λειτουργίας σχεδιασμού φορμών, ο οποίος απαιτεί να έχετε ανακτήσει ένα ήδη αποθηκευμένο παραστατικό.
ΕΧΕΙ ΤΟ ΠΛΕΟΝΕΚΤΗΜΑ ότι, κατά τη σχεδίαση, θα είναι δυνατή η άμεση προεπισκόπηση της σχεδιαζόμενης φόρμας ΜΕ ΔΕΔΟΜΕΝΑ.
Στην οθόνη που εμφανίζεται στη συνέχεια, μπορούμε να επιλέξουμε τη δημιουργία νέας αναφοράς ή τη μεταβολή μιας ήδη υπάρχουσας, όπως φαίνεται παρακάτω:
Για να μπορέσουμε να χρησιμοποιήσουμε τη φόρμα εκτύπωσης που δημιουργήσαμε ή για να κάνουμε προεπισκόπηση της φόρμας εκτύπωσης, πρέπει να παραμετροποιήσουμε κατάλληλα τη σειρά παραστατικού που θα τη χρησιμοποιήσει. Συγκεκριμένα, στη σειρά, θα πρέπει να γίνει επιλογή της φόρμας εκτύπωσης.
Οι φόρμες που κατασκευάζονται με τη χρήση αυτού του εργαλείου έχουν όλες το πρόθεμα REPX.





























































