Templates

Σχεδίαση – Δυνατότητες Template

· Εισαγωγή κειμένου

Μια κατάσταση εκτός από αριθμούς, συνήθως περιέχει και κείμενο που επεξηγεί ή δημιουργεί τίτλους για τις στήλες με τους αριθμούς. Για να εισάγετε λοιπόν κείμενο μπορείτε να γράψετε όπου θέλετε μέσα στο template τις λέξεις που επιθυμείτε, ακριβώς στα σημεία που θέλετε να εμφανιστούν.

Μπορείτε ακόμη να χρησιμοποιήσετε το set γραφικών χαρακτήρων του υπολογιστή σας για να χωρίσετε στήλες, να υπογραμμίσετε τίτλους ή σύνολα και γενικά να διαμορφώσετε την εμφάνιση της κατάστασης που σχεδιάζετε. Αυτό γίνεται πατώντας [Ctrl+G] για να μπορείτε να γράψετε τους γραφικούς χαρακτήρες. Με πίεση των πλήκτρων [Ctrl+T] γυρίζετε πάλι στους κανονικούς χαρακτήρες.

Το πλήκτρο [Insert] έχει διπλή λειτουργία. Μπορεί να εισάγει δεδομένα ή πατώντας το ξανά να γράφει επάνω στα υπάρχοντα στο template δεδομένα (κείμενο ή αριθμούς κτλ).

Το πλήκτρο [Delete] διαγράφει τον χαρακτήρα που δείχνει ο cursor.

· Σύνδεση λίστας γραμμών – Template

Όπως ακριβώς στην εργασία [Οργάνωση – Παράμετροι – Φόρμες εκτύπωσης παραστατικών] χρησιμοποιείται μία λίστα γραμμών που συνδέεται με τη φόρμα του παραστατικού και κάθε πεδίο που εκτυπώνεται σε αυτό ορίζεται στη λίστα αυτή, έτσι και εδώ υπάρχει μία παρόμοια λίστα γραμμών όπου μπορείτε να καθορίσετε ποια πεδία θα εκτυπωθούν και με ποιο τρόπο στην κατάσταση, αλλά και να δημιουργήσετε συναρτήσεις, να χρησιμοποιήσετε έτοιμες συναρτήσεις του ΚΕΦΑΛΑΙΟY E.R.P., να πάρετε το αποτέλεσμα μιας γραμμής και να το χρησιμοποιήσετε σαν δεδομένο για μια άλλη και άλλες πολλές δυνατότητες που περιγράφονται στη συνέχεια.

Για να εκτυπωθεί κάποιο πεδίο στο template πρέπει να εισάγετε τον αριθμό κάποιας γραμμής της λίστας αυτής που εμφανίζεται με το [F2], μετά το σύμβολο “@” στο σημείο του template που επιθυμείτε π.χ. @25 που σημαίνει “τύπωσε όποιο πεδίο υπάρχει ή υπολογίζεται στη γραμμή 25”. Η γραμμή αυτή πρέπει να περιέχει ή να υπολογίζει, χρησιμοποιώντας ενδεχομένως κάποιες άλλες γραμμές, ή κάποιο πεδίο το οποίο επιθυμείτε να εμφανιστεί στην κατάσταση.

· Εισαγωγή αριθμών και δημιουργία σχολίου

Μπορείτε ακόμη να εισάγετε αριθμούς οπουδήποτε μέσα στο template, που θέλετε να εκτυπωθούν όπως έχουν, χωρίς καμία παραπέρα δυνατότητα χρησιμοποίησής τους από κάποια γραμμή ή συνάρτηση. Υπάρχει ακόμη ένας τρόπος εμφάνισης αριθμών μέσω των γραμμών στη λίστα γραμμών που θα περιγραφεί στη συνέχεια.

Εάν η γραμμή του template περιέχει τον χαρακτήρα “;” σε κάποιο σημείο αυτός δηλώνει να αγνοηθούν οι παρακάτω από αυτόν χαρακτήρες στη γραμμή αυτή, παίζοντας έτσι το ρόλο κάποιου σχόλιου ή σημείωσης.

· Αναφορά σε γραμμές μέσα στη λίστα γραμμών

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

Έτσι, το “@” χρησιμοποιείται για να αναφερθείτε, πάντα μέσα στη λίστα γραμμών, σε κάποια άλλη γραμμή που προηγείται. Εάν δηλαδή η γραμμή 1 υπολογίζει τον αριθμό 1000 και η γραμμή 5 έχει ως εξής: @1, τότε και η γραμμή 5 θα εκτυπώσει τον αριθμό 1000.

Το σύμβολο “@” δηλαδή εισάγει το αποτέλεσμα της γραμμής 1 στη γραμμή 5, ή αλλιώς στη γραμμή 5 υπάρχει μία αναφορά στο αποτέλεσμα της γραμμής 1. Η γραμμή 5 θα μπορούσε επίσης να είναι: @1+@2, να υπολογίζει δηλαδή το άθροισμα των γραμμών 1 και 2 με αναφορά στο αποτέλεσμα της γραμμής 1 και της γραμμής 2.

Πρέπει να επισημανθεί πως οι γραμμές της λίστας δεν αντιστοιχούν υποχρεωτικά σε κάποιες θέσεις εκτύπωσης, αλλά μπορεί κάποια γραμμή να χρησιμοποιείται σαν υπολογιστικός χώρος και μόνο. Εάν υπάρξει αναφορά από το template στη γραμμή, τότε θα εκτυπωθεί ότι υπολογίστηκε.

· Εισαγωγή αριθμών από λίστα γραμμών

Για να εισάγετε κάποιον αριθμό στο template ή να τον έχετε πρόχειρο για να τον χρησιμοποιήσετε και σε παρακάτω γραμμές της λίστας, μπορείτε να τον γράψετε σε μία γραμμή μόνο του.

Για παράδειγμα, η γραμμή 2 μπορεί να περιέχει τον αριθμό 145.984,00. Όπου από το template καλέσετε την γραμμή 1 για να εκτυπώσει το περιεχόμενό της (@1), τότε στην αντίστοιχη θέση του template θα εκτυπωθεί ο 145.984,00.

Εάν όμως σε κάποια άλλη γραμμή χρειάζεστε τον αριθμό αυτό, μπορείτε να αναφερθείτε στη γραμμή αυτή με το σύμβολο “@”, όπως είδαμε στην προηγούμενη δυνατότητα, δηλαδή η γραμμή 7 θα μπορούσε να είναι @2/2, να υπολογίζει δηλαδή το μισό του παραπάνω αριθμού.

· Εισαγωγή κειμένου από λίστα γραμμών

Παρόμοια με τους αριθμούς (δίπλα) μπορείτε να έχετε σε κάποια γραμμή κείμενο που χρειάζεστε συχνά στο template και για να μην το επαναλαμβάνετε στα διάφορα σημεία του template, μπορείτε να καλείτε τη συγκεκριμένη γραμμή από τη λίστα, όπου το έχετε καταχωρήσει. Για να γράψετε κείμενο σε κάποια γραμμή της λίστας πρέπει να χρησιμοποιήσετε το σύμβολο “ ” ” (δύο μονά quotes) ως πρώτο χαρακτήρα της γραμμής.

Για παράδειγμα, η γραμμή 17 θα μπορούσε να είναι:

“Αποτελέσματα ή ” ———————————— που θα χρησιμοποιηθεί για υπογράμμιση πεδίων κ.τ.λ.

Μια γραμμή κειμένου μπορεί να περιέχει οποιουσδήποτε χαρακτήρες. Έτσι στο template στο σημείο που θέλετε, κάνετε μια απλή αναφορά στη γραμμή αυτή, δηλαδή @17 και θα εκτυπωθούν οι χαρακτήρες που περιλαμβάνει η γραμμή αυτή (της λίστας γραμμών).

Κάθε γραμμή της λίστας γραμμών μπορεί να φιλοξενήσει 72 χαρακτήρες (κείμενο ή πράξεις κτλ).

· Αριθμητικές πράξεις

Μέσα στη λίστα γραμμών, όπως θα είδατε στα προηγούμενα παραδείγματά μας, μπορείτε να εκτελέσετε, μεταξύ άλλων, και τις 4 γνωστές πράξεις, όπως πρόσθεση με το “+”, αφαίρεση με το “-”, πολλαπλασιασμό με “*” και διαίρεση με “/”.

\Ακόμη έχετε στη διάθεσή σας το σύμβολο “^” που υπολογίζει το παραγοντικό κάποιου αριθμού.

Για παράδειγμα η γραμμή 15 μπορεί να είναι:

(@3+@6+@9+@12)/2

που αθροίζει τα αποτελέσματα που υπολογίζουν οι γραμμές 3, 6, 9 και 12 και διαιρεί το άθροισμα αυτό με το 2.

Οι παρενθέσεις έχουν προτεραιότητα και έξω από αυτές τηρείται η σειρά από αριστερά προς τα δεξιά. Ο πολλαπλασιασμός και η διαίρεση έχουν προτεραιότητα έναντι της πρόσθεσης και της αφαίρεσης.

Μια καλή συνήθεια είναι να χρησιμοποιείτε παρενθέσεις όπου είναι εύκολο, για να είστε σίγουροι ότι η παράσταση υπολογίζει πράγματι αυτό που θέλετε να υπολογίζει.

· Λογικές πράξεις

Μπορείτε να εκτελέσετε ορισμένες λογικές πράξεις μέσα στις γραμμές που είναι οι ακόλουθες, με τα παρακάτω σύμβολα:

> : μεγαλύτερος αριθμός από κάποιον άλλον π.χ. (@13>100000)

< : μικρότερος

>= : μεγαλύτερος ή ίσος αριθμός από κάποιον άλλον π.χ. (@9>=50000)

<= : μικρότερος ή ίσος

>> : πολύ μεγαλύτερος αριθμός από κάποιον άλλο (τουλάχιστον 100 φορές)

<< : πολύ μικρότερος

== : σχεδόν ίσος (διαφέρουν το πολύ 1%).

