Οι αναφορές φτιάχνονται εύκολα με τη χρήση της γλώσσας SQL και κάποιες εντολές της EMDI που ενσωματώνονται στα σχόλια.

Μεταβλητές που μπορείς να συμπεριλάβεις στον SQL κώδικα:

(χρησιμοποιούνται στην εντολή where)

:apo ημερομηνία από
:ews ημερομηνία εως
Περιγραφή αναφοράς 1η παράμετρος από εκτέλεση accounts
Κωδικός αναφοράς 2η παράμετρος από εκτέλεση accounts
:param1 3η παράμετρος από εκτέλεση accounts
:param2 4η παράμετρος από εκτέλεση accounts
:search αναζήτηση για φόρμες που είναι τσεκαρισμένη η αναζήτηση
:orderby προστίθεται αντί για την εντολή order by για ταξινόμηση
:loydoc αριθμός παραστατικού πόντων
:loypro κωδικός είδους πόντων
:loypay κωδικός είδους εξαργύρωσης
:orderdoc συντομογραφία παραστατικού που εμφανίζεται στο σχετικό
:orderdid αριθμός γραμμής παραστατικού βάσει συντομογραφίας παραστατικού
–nodecimals– απεριόριστα δεκαδικά
–combo– αναπτυσσόμενη λίστα

 

Πεδία στοn SQL κώδικα

Χρησιμοποιούνται στην εντολή select, πχ “pvlhseis”.”Aa” “ksq”

doc ο αριθμός γραμμής πώλησης “Aa” (δημιουργία κουμπιού που ανοίγει πωλήσεις στο αντίστοιχο παραστατικό)
cus ο αριθμός γραμμής πελάτη “Aa” (δημιουργία κουμπιού που ανοίγει τον αντίστοιχο πελάτη)
pro ο αριθμός γραμμής προϊόντος “Aa” (δημιουργία κουμπιού που ανοίγει το αντίστοιχο είδος)
prd ο αριθμός γραμμής προϊόντος “Aa” (δημιουργία κουμπιού που ανοίγει τα παραστατικά του αντίστοιχου είδους)
ksq το αποτέλεσμά της χρησιμοποιείται στο script ενημέρωσης (δημιουργία κουμπιού που ανοίγει editor για επεξεργασία δεδομένων)
eml το e-mail για αποστολή|Όνομα|Αξία|Σύνδεσμος e-invoice|Αριθμός voucher (δημιουργία κουμπιού που στέλνει e-mail)
sms το κινητό για αποστολή|Όνομα|Αξία|Σύνδεσμος e-invoice|Αριθμός voucher (δημιουργία κουμπιού που στέλνει sms)
img φωτογραφία
NEXT VALUE FOR “gen_counter” ο αριθμός γραμμής

 

Script ενημέρωσης

:ksq τιμή που εκτελείται στο κώδικα με εισαγωγικά
:ksp τιμή που εκτελείται στο κώδικα χωρίς εισαγωγικά

 

Υπάρχει δυνατότητα εκτέλεσης μέχρι 2  script χωρισμένα με ερωτηματικό “;”.

Στο παράδειγμα 1, μπορούμε να επεξεργαστούμε και να αποθηκεύσουμε τα πεδία του επιλεγμένου πελάτη. Σημαντικό είναι ότι πρέπει πάντα να συμπεριλαμβάνεται ένα πεδίο κλειδί που θα ονομάζεται “Aa” (εδώ συμπεριλαμβάνεται λόγω του *).

Παράδειγμα 1:

Στο παράδειγμα 2, αποτελείται από 2 scripts. Πρώτα δημιουργείται μια νέα γραμμή, αν δεν υπάρχει ήδη, στο πίνακα “kinhseis” και μετά επιλέγουμε να φανούν από τον ίδιο πίνακα 2 πεδία, “Order stage” και “Notes”. Χρησιμοποιούμε και σε αυτή τη περίπτωση το πεδίο κλειδί ως “Aa” (“kinhseis”.”Grammh”).

Παράδειγμα 2:

Στο παράδειγμα 3, επεξεργαζόμαστε και αποθηκεύουμε το “custom1” πεδίο του επιλεγμένου παραστατικού. Εδώ το πεδίο κλειδί είναι το “pvlhseis”.”Aa” και “Status” ο τίτλος που έχουμε βάλει για το πεδίο στο παράθυρο επεξεργασίας.

Παράδειγμα 3:

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

Άνοιγμα εξωτερικής εφαρμογής

Το “πεδίο επεξεργασίας” το χρησιμοποιούμε για να ορίσουμε μια λίστα επιλογών σε πεδίο που επιθυμούμε.

Στο “επιλογές πεδίου” γράφουμε χωρισμένες με κόμμα τις επιλογές που θέλουμε να έχει η λίστα. Δεν είναι υποχρεωτικό.

Το “πεδίο ανάγνωσης” το χρησιμοποιούμε για να λαμβάνουμε τα περιεχόμενα ενός πεδίου της επιλογής μας. Δεν είναι υποχρεωτικό.

Χρησιμοποιώντας το πεδίο του “συνδέσμου” μπορούμε να καλούμε μια εξωτερική εφαρμογή.

Όταν ο σύνδεσμος καλεί διεύθυνση διαδικτύου χρησιμοποιούμε τις μεταβλητές:

#VL1 πεδίο επεξεργασίας
#VL2 πεδίο ανάγνωσης

 

Για παράδειγμα:

Σε περίπτωση που καλούμε κάποιο τοπικό πρόγραμμα δεν χρειάζεται να χρησιμοποιήσουμε μεταβλητές γιατί ορίζονται σαν 1η και 2η παράμετρο αντίστοιχα.

Για παράδειγμα:

 

Εντολές της EMDI

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

Περιλαμβάνει όλες τις ρυθμίσεις που κάνουμε για μια αναφορά.

Για παράδειγμα, αν θέλεις να δημιουργήσεις γράφημα, τότε συμπληρώνεις όπου xx το πεδίο για τον άξονα x, yy το πεδίο για τον άξονα y και xxlabel το πεδίο για τον τίτλο του άξονα x.

Για αρίθμηση γραμμών χρησιμοποιούμε τη παρακάτω μεταβλητή μετά το select:

 

Χρώματα

Για να δώσουμε χρώμα έχουμε δυνατότητα να ορίσουμε μια μεταβλητή που παίρνει κάποιες τιμές (μέχρι 9) χωρισμένες με κόμμα π.χ.:

1,22,2,45,3,90,3,111,9

Το χρώμα που παίρνει η γραμμή αντίστοιχα είναι:

κίτρινο,κόκκινο,πράσινο,κίτρινο,κόκκινο,πράσινο,κίτρινο,κόκκινο,πράσινο

 

Αναπτυσσόμενη λίστα

Υπάρχει η δυνατότητα να ενεργοποιήσουμε μία λίστα με επιλογές. Η κάθε επιλογή εισάγει ένα κώδικα στη μεταβλητή –combo–, που τον διαβάζει από αντίστοιχο αρχείο με κατάληξη psql.

Στο παρακάτω παράδειγμα δημιουργούμε 2 επιλογές, DELIVERY και RESERVED

Όταν ο χρήστης επιλέγει DELIVERY τότε το περιεχόμενο του αρχείου sql1.psql εισάγεται στη θέση της μεταβλητής –combo–.

Παράδειγμα αρχείου psql

ή οποιοσδήποτε κώδικας sql που θέλουμε να συνδυαστεί με το κύριο κώδικά μας.

Τα αρχεία psql τα αποθηκεύουμε στον ίδιο φάκελο με τις αναφορές.

 

Δικαιώματα

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

 

Πρόσθετες λειτουργίες στην SQL (functions)

Λήψη πεδίου από κείμενο διαχωρισμένο:

Αποτέλεσμα: test2

Μετατροπή κειμένου σε αριθμό με δεκαδικά

Αποτέλεσμα: 152,33

Αποτέλεσμα: 152,33

Μετατροπή κειμένου σε αριθμό χωρίς δεκαδικά

Αποτέλεσμα: <null>

Αποτέλεσμα: 152

 

* Σημείωση: Για εκτέλεση πολλαπλών queries βάζουμε στην αρχή του κώδικα –##

 

“>