Τα σύμβολα αυτά πρέπει να υπάρχουν μεταξύ δύο αριθμών ή αποτελεσμάτων γραμμής που εκφράζονται π.χ. με το @10. Το αποτέλεσμα της λογικής πράξης είναι 1 (αληθές) όταν ισχύει η συνθήκη που θέσαμε και 0 (ψευδές) όταν δεν ισχύει. Στο πρώτο παράδειγμα της στήλης αυτής, εάν το αποτέλεσμα της γραμμής 13 (@13) είναι μεγαλύτερο από 100000, τότε η συνθήκη είναι αληθής και έχετε το αποτέλεσμα 1 (αληθές).

Μπορείτε έτσι να συγκρίνετε αποτελέσματα από διάφορες γραμμές και να χρησιμοποιήσετε το αποτέλεσμα για είσοδο σε άλλες γραμμές κ.τ.λ.

π.χ.  @[(@13>100000) + 15]

ανάλογα με το αποτέλεσμα της σύγκρισης θα μπει στη γραμμή 15 ή 16 της λίστας για να εκμεταλλευτεί το αποτέλεσμα ή να το τυπώσει.

· Δυαδικές πράξεις

Έχετε ακόμη στη διάθεσή σας δυαδικές πράξεις που μπορούν να συγκρίνουν δύο αποτελέσματα των λογικών πράξεων. Και αυτές εκφράζουν το αποτέλεσμα της σύγκρισης με 1 (αληθές) και 0 (ψευδές). Χρησιμοποιούνται οι παρακάτω τελεστές:

.ΑΝD.: Πρόσθεση δύο λογικών αποτελεσμάτων: πρέπει και τα δύο να είναι αληθή (1) για να έχετε αληθές (1) αποτέλεσμα.

R. : Διάζευξη δύο λογικών αποτελεσμάτων: εάν ένα από τα δύο είναι αληθές (1) ή και τα δύο είναι αληθή (1), τότε το αποτέλεσμα είναι αληθές (1).

.ΧΟR. : Αποκλειστική διάζευξη δύο αποτελεσμάτων: εάν ένα και μόνο ένα είναι αληθές (1), τότε έχετε αληθές (1) αποτέλεσμα. Εάν και τα δύο είναι αληθή (1),το αποτέλεσμα είναι ψευδές (0).

.ΝΟΤ. : αντιστροφή ενός αποτελέσματος: εάν το αποτέλεσμα είναι 0 (ψευδές) γίνεται 1 (αληθές) και εάν είναι 1 γίνεται 0.

Παράδειγμα:

(@1=1000).ΑΝD.(@2=450)

Το αποτέλεσμα θα είναι αληθές εάν η γραμμή 1 δίνει αποτέλεσμα 1000 και η γραμμή 2 δίνει 450. Σε κάθε άλλη περίπτωση θα είναι 0.

· Εισαγωγή πεδίων από αρχεία

Τα templates σχεδιάστηκαν έτσι ώστε να μπορείτε να αντλήσετε πληροφορίες από τα αρχεία και να τις ενσωματώσετε με απλό τρόπο στην κατάσταση που σχεδιάζετε. Αυτό γίνεται με τη χρήση του σύμβολου “\”. Μέσα στις κάθετους (\) μπορείτε να εισάγετε τον κωδικό αριθμό που σας ενδιαφέρει και δίπλα του το πεδίο που θέλετε.

Τα πεδία και οι αριθμοί τους εμφανίζονται με τη χρήση του πλήκτρου F6. Το ΚΕΦΑΛΑΙΟ E.R.P. θα βρει το ζητούμενο κωδικό και θα σας φέρει την τιμή του πεδίου που ζητήσατε. Έτσι εάν ζητηθεί κάπου μέσα στο template εκτύπωση της συγκεκριμένης γραμμής, θα εκτυπωθεί η τιμή του πεδίου, έτσι όπως αντλήθηκε απ’ το αρχείο. Για παράδειγμα, η γραμμή 1 μπορεί να είναι: \38, 9\ και υπολογίζει την τιμή του πεδίου 9 που είναι η χρέωση χρήσεως του λογαριασμού 38 που είναι τα χρηματικά διαθέσιμα.

Είναι βέβαια δυνατή η χρήση όλων των πράξεων μεταξύ αριθμητικών τιμών (όχι για τα πεδία 1-7) που υπολογίζονται με αυτόν τον τρόπο π.χ.. \38,9\ + \38,8\ (πρόσθεση δύο πεδίων (8 και 9, χρέωση απογραφής και χρήσεως) του ίδιου λογαριασμού (38)). Με τον τρόπο αυτό μπορείτε να εισάγετε στο template οποιοδήποτε πεδίο οποιουδήποτε κωδικού στο αρχείο.

· Χρήση Masking στην εισαγωγή πεδίων από αρχεία

Όπως χρησιμοποιείτε το masking για να περιορίσετε μια προβολή ή να συμπεριλάβετε κάποιους κωδικούς, έτσι μπορείτε και εδώ να χρησιμοποιήσετε μάσκες κωδικών για να συμπεριλάβετε όλους τους κωδικούς που σας ενδιαφέρουν, σε κάποια γραμμή.

.

Έτσι, π.χ. κάποια γραμμή που περιέχει τα:

\38=======, 8\

Συγκεντρώνει (αθροίζει) από όλους τους λογαριασμούς που αρχίζουν από 38, το πεδίο 8 χρέωση χρήσεως.

Παρόμοια μια άλλη γραμμή με περιεχόμενο:

\38-01-===, 11\ + \54=======, 11\

υπολογίζει το άθροισμα του πεδίου 11 Πίστωση χρήσεως των λογαριασμών που αρχίζουν από 38-01 και προσθέτει σε αυτό το άθροισμα του ίδιου πεδίου των λογαριασμών που αρχίζουν από 54.

Ειδικά για την περίπτωση που εφαρμόζεται masking για τα πεδία 1-7(αλφαριθμητικά) το ΚΕΦΑΛΑΙΟ E.R.P. θα εκτυπώσει όλα τα πεδία που πληρούν την προϋπόθεση επιλογής, το ένα δίπλα στο άλλο.

· Απευθείας αναφορά σε πεδίο

Οι δυνατότητες 10 και 11 επιτρέπουν την εισαγωγή πεδίων από αρχεία, συγκεντρώνοντας, εάν θέλετε, κάποιο πεδίο ορισμένων κωδικών.

Εάν θέλετε κάποιο πεδίο (που το χρησιμοποιείτε μέσα σε κάποιο μέρος επανάληψης), μπορείτε να χρησιμοποιήσετε το σύμβολο “&” και δίπλα του τον αριθμό του πεδίου.

Για παράδειγμα, εάν έχετε σε μια γραμμή της λίστας (την οποία χρησιμοποιείτε σε κάποιο μέρος επανάληψης) &9, η γραμμή αυτή θα περιέχει, κάθε φορά, το πεδίο με αριθμό 9 (χρέωση χρήσης), για όλους τους κωδικούς λογαριασμών που περιλαμβάνονται στο μέρος επανάληψης, όπως ορίζεται από τη μάσκα επανάληψης (δείτε τη δυνατότητα 26 που ακολουθεί).

Το ίδιο ακριβώς αποτέλεσμα θα είχατε και εάν εισάγετε \, 9\, αφήνοντας δηλαδή κενό το χώρο (αριστερά από το κόμμα) όπου κανονικά θα βάζατε την επιλογή κωδικών για το masking.

· Εισαγωγή πεδίων από άλλα αρχεία

Μπορείτε ακόμη να εισάγετε πεδία από άλλα αρχεία που δημιουργούνται με τα άλλα προγράμματα του ΚΕΦΑΛΑΙΟY E.R.P. Εκτός δηλαδή από τα στοιχεία του αρχείου των λογαριασμών (εάν είστε βέβαια στο πρόγραμμα της Λογιστικής), μπορείτε να ενσωματώσετε στο template στοιχεία από τα αρχεία αποθήκης, πελατών κ.τ.λ.

Αυτό γίνεται με τον ίδιο τρόπο, όπως και για το αρχείο των λογαριασμών. Για να αναφερθείτε όμως σε κάποιο άλλο αρχείο, πρέπει να χρησιμοποιήσετε και το σύμβολο “^” μετά από το σύμβολο “\”, σε συνδυασμό με το χαρακτηριστικό του αρχείου που επιθυμείτε. Αυτά είναι:

g για το αρχείο γενικής λογιστικής,

s για το αρχείο ειδών αποθήκης,

c για το αρχείο πελατών και

p για το αρχείο προμηθευτών.

.

Παράδειγμα:

\^s,S23-==-==, 36\

η γραμμή αυτή αθροίζει το πεδίο 36 που είναι η ποσότητα απογραφής, από όλα τα είδη της ομάδας S23.

Ένα ακόμη παράδειγμα ακολουθεί:

\^c,0-000..1-999, 45\ όπου για ορισμένους πελάτες αθροίζεται το πεδίο 45 (τζίρος).

Ακόμη μπορείτε να ορίσετε σαν μάσκα κωδικού ένα πεδίο του αρχείου το οποίο χρησιμοποιείτε π.χ. εάν είσαστε στην αποθήκη και θέλετε σε μία κατάσταση να εμφανίσετε την επωνυμία του προμηθευτή για το συγκεκριμένο είδος πρέπει να γράψετε \^p,819,2\ το οποίο σημαίνει: από το αρχείο προμηθευτών (p) φέρε την επωνυμία (2) του προμηθευτή (&19 – κωδικός προμηθευτή είδους).

.

Ακόμη υπάρχει η δυνατότητα στην προηγούμενη σύνταξη εάν προστεθεί “\^χχχ,” να γίνει αναζήτηση από την αντίστοιχη εταιρία (χχχ).

.

Παράδειγμα:

\ ^010,^s,S23-==-==, 36\

η γραμμή αυτή αθροίζει το πεδίο 36 που είναι η ποσότητα απογραφής, από όλα τα είδη της ομάδας S23 της εταιρίας 010.

· Σειριακό άθροισμα πεδίων λογαριασμών

Για να συγκεντρώσετε κάποιο πεδίο από λογαριασμούς που βρίσκονται στη σειρά μπορείτε να χρησιμοποιήσετε αυτή τη δυνατότητα.

Εάν π.χ. θέλετε το άθροισμα του πεδίου 8 Χρέωση χρήσεως των λογαριασμών από

38-00 έως

40-02-019

θα χρησιμοποιήσετε τον παρακάτω συμβολισμό σε κάποια γραμμή της λίστας γραμμών:

\38-00..40-02-019,8\

Εισάγετε δηλαδή το όνομα του λογαριασμού “από”, μετά το σύμβολο σειριακού αθροίσματος που είναι .. (δύο τελείες) και μετά τον λογαριασμό “έως”.

· Σειριακό άθροισμα γραμμών λίστας

Παρόμοια με την προηγούμενη δυνατότητα, μπορείτε να αθροίσετε σε μία γραμμή της λίστας κάποιες άλλες γραμμές που βρίσκονται στη σειρά.

Εάν δηλαδή οι γραμμές 1 έως 5 δίνουν κάποια χρήσιμα αποτελέσματα μπορείτε να τα αθροίσετε σε κάποια άλλη γραμμή π.χ. 10 με το γνωστό σύμβολο (..) π.χ.. @1..@5.

Τώρα η γραμμή 10 περιέχει το άθροισμα των αποτελεσμάτων που υπολογίζουν οι 5 πρώτες γραμμές 1-5.

· Συναρτήσεις

Μια σημαντική δυνατότητα είναι αυτή της δημιουργίας και κλήσης συναρτήσεων. Εάν π.χ. χρειάζεστε κάποιον υπολογισμό αρκετές φορές μέσα στο template μπορείτε να φτιάξετε μία συνάρτηση που να υπολογίζει τη συγκεκριμένη πράξη, κάθε φορά με τις τιμές που θέλετε, δίνοντας δηλαδή νέες τιμές στις παραμέτρους της.

Ένα πολύ απλό παράδειγμα συνάρτησης είναι η: χ + ψ. Για κάθε διαφορετική τιμή που δίνετε στις παραμέτρους χ και ψ έχετε και διαφορετικό αποτέλεσμα.

Μερικές ενσωματωμένες (built-in) συναρτήσεις στα templates είναι οι:

max (): η συνάρτηση αυτή επιστρέφει τη μεγαλύτερη τιμή από αυτές που θα εισάγετε στην παρένθεση.

min (): η συνάρτηση αυτή επιστρέφει τη μικρότερη τιμή.

avg (): η συνάρτηση αυτή (average) υπολογίζει και επιστρέφει το μέσο όρο των τιμών που θα “περαστούν” σε αυτή, μέσα στην παρένθεση.

Υπενθυμίζεται πως μπορείτε να έχετε έμμεση αναφορά, όπως για παράδειγμα στη συνάρτηση avg (@5, @6) (μέσος όρος αποτελεσμάτων γραμμών 5 και 6). Στη συνέχεια περιγράφεται ο τρόπος που εισάγεται μια συνάρτηση στη λίστα γραμμών.

· Ορισμός συνάρτησης

Μια συνάρτηση εισάγεται σε κάποια γραμμή της λίστας γραμμών όπως και ένας κοινός υπολογισμός. Η διαφορά που κάνει τη γραμμή να είναι συνάρτηση είναι ότι μπορεί να περιέχει το σύμβολο “%” που ορίζει παράμετρο (όπως τα χ και ψ στο προηγούμενο παράδειγμα). Το σύμβολο αυτό πρέπει να ακολουθεί κάποιος αριθμός που δηλώνει ποια παράμετρος της ίδιας συνάρτησης είναι αυτή (π.χ. %1, %2 κ.τ.λ.).

Ένα απλό παράδειγμα εισαγωγής συνάρτησης σε κάποια γραμμή είναι το: (%1 + %2) / 12

Αυτή η συνάρτηση προσθέτει τις τιμές που θα “περαστούν” στις παραμέτρους 1 και 2 και διαιρεί το αποτέλεσμα με το 12. Εάν δηλαδή κληθεί η συνάρτηση αυτή με τις τιμές 1000 και 5000 αντίστοιχα, είναι σαν να είχε γραφτεί στη γραμμή ο υπολογισμός: (1000 + 5000) / 12, που δίνει το αποτέλεσμα 500.

Η χρησιμότητα της συνάρτησης φαίνεται στο γεγονός ότι μπορεί πολλές φορές να χρειάζεται ένας τέτοιος υπολογισμός (πρόσθεση δύο αριθμών και διαίρεση με το 12) οπότε εισάγετε τη συνάρτηση και την καλείτε με τις τιμές που θέλετε από οποιοδήποτε άλλο σημείο της λίστας γραμμών θέλετε, με το δίπλα τρόπο.

· Κλήση συνάρτησης

Εάν στη γραμμή 10 υπάρχει η συνάρτηση: (%1 + %2) * (%3 + %4) που δηλώνει δύο αθροίσματα πολλαπλασιαζόμενα μεταξύ τους, μια γραμμή παρακάτω (π.χ. 50) μπορεί να καλεί την συνάρτηση αυτή ως εξής:

$@10 (1000, 4500, 2545, 7800).

Το σύμβολο “$” δηλώνει κλήση συνάρτησης και ακολουθεί ο αριθμός της γραμμής που βρίσκεται η συνάρτηση δηλαδή εδώ η γραμμή 10. Θυμηθείτε ακόμη τη δυνατότητα 10 για έμμεση αναφορά με τις αγκύλες, σε κάποια γραμμή π.χ. $@[5+@8] όπου καλούμε τη συνάρτηση που είναι στη γραμμή [5 + αποτέλεσμα γραμμής 8]. Τον αριθμό της γραμμής που βρίσκεται η συνάρτηση ακολουθεί μία παρένθεση που περιέχει τις τιμές που περνάμε στις παραμέτρους της συνάρτησης %1 ως %4.

Στην παράμετρο %1 την τιμή 1000, στη %2 την τιμή 4500, στη %3 την τιμή 2545 και στη %4 την τιμή 7800. Έτσι η γραμμή 10 θα υπολογίσει την πράξη (1000+4500) *(2545+7800).

Το “*” μεταξύ των δύο αθροισμάτων σημαίνει “επί”. Το αποτέλεσμα της πράξης πηγαίνει στη γραμμή που καλεί τη συνάρτηση δηλαδή εδώ στην 50 που θα έχει την τιμή 56897500.

· Ενσωματωμένες συναρτήσεις στα Τemplates

Τα templates περιέχουν αρκετές ενσωματωμένες (builtin) συναρτήσεις που μπορείτε να καλείτε, χωρίς να χρειάζεται να τις δημιουργήσετε. Αναφέρθηκαν τρεις ενσωματωμένες συναρτήσεις μέχρι τώρα, τις max, min, και avg. Στη συνέχεια περιγράφονται πρώτα οι υπόλοιπες μαθηματικές (και τριγωνομετρικές) συναρτήσεις, που επιστρέφουν κάποιο αριθμητικό μέγεθος (αριθμό). Ο ακριβής τρόπος σύνταξης αναφέρεται στο δεύτερο μέρος της περιγραφής της εργασίας αυτής.

.

abs ( )  : επιστρέφει την απόλυτη τιμή του αριθμού στην παρένθεση

arctan ( )  : επιστρέφει τη συνεφαπτομένη του αριθμού (σε ακτίνια)

avg ( )  : επιστρέφει τo μέσο όρο των τιμών που περνιούνται

cos ( )  : επιστρέφει το συνημίτονο του αριθμού (σε ακτίνια)

count  : επιστρέφει τον αριθμό που δείχνει πόσες φορές επαναλήφθηκε κάποιο μέρος του template

exp ( )  : επιστρέφει τον αντίστροφο φυσικό λογάριθμο

fact ( )  : επιστρέφει το παραγοντικό του αριθμού

ln ( )    : επιστρέφει το φυσικό λογάριθμο

log ( )  : επιστρέφει το δεκαδικό λογάριθμο

min ( )  : επιστρέφει τη μικρότερη τιμή από αυτές που περνιούνται

max ( )  : επιστρέφει τη μεγαλύτερη τιμή από αυτές που περνιούνται

round ( )  : στρογγυλεύει το (δεκαδικό) αριθμό επιστρέφοντας τον πλησιέστερο του ακέραιο.

Επίσης, στρογγυλεύει έναν αριθμό ως προς τη δεύτερη παράμετρο (εάν περαστεί δεύτερη παράμετρος)

sqrt ( )  : επιστρέφει την τετραγωνική ρίζα του αριθμού

sqr ( )  : επιστρέφει το τετράγωνο

sin ( )  : επιστρέφει το ημίτονο του αριθμού (πρέπει να είναι σε ακτίνια)

sum ( )  : επιστρέφει το άθροισμα των πεδίων που περνιούνται σε αυτήν

trunc ( )  : επιστρέφει το ακέραιο μέρος ενός δεκαδικού αριθμού

val ( )  : επιστρέφει το αντίστοιχο αριθμητικό μέγεθος μιας σειράς χαρακτήρων (string)

.

Συναρτήσεις που δέχονται, ή / και επιστρέφουν, σειρές χαρακτήρων (strings) είναι οι:

.

str ( )  : επιστρέφει την αντίστοιχη σειρά χαρακτήρων ενός αριθμού

copy ( )  : επιστρέφει ορισμένους (σε αριθμό) χαρακτήρες μιας σειράς χαρακτήρων (string),

από συγκεκριμένη θέση του

insert ( )  : εισάγει ένα string μέσα σε κάποιο άλλο, σε συγκεκριμένη θέση

date    : επιστρέφει την τρέχουσα ημερομηνία

time    : επιστρέφει την ώρα

concat()  : συνενώνει δύο σειρές χαρακτήρων (strings) και επιστρέφει το νέο string που προκύπτει

incl ( )  : επιστρέφει 1 εάν ένα string περιέχεται σε ένα άλλο, αλλιώς 0

delete ( )  : διαγράφει ορισμένους χαρακτήρες από ένα string, αρχίζοντας από συγκεκριμένη θέση,

και επιστρέφει το νέο string που προκύπτει

match ( )  : επιστρέφει 1 εάν ένα string είναι ίδιο με κάποιο άλλο, αλλιώς 0

length ( )  : επιστρέφει το μέγεθος (σε χαρακτήρες) ενός string

.

Συνάρτηση που καλεί υπολογιστικό φύλλο του Spreadsheet:

.

Spread (string A string B):

StringA:   Το όνομα του φύλλου υπολογισμού Spreadsheet (Λογιστικό φύλλο)

StringB:   Το όνομα του κελιού (cell)

Επιστρέφει το αποτέλεσμα του λογιστικού φύλλου.

.

Συνάρτηση για εκτύπωση των πλήρη στοιχείων της εταιρίας:

fcomp (n): Το n δέχεται τιμές από το 1 … 30 και η αντιστοιχία είναι ίδια με τη σειρά που εισάγονται τα στοιχεία από την δημιουργία νέας εταιρίας ή τη μεταβολή στοιχείων εταιρίας.

· Συνδυασμός δυνατοτήτων

Μια συνάρτηση μπορεί να καλεί μια άλλη συνάρτηση και γενικότερα επιτρέπεται οποιοσδήποτε συνδυασμός δυνατοτήτων μέσα στη λίστα γραμμών, όπως συναρτήσεις με λογικές πράξεις μέσα σε έμμεση αναφορά σε κάποια γραμμή, που μπορούν να περιέχουν παραμέτρους που υπολογίζονται από άλλες συναρτήσεις, με διάφορες συνθήκες κ.τ.λ.

· Αυτόματη ανεύρεση συντακτικών λαθών

Όλες βέβαια οι δυνατότητες είναι δύσκολο να συνδυαστούν και να συνταχθούν σωστά από την πρώτη φορά. Συντακτικά ή και άλλα λάθη είναι εύκολο να συμβούν. Γι’ αυτό το λόγο ενσωματώθηκε στο template ένας αυτόματος έλεγχος για συντακτικά και άλλα λάθη που θα σας βοηθήσει πολύ, ειδικά στην αρχή, να προσαρμοστείτε στις συντακτικές απαιτήσεις του template έτσι ώστε να επωφεληθείτε το μέγιστο από αυτό. Έτσι, εάν για παράδειγμα, αφήσετε μια γραμμή όπως η παρακάτω:

(@15+@16

το ΚΕΦΑΛΑΙΟ E.R.P. θα σας ειδοποιήσει ότι λείπει η δεξιά παρένθεση που πρέπει να περικλείει το άθροισμα. Εάν πάλι κάνετε μια αναφορά, όπως στις παρακάτω γραμμές:

γρ.23 @25 και

γρ.25 @23

δηλαδή η 23 να πάρει το αποτέλεσμα της 25 και η 25 αυτό της 23, το ΚΕΦΑΛΑΙΟ E.R.P. θα σας επισημάνει αυτήν τη κυκλική αναφορά που δεν είναι δυνατό βέβαια να υπολογισθεί.

Εάν ξεχάσετε κάποιο άλλο σύμβολο το ΚΕΦΑΛΑΙΟ E.R.P. θα σας υποδείξει μέχρι πού θεωρεί το τέλος της γραμμής βάζοντας εκεί τον cursor και προβάλλοντας το μήνυμα “τέλος γραμμής”.

· Στοίχιση πεδίων

Το ΚΕΦΑΛΑΙΟ E.R.P. μπορεί να στοιχίζει τα πεδία, μέσα στο χώρο που έχει καθορισθεί να καταλαμβάνουν.

Η στοίχιση γίνεται με τρεις τρόπους και πρέπει να εισαχθεί ο αντίστοιχος χαρακτήρας, μετά ακριβώς από το πεδίο, μέσα στη λίστα γραμμών π.χ. \60,24\: r για δεξιά στοίχιση. Έχουμε λοιπόν:

r για στοίχιση δεξιά (right)

l για στοίχιση αριστερά (left)

c για στοίχιση στο κέντρο του χώρου του πεδίου (center)

· Επιπλέον δυνατότητες μέσα στο Template

Στο σχεδιασμό Template στο παράθυρο γραμμών με F2 με τη χρήση του συμβόλου “|” και “!” μπορείτε να τοποθετήσετε το αποτέλεσμα κάποιας γραμμής ή πράξης κλπ στην αντίστοιχη μεταβλητή. Η σύνταξη αυτής της δυνατότητας είναι: Αριθμός γραμμής ή αποτέλεσμα|!,n

π.χ. 1000|!1, Το μέγιστο πλήθος των μεταβλητών είναι 127.

Με τη χρήση των μεταβλητών μπορείτε πλέον να εκμεταλλευτείτε το αποτέλεσμα σε οποιοδήποτε σημείο του Template.

Τα παρακάτω σύμβολα σχετίζονται με ορισμένες εντολές που είναι οι:

^L:  κάποιος αριθμός που ακολουθεί το σύμβολο αυτό υποχρεώνει να αφεθούν τόσες κενές γραμμές όσες δείχνει αυτός (L=Lines).

^F:  παρόμοια λειτουργία, αλλά για σελίδες χαρτιού (F=Forms).

^Μ:  ο αριθμός που μπορεί να ακολουθεί το σύμβολο αυτό στέλνει ορισμένες εντολές στον εκτυπωτή. (Μ=mode). Αυτές σχετίζονται με την οριζόντια και κάθετη συμπύκνωση, την έντονη εκτύπωση και άλλες παρόμοιες. Είναι αυτές για τις οποίες εισάχθηκαν τα Escape sequences στα Οργάνωση. Ο αριθμός δηλαδή 1 αντιστοιχεί στην οριζόντια συμπύκνωση, ο 2 στην ακύρωσή της, ο 3 στην κατακόρυφη συμπύκνωση, ο 4 στην ακύρωσή της, ο 5 στη διπλή εκτύπωση, ο 6 στην ακύρωσή της, ο 7 στην έντονη εκτύπωση, ο 8 στην ακύρωσή της, ο 9 και ο 10 στην αλλαγή γραμμής και σελίδας αντίστοιχα.

^S:  εάν ακολουθεί το 0, τότε οι γραμμές του template που ακολουθούν στη συνέχεια δε θα εκτυπωθούν ή εμφανιστούν στην οθόνη. Για να καθορίσετε το τέλος κάποιου κομματιού του template που ορίστηκε να μην εκτυπωθεί, χρησιμοποιήστε τον αριθμό 1, έτσι ώστε να συνεχίσει κανονικά η εκτύπωση των υπόλοιπων γραμμών.

^W:  με τον αριθμό που ακολουθεί ορίζετε σαν προκαθορισμένο (default) το μήκος που θα καταλαμβάνει ο κάθε αριθμός στο template. Η προκαθορισμένη επιλογή από το ΚΕΦΑΛΑΙΟ E.R.P. είναι 12 χαρακτήρες.

^D:  όπως και παραπάνω, αλλά για τα δεκαδικά ψηφία των αριθμών, όπου η προκαθορισμένη επιλογή είναι 0.

^Ν:  καθορίζετε την εμφάνιση των διαχωριστικών συμβόλων στους αριθμούς. Ο πρώτος αριθμός που ακολουθεί (σε ΑSCΙΙ αρίθμηση) είναι το διαχωριστικό για τα μηδενικά (000) και, παρόμοια, ο δεύτερος για τα δεκαδικά. Έτσι το ^Ν:46:44 θα ρυθμίσει την εμφάνιση των αριθμών με την τελεία (ΑSCΙΙ 46) ως διαχωριστικό για τα μηδενικά και το κόμμα (ΑSCΙΙ 44) για τα δεκαδικά, π.χ. 1.000.000,55.

^Ζ:  ρύθμιση εμφάνισης μηδενικών τιμών, δείτε την επόμενη δυνατότητα (23) για λεπτομέρειες.

^R:  επανάληψη μέρους με μάσκα επανάληψης, δείτε τη δυνατότητα 26 που ακολουθεί για λεπτομέρειες.

^Ε:  τέλος επανάληψης, σε συνδυασμό με την παραπάνω δυνατότητα.

^X:  όταν «Χ:0» καθορίζετε εάν θα εμφανίζονται οι γραμμές του Template όταν υπάρχει αναφορά και το αποτέλεσμα δεν είναι μηδενικό. Όταν «Χ:1» επαναφορά στην αρχική κατάσταση.

^P:  μήνυμα κατά την εκτύπωση του Template “Παρακαλώ αλλάξτε σελίδα”.

.

Όλες οι εντολές με το σύμβολο ^ εισάγονται στην πρώτη στήλη κάποιας γραμμής στο template και ότι άλλο υπάρχει στην ίδια γραμμή αγνοείται από το ΚΕΦΑΛΑΙΟ E.R.P..

· Ρύθμιση εμφάνισης μηδενικών

Έχετε τη δυνατότητα να καθορίσετε εάν θα εμφανίζονται στο template τα πεδία που έχουν αποτέλεσμα ή περιεχόμενο μηδέν, ή εάν στη θέση των μηδενικών αυτών θα εμφανίζονται κενά. Το παρακάτω σύμβολο ρυθμίζει την εμφάνιση ή όχι των μηδενικών ως εξής:

^z:0  δεν εμφανίζονται τα μηδενικά στο template μέχρι να ακυρωθεί αυτή η εντολή από το

^z:1  με το οποίο επιτρέπεται και πάλι η εμφάνιση μηδενικών στο template.

Μετά δηλαδή το σύμβολο ^z που ρυθμίζει την εμφάνιση των μηδενικών μπορούν να ακολουθούν δύο αριθμοί:

ο αριθμός 1 που επιτρέπει την εμφάνιση των μηδενικών ή

ο αριθμός 0 που δεν επιτρέπει την εμφάνιση μηδενικών στο template.   

Η ρύθμιση ισχύει μέχρι να υπάρξει κάποια νέα ρύθμιση στο template. Μπορείτε δηλαδή σε κάποιες γραμμές π.χ. από 2 έως 10 να μη θέλετε να εμφανίζονται τα μηδενικά (ως αποτέλεσμα πεδίων ή γραμμών της λίστας γραμμών) και από την 11 και μετά να εμφανίζονται και τα μηδενικά. Γράψτε ^z:0 στη γραμμή 1 και ^z:1 στην 11, στο template.

· Έμμεση αναφορά

Για να αναφερθείτε σε κάποια γραμμή χρησιμοποιείτε το σύμβολο “@” και δίπλα ακριβώς τον αριθμό της γραμμής π.χ. @87. Εάν όμως η αναφορά εξαρτάται από ορισμένα αποτελέσματα ή πράξεις μπορείτε να χρησιμοποιήσετε το ίδιο σύμβολο ακολουθούμενο από αγκύλες που δηλώνουν έμμεση αναφορά.

Όπως π.χ. @[5+@8] που σημαίνει αναφορά στη γραμμή που υπολογίζεται από τον αριθμό 5 συν το αποτέλεσμα που δίνει η γραμμή 8 (@8). Εάν η γραμμή 8 δίνει το αποτέλεσμα 10 τότε η αναφορά γίνεται στη γραμμή 15, που μπορεί π.χ. να περιέχει τον αριθμό 1000000 ή τη λέξη “Κέρδος” κτλ .

Ένα ακόμη παράδειγμα: @[5+@8<@16]. Η αναφορά γίνεται στη γραμμή που υπολογίζεται μέσα στην αγκύλη, δηλαδή προστίθεται το αποτέλεσμα της σύγκρισης των αποτελεσμάτων των γραμμών 8 και 16, στον αριθμό 5.

Εάν το αποτέλεσμα της σύγκρισης είναι αληθές (1), δηλαδή το αποτέλεσμα της γραμμής 8 είναι μικρότερο αυτού της 16, τότε έχετε 5+1, δηλαδή 6 και η αναφορά γίνεται στη γραμμή 6. Στην αντίθετη περίπτωση, έχετε αναφορά στην 26. Επιλογή μήκους ψηφίων και δεκαδικών, ανά πεδίο.

· Επιλογή μήκους ψηφίων και δεκαδικών ανά πεδίο

Μπορείτε να καθορίσετε το μήκος που θα καταλαμβάνει κάποιος συγκεκριμένος αριθμός, μαζί με τα δεκαδικά του ψηφία, εάν υπάρχουν. Η ρύθμιση αυτή είναι ανεξάρτητη, και υπερισχύει, της γενικής ρύθμισης που γίνεται μέσα στο template (εντολή ^Ν). Η ρύθμιση γίνεται ατομικά, για όποια πεδία θέλετε, μέσα στη λίστα γραμμών υπολογισμού.

Εάν λοιπόν μετά από κάποιον αριθμό ή υπολογισμό στη λίστα γραμμών υπολογισμού, βάλετε το σύμβολο “:” και μετά τον αριθμό 10 αυτό σημαίνει πως ο αριθμός θα εκτυπωθεί σε 10, συνολικά ψηφία. Εάν στη συνέχεια βάλετε ακόμη έναν αριθμό π.χ. 3 μετά από το ίδιο σύμβολο (“:”) αυτό σημαίνει πως ο αριθμός θα εκτυπωθεί με τόσα (3) δεκαδικά ψηφία.

Στον πρώτο αριθμό που δείχνει πόσους συνολικά χαρακτήρες θα καταλάβει ο αριθμός από τη θέση που υπάρχει το @ και δεξιά στο template, πρέπει να συμπεριλαμβάνονται και τα διαχωριστικά σύμβολα για τις χιλιάδες και τα δεκαδικά που καταλαμβάνουν και αυτά μία θέση (ένα χαρακτήρα) εκτύπωσης το καθένα.

Χρησιμοποιήστε μικρότερο από 12 μήκος, όταν έχετε πολλές στήλες και μικρούς σχετικά αριθμούς.

· Επανάληψη μέρους Τemplate με μάσκα επανάληψης

Έχετε ακόμη τη δυνατότητα να επαναλάβετε κάποιο μέρος του template (ορισμένες δηλαδή γραμμές) εάν χρησιμοποιήσετε το σύμβολο ^r (repeat).

Μπορεί π.χ. να θέλετε να τυπώσετε τα πεδία 1 (κωδικός), 2 (περιγραφή), 9 (χρέωση χρήσης) και 18 (χρέωση προηγούμενης χρήσης) για τους λογαριασμούς σας που ο κωδικός τους αρχίζει από 1 (ομάδα 1). Για να γίνει αυτό, πρέπει πρώτα να εισαχθεί σε κάποια γραμμή η μάσκα επανάληψης που είναι η \1=====\. Εάν εισαχθεί πεδίο δίπλα από τη μάσκα αυτή π.χ. \1=====, 1\ αυτό θα αγνοηθεί από τη γραμμή του template που θα χρησιμοποιήσει τη μάσκα αυτή.

Στη συνέχεια θα επιλέξετε τις γραμμές του template που θα επαναληφθούν, για να εκτυπωθούν από το αρχείο λογαριασμών, οι λογαριασμοί που πληρούν τη μάσκα επανάληψης. Αυτό γίνεται με τη χρήση του συμβόλου ^r για την αρχή, και ^e για το τέλος των γραμμών που θα επαναληφθούν.

Ας υποθέσουμε πως αρχίζουμε την επανάληψη από τη γραμμή του template 5 μέχρι και τη γραμμή 6. Πρέπει να εισάγετε στη γραμμή 4 το σύμβολο αρχής επανάληψης μαζί με την αναφορά στη γραμμή της λίστας γραμμών όπου βρίσκεται η μάσκα επανάληψης δηλαδή ^r:@12 εάν η γραμμή 12 (της λίστας γραμμών) περιέχει τη μάσκα που είδατε παραπάνω (\1=====\). Εάν θέλετε να υπάρχει συγχρόνως και μία συνθήκη επανάληψης (η επανάληψη δηλαδή να γίνει για τους κωδικούς που πληρούν τη μάσκα επανάληψης και τη συνθήκη επανάληψης), τότε, μετά από την αναφορά στη γραμμή που περιέχει τη μάσκα επανάληψης, θα εισάγετε την αναφορά στη γραμμή όπου βρίσκεται η συνθήκη επανάληψης ως εξής: ^r:@12:@24. Για παράδειγμα, η συνθήκη επανάληψης μπορεί να βρίσκεται στη γραμμή 24 της λίστας γραμμών (π.χ. \, 9\>10000, ή &9>10000 δηλαδή το πεδίο 9 να είναι μεγαλύτερο από 10000). Στη γραμμή 7 (του template) πρέπει να εισάγετε το σύμβολο τέλους επανάληψης δηλαδή ^e. Οι γραμμές που περιέχονται μέσα στα δύο παραπάνω σύμβολα θα επαναληφθούν τόσες φορές όσες ισχύσει η μάσκα επανάληψης (και σε συνδυασμό με τη συνθήκη, εάν ορίστηκε).

Για τα αρχεία κινήσεων η μάσκα επιλογής της επανάληψης πρέπει να περιέχει ημερομηνίες και το πεδίο ημερομηνίας. Εάν περιέχει π.χ. κωδικό τότε το αγνοείτε.

Το περιεχόμενο των γραμμών του template, σύμφωνα με το παράδειγμά μας, μπορεί να είναι:

γρ. 5: @1 @2 @3 @4

γρ. 6: ===================================================

.

Η γραμμή 5 θα τυπώσει διαδοχικά για κάθε λογαριασμό που εκπληρώνει τη συνθήκη επιλογής το περιεχόμενο των γραμμών 1, 2, 3 και 4 της λίστας γραμμών όπου καλούν αντίστοιχα τα πεδία 1, 2, 9 και 18. Η γραμμή 6 θα υπογραμμίζει την κάθε γραμμή που θα τυπώνει η γραμμή 5.

Παρατηρήστε ότι στις γραμμές της λίστας γραμμών που καλούνται από το κομμάτι επανάληψης εισάγετε μόνον τους αριθμούς των πεδίων (π.χ. \,1\) και όχι πάλι κάποια επιλογή (masking), η οποία, εάν υπάρχει, θα αγνοηθεί από το κομμάτι του template που επαναλαμβάνεται βάσει της μάσκας επανάληψης που καλείται μετά το σύμβολο αρχής επανάληψης (^r) και η οποία έχει προτεραιότητα. Καλό είναι λοιπόν οι γραμμές της λίστας γραμμών στις οποίες αναφερόσαστε από το template να περιέχουν μόνον τα πεδία και όχι επιπλέον μάσκες επιλογής. Εάν όμως κληθεί κάποια γραμμή (από αυτές που καλούνται από κομμάτι επανάληψης του template) και από γραμμή του template έξω από κομμάτι επανάληψης ή από άλλη γραμμή της λίστας γραμμών, τότε το αποτέλεσμα που θα πάρετε θα είναι αυτό που περιέχεται στη γραμμή, όπως γνωρίζετε από προηγούμενες δυνατότητες (10, 11 και 12).

· Καθορισμός συνθήκης επανάληψης με ερώτηση κατά την εκτύπωση

Είδατε στην προηγούμενη δυνατότητα πώς μπορείτε να επαναλάβετε κάποιο μέρος του template (ορισμένες δηλαδή γραμμές) εάν χρησιμοποιήσετε το σύμβολο ^r (repeat). Υπάρχει όμως ακόμη μια δυνατότητα που χρησιμοποιείται σε συνδυασμό με τη δυνατότητα επανάληψης μέρους του template υπό συνθήκη.

Η συνθήκη που καθορίζει την επανάληψη κάποιου μέρους μπορεί να μην είναι σταθερή, όπως είδαμε στο προηγούμενο παράδειγμα (\1=====\), αλλά να είναι μεταβλητή και να καθορίζεται την ώρα της εκτύπωσης του template. Το ΚΕΦΑΛΑΙΟ E.R.P. μπορεί τότε να ζητήσει την περιοχή των κωδικών (από – έως) που θα αποτελέσουν τη συνθήκη επιλογής. Έτσι, μπορείτε να χρησιμοποιήσετε το ίδιο template με συνθήκες επανάληψης για διαφορετικές περιοχές κωδικών, τις οποίες μπορείτε να εισάγετε κατά την ώρα της εκτύπωσης του template, αντί να μεταβάλλετε κάθε φορά τη συνθήκη μέσα στο template.

Υπάρχουν δύο παρόμοιες ερωτήσεις σχετικά με το τμήμα κάποιου αρχείου που θα αποτελέσει τη συνθήκη επανάληψης. Το σύμβολο για την πρώτη είναι το “?” και για τη δεύτερη το “??” (ένα ή δύο λατινικά ερωτηματικά). Έτσι:

Το σύμβολο “?” στη θέση κωδικών επιλογής μέσα στο template θα δημιουργήσει ερώτηση, κατά την εκτύπωση του template, παρόμοια με αυτές που εμφανίζονται σε διάφορες προβολές του ΚΕΦΑΛΑΙΟY E.R.P., όταν σας ζητείται να εισάγετε το τμήμα κωδικών κάποιου αρχείου (από κωδικό – έως κωδικό). Μπορείτε να εισάγετε συγκεκριμένους κωδικούς (ή περιγραφές) από και έως, ή να χρησιμοποιήσετε κάποια μάσκα κωδικών, π.χ. 4=====. Για παράδειγμα, η γραμμή 12 της λίστας γραμμών του παραδείγματος της προηγούμενης δυνατότητας μπορεί να είναι: \ ?, 1\ που θα οδηγήσει το ΚΕΦΑΛΑΙΟ E.R.P. να σας ρωτήσει το τμήμα των κωδικών που θα αποτελέσουν τη συνθήκη, όταν εκτυπώσει το template. Εάν τότε πατήσετε Return, το ΚΕΦΑΛΑΙΟ E.R.P. θα σας ρωτήσει να καθορίσετε το τμήμα του αρχείου χρησιμοποιώντας περιγραφές και όχι κωδικούς.

Το σύμβολο “??” χρησιμοποιείται ακριβώς με τον παραπάνω τρόπο, αλλά αντί να προβληθεί ερώτηση για το τμήμα των κωδικών ή περιγραφών, σας δίνει, επιπλέον, τη δυνατότητα να επιλέξετε έναν-έναν κωδικό από το τμήμα που θα ορίσετε (όπως ακριβώς ορίζεται με το προηγούμενο σύμβολο). Το ΚΕΦΑΛΑΙΟ E.R.P. θα προβάλλει όλους τους κωδικούς που θα ορίσετε (από – έως ή με masking) σε ένα παράθυρο και από εκεί θα επιλέγετε έναν – έναν αυτούς που θέλετε να περιληφθούν στην εκτύπωση του template. Έτσι έχετε πλήρη έλεγχο και επιλογή των κωδικών που θα περιληφθούν στην εκτύπωση. Στο ίδιο παράδειγμα με παραπάνω, μπορείτε να εισάγετε στη γραμμή της λίστας \??, 1\ και να επιλέξετε κατά την εκτύπωση τους κωδικούς που επιθυμείτε, έναν – έναν.

To σύμβολο “??” χρησιμοποιείται για την προβολή του τμήματος των κωδικών ή περιγραφών και σας δίνει επιπλέον τη δυνατότητα το ίδιο masking επιλογής να χρησιμοποιηθεί για όσα τυχόν repeatend (^R, ^E) που χρησιμοποιούνται στο Template.

Ακόμη υπάρχει η δυνατότητα ελεγχόμενου και προκαθορισμένου masking επανάληψης. Συγκεκριμένα, η σύνταξη της συνθήκης επανάληψης συντάσσεται π.χ.:

.

^R:@1 :    Στη φόρμα του Template

\9=;0=;8=,1\.  Στις γραμμές – γραμμή 1 στο παράδειγμα

.

Στο παράδειγμα λοιπόν έχει διατυπωθεί συνθήκη επανάληψης που προκαθορίζει masking αναζήτησης:

9==

0==

8==

Άρα θα προβληθούν οι εγγραφές με κωδικό που αρχίζει από 9, 0, και 8 και μόνο αυτές.

· Ανακεφαλαίωση δυνατοτήτων

Το σημαντικότερο βέβαια πλεονέκτημα είναι ότι μπορείτε οπουδήποτε μέσα στο template να εισάγετε τιμές από πεδία των αρχείων των προγραμμάτων, κάνοντας ακόμη και οποιαδήποτε επιλογή από τους κωδικούς αυτούς (με masking όπου επιλέγονται ομάδες κωδικών ή φιλτράρονται οι κωδικοί όπως αλλιώς θέλετε, ή σειριακά).

Σε περίπτωση που δημιουργήσετε αριθμοδείκτες ή μεγάλα reports, θα σας χρησιμεύσει πολύ η δυνατότητα δημιουργίας και κλήσης συναρτήσεων, έτσι ώστε εισάγοντας τους διάφορους τύπους σε αυτές, να μπορείτε να τις καλείτε με οποιεσδήποτε τιμές χρειαστεί. Δεν υπάρχει περιορισμός στον συνδυασμό των δυνατοτήτων, εφ’ όσον χρησιμοποιείται η σωστή σύνταξη. Μια συνάρτηση μπορεί να καλεί κάποια άλλη, μια άλλη πάλι να υπολογίζει τον μέσο όρο αθροισμάτων από πεδία κωδικών που υπάρχουν στα αρχεία. Οι προχωρημένες δυνατότητες δυαδικών και λογικών πράξεων θα σας φανούν πολύτιμες, μόλις εξοικειωθείτε με τη φιλοσοφία του template.

Μπορείτε, έχοντας βέβαια καλή γνώση των δυνατοτήτων του template, να δημιουργήσετε έναν ολόκληρο πίνακα που θα αντλεί πληροφορίες από τα διάφορα αρχεία με επιλεκτικό τρόπο, θα τις επεξεργάζεται και θα τις παρουσιάζει σε συνδυασμό με τα απαραίτητα σχόλια και παρατηρήσεις με τη μορφή που εσείς θα ζητήσετε. Όλα αυτά βέβαια μπορούν να ελέγχονται με διάφορες συνθήκες και να εξαρτώνται από τα εκάστοτε αποτελέσματα λειτουργίας της επιχείρησής σας.

Για τις διαφορετικές απαιτήσεις σας προβλέφθηκε η δυνατότητα δημιουργίας πολλών διαφορετικών templates, σε κάθε αρχείο, για κάθε πρόγραμμα του ΚΕΦΑΛΑΙΟY E.R.P.

Προσπαθήστε να κατανοήσετε καλά όλα τα παραδείγματα που περιέχονται στις οθόνες που συνοδεύουν το κείμενο αυτό και να τα τροποποιήσετε στην αρχή, για να εξασκηθείτε στη σχεδίαση αλλά και στην διατύπωση όλων των δυνατοτήτων αργότερα. Δημιουργήστε άφοβα τα δικά σας templates και περιεργαστείτε προσεκτικά τα αποτελέσματά τους. Είναι αυτονόητο πως τα templates δεν επηρεάζουν καθόλου τις πληροφορίες των αρχείων και δεν υπάρχει καμία πιθανότητα απώλειας στοιχείων. Υπενθυμίζεται η δυνατότητα προβολής του template στην οθόνη, έτσι ώστε να αποφασισθεί η τελική του μορφή και να διαπιστωθεί η ορθότητά του, πριν εκτυπωθεί στο χαρτί.

Στο δεύτερο μέρος που ακολουθεί, υπάρχει αναλυτικά ο τρόπος σύνταξης και πολλές ειδικές δυνατότητες και πληροφορίες για τα templates, που μπορείτε να μελετήσετε ή να χρησιμοποιήσετε για αναφορά.

Οδηγός Αναφοράς

· Ειδικά Σύμβολα Κυρίου Φύλλου (μέσα, δηλαδή, στα templates)

@n=  αναφορά στη γραμμή n

^=  ειδική εντολή

;=  σχόλιο, μη εκτυπώσιμο

#=  τέλος φύλλου

· Ειδικές εντολές

Σύνταξη: ^γράμμα : αριθμός, π.χ. ^z:1 ή «γράμμα:@»

^L:n    linefeed, αλλαγή σειράς εκτύπωσης κατά n σειρές

^F:n    formfeed, αλλαγή σελίδας κατά n σελίδες

^Μ:n  printer mode n, εκτέλεση Εsc Sequence n (δείτε printer hardware configuration)

^Ζ:n    zero mode, n=0 : δεν εκτυπώνονται μηδενικές τιμές, n=1 : εκτυπώνονται μηδενικές τιμές

^R:    αρχή επανάληψης, repeat loop ^R:@n1[:@n2], @n1=μάσκα επανάληψης, @n2=συνθήκη επανάληψης

^Ε:    τέλος επανάληψης, repeat end

^Ν:n:q  διαχωριστικό σύμβολο για «000»s το ΑSCΙΙ n, για δεκαδικά ψηφία το ΑSCΙΙ q

^S:n    show / print mode, n=0 : δεν εκτυπώνονται οι παρακάτω γραμμές, n=1 : συνεχίζουν να εκτυπώνονται οι παρακάτω γραμμές του φύλλου

^W:n  καθορισμός του προκαθορισμένου μήκους (default) των αριθμητικών πεδίων (αρχικά είναι 12) σε n (7<=n<=16)

^D:n  καθορισμός του προκαθορισμένου (default) αριθμού δεκαδικών των αριθμητικών πεδίων (αρχικά είναι 0) σε n (0<=n<=7)

^C:n    καθορισμός τρόπου διεξαγωγής εσωτερικών υπολογισμών στα loops. Προκαθορισμένο είναι να γίνεται πλήρης υπολογισμός (n=0) μέσα σε loops, και όχι πλήρης (n=1) έξω από loops, χρησιμοποιώντας αποτελέσματα από προηγούμενο υπολογισμό, επιταχύνοντας την εκτύπωση. Σε ορισμένες περιπτώσεις μπορεί, βάζοντας ^C:1 μέσα σε loops, να επιταχυνθεί σημαντικά ο χρόνος υπολογισμού, αλλά η χρήση αυτή χρειάζεται αρκετή προσοχή, για να υπολογισθούν σωστά τα αποτελέσματα.

^Τ:n    καθορισμός συνδετικού σύμβολου που θα χρησιμοποιείται κατά τη συνένωση σειρών χαρακτήρων (strings), χρησιμοποιώντας δηλαδή τον χαρακτήρα (σε ΑSCΙΙ τιμή) n

^Α:n    καθορισμός του προκαθορισμένου αρχείου για εισαγωγή στοιχείων σε n, όπου n είναι: 1=αποθήκη, 2=πελάτες, 3=προμηθευτές, 4=λογιστική, 5=κινήσεις αποθήκης, 6=κινήσεις πελατών, 7=κινήσεις προμηθευτών, και 8=κινήσεις λογιστικής.

Το κείμενο που πιθανά ακολουθεί μια ειδική εντολή, δηλαδή όλη η υπόλοιπη γραμμή αγνοείται. Όλες οι ειδικές εντολές (^ γράμμα) εκτός των ^R, ^E, ^C, και ^S μπορούν, αντί να βρίσκονται στο κύριο φύλλο του template, να γραφτούν σε μια γραμμή υπολογισμού (της λίστας γραμμών) και να εκτελεστούν με κλήση στη γραμμή αυτή. Στην περίπτωση αυτή, είναι δυνατό σε μια γραμμή κειμένου του κύριου φύλλου να κληθούν περισσότερες από μία ειδικές εντολές (εξοικονομώντας, έτσι, χώρο στο φύλλο) π.χ. @55 @56, όπου οι γραμμές υπολογισμού 55 και 56 είναι:

55: ^Μ:2

56: ^D:2

Συμβολισμός λίστας γραμμών υπολογισμού

· Γενικά:

Μπορεί να γραφτεί οποιαδήποτε σταθερά ή / και αναφορά σε άλλες γραμμές. Επιτρέπονται σταθερές αριθμητικές (στο εξής θα αναφέρονται ως Νumeric ή Νum), αλφαριθμητικές (Αlfa) και ημερομηνίες (Date).

Παράδειγμα γραμμής που επιστρέφει Νum: 3000 + (5*@32 – @[7 + @4])

Παράδειγμα Αlfa: “hello” + “there

Παράδειγμα Date: “10-4-90” – “31-12-89”

Έτοιμα αθροιστικά αποτελέσματα ή αναφορές σε πεδία του εκάστοτε επεξεργαζόμενου αρχείου ζητούνται με το συμβολισμό:

\μάσκα, πεδίο\ π.χ. \10=, 12\

που σημαίνει το άθροισμα του πεδίου 12 (φαίνονται στο help με F1) για όλους τους κωδικούς που πληρούν τη μάσκα 10=.

Ο παραπάνω συμβολισμός, μέσα σε repeat loops, γίνεται

.

\, πεδίο\ (χωρίς δηλαδή μάσκα), π.χ. \,32\ ή απλούστερα & πεδίο.

Στην περίπτωση \, πεδίο\, το πεδίο μπορεί να είναι πλήρη αναφορά, π.χ.

\,(10+@3*12+@[1+@2])\, ενώ στην περίπτωση &πεδίο, το πεδίο μπορεί να είναι μόνο αριθμός ή δείκτης, π.χ. &5 ή &[1+@4].

.

Η μάσκα μπορεί να δοθεί ως:

α) κανονική μάσκα, π.χ. 1=09== ή 3=-==

β) από – έως, π.χ. 30-000 .. 30-999

γ) να ερωτηθεί κατά τη διάρκεια εκτύπωσης του template, εφόσον αποτελεί μάσκα επανάληψης, π.χ. \?, πεδίο\. Το πεδίο αγνοείται εδώ.

δ) να ερωτηθούν συγκεκριμένες εγγραφές (records) κατά τη διάρκεια εκτέλεσης (εκτύπωσης) του template, εφόσον αποτελεί μάσκα επανάληψης, π.χ. \??, πεδίο\. Και εδώ το πεδίο αγνοείται.

Σε ειδικές περιπτώσεις μπορείτε να ζητήσετε πληροφορίες από αρχείο άλλο από το τρέχον στο οποίο αναφέρεται το template. Αυτό γίνεται με το συμβολισμό \^f, μάσκα, πεδίο\, όπου f αντιστοιχεί σε: s = αποθήκη, c = πελάτες, p = προμηθευτές, και g = γενική λογιστική.

Ο παραπάνω συμβολισμός απαγορεύεται σε μάσκα επανάληψης ή συνθήκη επιλογής.

Προαιρετικά η υπολογιστική έκφραση κάθε γραμμής υπολογισμού ακολουθείται από συμβολισμούς μήκους και δεκαδικών ψηφίων (για γραμμές υπολογισμού τύπου Αlfa και Νum μόνο), π.χ.

55: (100+@2*(@3+100)):12:2

56: «Γενικά στοιχεία»:30

· Δείκτες:

Για διευκόλυνση αναφοράς σε μεταβλητές γραμμές ισχύει η έννοια και χρήση του παραμετρικού δείκτη, με συμβολισμό [Νum], π.χ. @[3] ή @[4+@5*2].

· Συναρτήσεις:

Πολλαπλή χρήση σύνθετων εκφράσεων διευκολύνεται με τη χρήση συναρτήσεων. Χρησιμοποιείται ο τρόπος γραφής μιας οποιασδήποτε αριθμητικής (ή μη) έκφρασης, αντικαθιστώντας κάθε παράμετρο που θα περαστεί στη συνάρτηση με το σύμβολο %, π.χ. (%1 / %2)*100. Η παραπάνω απλή συνάρτηση (υποθέστε ότι έχει γραφτεί στη σειρά 55) καλείται ως εξής:

$@55 (Νum, Νum) και όπως είναι προφανές δίνει τον επί τοις εκατό λόγο του πρώτου αριθμού στον δεύτερο. Έτσι η κλήση $@55 (12, 20) θα επιστρέψει το αποτέλεσμα 60, δηλαδή 60%.

Η σειρά αναφοράς των παραμέτρων σε μία συνάρτηση είναι ελεύθερη, ενώ ο δείκτης κάθε παραμέτρου μπορεί με τη σειρά του να αποτελείται από πλήρη αριθμητική έκφραση, π.χ. (%[@5+2] * %[2]).

Η κλήση μιας συνάρτησης μπορεί να γίνει με μικρότερο ή μεγαλύτερο πλήθος παραμέτρων από όσες έχουν ορισθεί στη συνάρτηση. Έτσι, εάν μια απλή συνάρτηση (π.χ. στη γραμμή 100) είναι: (%1 + %2 + %3) / 3 που υπολογίζει το μέσο όρο των τριών παραμέτρων, κληθεί ως $100 (5,7), το αποτέλεσμα είναι 4 (η τρίτη παράμετρος θεωρείται μηδέν), ενώ εάν κληθεί ως $100 (5,7,9,11) το αποτέλεσμα είναι 7 (η παράμετρος 11 αγνοείται).

Βεβαίως, μία συνάρτηση μπορεί να καλεί άλλες συναρτήσεις σε απεριόριστο βάθος.

Σχόλια: Κάθε γραμμή που ξεκινά με το σύμβολο ; αποτελεί σχόλιο, αλλά ταυτόχρονα και αλφαριθμητικό πεδίο (Αlfa).

· Πράξεις:

Ανάλογα με τον τύπο του πεδίου (Alfa, Numeric, Date) επιτρέπονται διάφορες πράξεις. Έτσι έχουμε:

Alfa:   α + β, π.χ. “hello” + “there” δίνει “hello there”.

συγκρίσεις με τα σύμβολα =, <>, >, <, >=, <= π.χ. “Αντώνης” <= “Δημήτρης”. Το αποτέλεσμα, εφόσον η παραπάνω ανισότητα ισχύει (αληθές) είναι 1, και ο τύπος του αποτελέσματος γίνεται πλέον Numeric.

Date: α – β, π.χ. “12-1-90” – “31-12-89” δίνει 12. Η διαφορά ημερομηνιών δίνει αριθμό (θετικό ή αρνητικό) με τύπο Numeric.

Συγκρίσεις με τα σύμβολα =, <>, >, <, >=, <= π.χ. “12-1-90” >= “31-12-90”. Το αποτέλεσμα, εφόσον η παραπάνω ανισότητα δεν ισχύει (ψευδές) είναι 0, και ο τύπος του αποτελέσματος γίνεται πλέον Numeric.

Numeric: α (+, -, *, /) β. Οι τέσσερις αριθμητικές πράξεις.

Συγκρίσεις με τα σύμβολα =, <>, >, <, >=, <= π.χ. 12 >= 9. Το αποτέλεσμα, εφόσον η παραπάνω ανισότητα ισχύει (αληθές) είναι 1, και ο τύπος του αποτελέσματος είναι Numeric.

Προσεγγιστικές συγκρίσεις με τα σύμβολα ==, >>, <<. Οι τρεις αυτές συγκρίσεις σημαίνουν “περίπου ίσο”, “πολύ μεγαλύτερο” και “πολύ μικρότερο”, και η σύγκριση γίνεται ως προς δύο τάξεις μεγέθους, δηλαδή 100. Έτσι α == β ισχύει εφόσον τα α και β διαφέρουν μέχρι 1%, π.χ. 12.55 == 12.52 δίνει 1 (αληθές). α >> β ισχύει εφόσον το α είναι τουλάχιστο 100 φορές μεγαλύτερο του β, π.χ. 358 >> 3.5 δίνει 1 (αληθές). α << β ισχύει εφόσον το α είναι τουλάχιστο 100 φορές μικρότερο του β, π.χ. 11 << 1000 δίνει 0 (ψευδές).

Boolean type: Όλες οι συγκρίσεις (και οι προσεγγιστικές) δίνουν αποτέλεσμα Λογικό (boolean). Το λογικό αποτέλεσμα (αληθές ή ψευδές) ταυτίζεται εδώ με το αριθμητικό αποτέλεσμα 1 ή 0, αλλά το αποτέλεσμα αυτό μπορεί να χρησιμοποιηθεί, στη συνέχεια, για λογικές πράξεις όπως ΝΟΤ, ΟR, ΧΟR, ΑΝD, π.χ. (10 < 12) . ΑΝD . (“Άννα” < “Βάσω”). Η παραπάνω έκφραση είναι αληθής, και παράγει αποτέλεσμα 1, τύπου Numeric ή Boolean.

Ενσωματωμένες συναρτήσεις

Το ΚΕΦΑΛΑΙΟ E.R.P. προβλέπει αρκετές συναρτήσεις, για όλους τους τύπους αποτελέσματος, ώστε να διευκολύνονται σημαντικά πολύπλοκες πράξεις ή έλεγχοι. Η γενική μορφή χρήσης είναι η παρακάτω:

.

ΣΥΝΑPΤΗΣΗ (ΠΑPΑΜΕΤPΟΣ [, ΠΑPΑΜΕΤPΟΣ] [.., ΠΑPΑΜΕΤPΟΣ]),

όπου ότι περικλείεται σε [ ] (αγκύλες) είναι προαιρετικό. Η σύνταξη των συναρτήσεων είναι λοιπόν (δείτε στις προηγούμενες σελίδες, στη γενική περιγραφή, τι ακριβώς κάνει κάθε συνάρτηση):

Όνομα Συνάρτησης  (Τύπος Παραμέτρων)  -> Τύπος Αποτελέσματος

.

ΑΒS  (ΝUΜ)    -> ΝUΜ

SQRΤ  (ΝUΜ)    -> ΝUΜ

SQR  (ΝUΜ)    -> ΝUΜ

SΙΝ  (ΝUΜ)    -> ΝUΜ

CΟ  (ΝUΜ)    -> ΝUΜ

ΑRCΤΑΝ  (ΝUΜ)    -> ΝUΜ

LΝ  (ΝUΜ)    -> ΝUΜ

LΟG  (ΝUΜ)    -> ΝUΜ

ΕΧP  (ΝUΜ)    -> ΝUΜ

FΑCΤ  (ΝUΜ    -> ΝUΜ

ΜΙΝ  (ΝUΜ [, ΝUΜ] [.., ΝUΜ])  -> ΝUΜ ή

ΜΙΝ   DΑΤΕ [, DΑΤΕ] [.., DΑΤΕ])  -> DΑΤΕ ή

ΜΙΝ  (ΑLFΑ [, ΑLFΑ] [.., ΑLFΑ])  -> ΑLFΑ

ΜΑΧ  (ΝUΜ [, ΝUΜ] [.., ΝUΜ])  -> ΝUΜ ή

ΜΑΧ  (DΑΤΕ [, DΑΤΕ] [.., DΑΤΕ])  -> DΑΤΕ ή

ΜΑΧ  (ΑLFΑ [, ΑLFΑ] [.., ΑLFΑ])  -> ΑLFΑ

ΑVG  (ΝUΜ [, ΝUΜ] [.., ΝUΜ])  -> ΝUΜ

SUΜ  (ΝUΜ [, ΝUΜ] [.., ΝUΜ])  -> ΝUΜ

CΟPΥ  (ΑLFΑ, ΝUΜ, ΝUΜ)  -> ΑLFΑ

CΟΝCΑΤ  (ΑLFΑ, ΑLFΑ)    -> ΑLFΑ

DΕLΕΤΕ  (ΑLFΑ, ΝUΜ, ΝUΜ)  -> ΑLFΑ

ΙΝSΕRΤ  (ΑLFΑ, ΑLFΑ, ΝUΜ)  -> ΑLFΑ

ΙΝCL  (ΑLFΑ, ΑLFΑ)    -> ΝUΜ ή ΒΟΟLΕΑΝ

ΜΑΤCΗ  (ΑLFΑ, ΑLFΑ)    -> ΝUΜ ή ΒΟΟLΕΑΝ  

SΤR  (ΝUΜ [, ΝUΜ] [.., ΝUΜ])  -> ΑLFΑ

VΑL  (ΑLFΑ)    -> ΝUΜ

LΕΝGΤΗ  (ΑLFΑ)    -> ΝUΜ

RΟUΝD  (ΝUΜ [,ΝUΜ])    -> ΝUΜ

ΤRUΝC  (ΝUΜ)    -> ΝUΜ

CΟUΝΤ      -> ΝUΜ

PΕRΙΟD      -> ΝUΜ (1 – 12)

DΑΤΕ      -> DΑΤΕ

DDATE0  (NUM)    -> DATE

DDATE1  (NUM)    -> DATE

ΤΙΜΕ      -> ΑLFΑ

SPREAD  (ALFA, ALFA)

WEEKDAY  (DATE)    -> NUM

GETXN  (ALFA, DATE)    -> NUM

POS  (ALFA, ALFA)    -> NUM

DTSTR  (DATE)    -> ALFA

CHAR  (ALFA)    -> NUM

ASCII  (NUM)    -> ALFA

SSTRIP  (ALFA, ALFA, NUM)  -> ALFA

UPCASE  (ALFA)    -> ALFA

YESNO  (NUM)    -> ALFA

DPERIOD  (DATE)    -> NUM

IF  (ΕΛΕΥΘΕΡΟ)    -> ΕΛΕΥΘΕΡΟ

WND(n1,n2,..nv) όπου το πλήθος πρέπει να είναι μικρότερο ή ίσο του 15, το n αφορά αριθμό γραμμής Template.

H σύνταξη του αριθμού γραμμής Template είναι:

;΄^ΛΕΚΤΙΚΟ (string)’, n1, n2, n3, n4

όπου n1 = τύπος πεδίου

1 = αριθμητικό

2 = αλφαριθμητικό

3 = ημερομηνία

4 = ώρα

όπου n2 = μεταβλητή

όπου n3 = μήκος πεδίου για αριθμητικά και αλφαριθμητικά

όπου n4 = δεκαδικά για αριθμητικά πεδία.

Συμπληρωματικές δυνατότητες

· Αυτόματη στατιστική

Κατά τη διάρκεια εκτέλεσης ενός repeat loop (επανάληψης) και για κάθε γραμμή υπολογισμού, εφόσον το αποτέλεσμά της είναι αριθμητικό (και σε ορισμένες ειδικές περιπτώσεις Αlfa), το ΚΕΦΑΛΑΙΟ E.R.P. κρατά αυτόματα μέγιστη τιμή, ελάχιστη τιμή, σύνολο και μέσο όρο. Τα αποτελέσματα αυτά είναι διαθέσιμα κατά τη διάρκεια εκτέλεσης της επανάληψης, ή και αμέσως μετά το τέλος της επανάληψης, αλλά μηδενίζονται με την έναρξη νέας επανάληψης.

Η κλήση των στοιχείων αυτών γίνεται με τη χρήση των συναρτήσεων ΜΑΧ, ΜΙΝ, SUΜ, και ΑVG, χωρίς παρενθέσεις, και με μόνη παράμετρο τη γραμμή υπολογισμού, π.χ. ΜΙΝ@5, ΑVG@δείκτης, όπου δείκτης είναι αριθμός ή [έκφραση].

Ομοίως, διαθέσιμη είναι και η συνάρτηση CΟUΝΤ, που μετρά τις φορές εκτέλεσης της επανάληψης.

· Μεταβλητές γραμμές υπολογισμού

Μία γραμμή υπολογισμού (ή τμήμα γραμμής!) μπορεί να δίδεται διαφορετικά για κάθε φορά εκτέλεσης του template. Αυτό μπορεί να γίνει χρησιμοποιώντας το συμβολισμό (π.χ. στη γραμμή 55)

55: … ? ‘κείμενο’ …., π.χ.

55: (100+20) * (? ‘ Κόστος μονάδας ‘) / 100

Τότε το ΚΕΦΑΛΑΙΟ E.R.P., κατά την εκτέλεση (εκτύπωση) του template, θα εμφανίσει την ερώτηση “Κόστος μονάδας” και θα περιμένει την απάντηση που μπορεί να είναι κάποια συγκεκριμένη τιμή, ή τμήμα αριθμητικής έκφρασης κλπ. Έτσι, οι απαντήσεις:

1500

@15 + 250

είναι αποδεκτές, και θα υπολογισθούν ανάλογα.

Εάν χρησιμοποιείται το σύμβολο “??” τότε δεν θα εμφανιστεί ερώτηση αλλά θα κρατήσει την προηγούμενη τιμή της αυτό χρησιμοποιείται στο τμήμα επανάληψης.

· Υπολογισμός χωρίς εκτύπωση

Είναι πιθανό, κατά τη διάρκεια εκτέλεσης του template, να θέλετε να υπολογισθούν κάποιες γραμμές υπολογισμού, χωρίς ταυτόχρονα να εμφανιστούν στην εκτύπωση. Αυτό επιτυγχάνεται εφόσον η αναφορά σε γραμμή υπολογισμού ακολουθείται αμέσως από το σύμβολο “_” (underscore) π.χ.

@55_ ή

@56_

Οι γραμμές υπολογισμού 55 και 56 θα υπολογισθούν (καθώς και η εσωτερική στατιστική των ανάλογων πεδίων) χωρίς αυτές να εμφανιστούν στο template.

.

.

Προηγούμενο

Report Builder

Επόμενο

Business Picture