---
title: "Web Forms"
canonical: "https://wiki.soft1.eu/space/ATEL/182091974/Web%20Forms"
format: markdown
---
Εισαγωγή Περιγραφή σχεδιασμού εφαρμογής  Γενικά στοιχεία  Browser  Header - Grid - Footer Γενικά  Edit Lookup  Selector Selector για ανάγνωση barcode ComboBox  DBComboBox  Παράδειγμα εφαρμογής Εισαγωγή Το module Web Forms του Atlantis δίνει την δυνατότητα σχεδιασμού εφαρμογών που μπορούν να λειτουργήσουν μέσω ενός web browser. Η επικοινωνία με το Atlantis γίνεται μέσω του RWS (Roads Web Service). Το Web Forms βρίσκεται στο μενού: Οργάνωση λειτουργίας \ Βοηθητικές εργασίες \ Web Forms.      κάντε κλικ για μεγέθυνση Περιγραφή σχεδιασμού εφαρμογής Σε αυτή την ενότητα του κειμένου θα γίνει αναλυτική περιγραφή του σχεδιασμού μίας νέας εφαρμογής. Ο κάθε σχεδιασμός, έχει στοιχεία που είναι ομαδοποιημένα ως εξής: Γενικά στοιχεία Στοιχεία browser Στοιχεία header Στοιχεία grid Στοιχεία footer Γενικά στοιχεία Στα γενικά στοιχεία της εφαρμογής συμπληρώνονται τα δεδομένα που εμφανίζονται στην  διπλανή εικόνα .  Εκτός από τα αυτονόητα στοιχεία (κωδικός, περιγραφή, δικαιώματα χρήσης), υπάρχει και το πεδίο  Classname . Σ’ αυτό  επιλέγετε την  κλάση της σχεδιαζόμενης  εφαρμογής.                  κάντε κλικ για μεγέθυνση Στον   επιλογέα   κλάσεων   εμφανίζεται   dictionary   με το σύνολο των κλάσεων του προγράμματος   Atlantis   και μία σύντομη περιγραφή για την κάθε μία.                    κάντε κλικ για μεγέθυνση Εναλλακτικά, το   classname   εμφανίζεται και μέσα από την ίδια την εφαρμογή, με τα πλήκτρα   Alt   +   Ctrl   +   Shift   Z .   Σ την εικόνα εμφανίζεται η κλάση του προγράμματος καταχώρησης συναλλαγών πωλήσεων που ανακτήθηκε με αυτόν τον τρόπο.                  κάντε κλικ για μεγέθυνση Σε περίπτωση που επιθυμούμε να γράψουμε σε δικούς μας ( user   defined )   πίνακες και πεδία, ορίζουμε το όνομα   της   κλάση ς ως   TGeneralClient   και   στη συνέχεια   την περιγράφουμε στο κάτω μέρος της οθόνης πατώντας δεξί   click   στο σημείο που θα έπρεπε να είναι η περιγραφή της κλάσης.   Ακολουθεί   παράδειγμα   ορισμού   μιας   κλάσης.                    κάντε κλικ για μεγέθυνση [DATAMODULE]   MAINTABLE=CUSTOMER   KEYFIELDS=ID [CUSTOMER]   KEYFIELDS=ID   [CUSTADDRESS]   KEYFIELDS=PERID   MASTERFIELDS=ID   MASTERTBNAME=CUSTOMER   [CUSTBANKACCOUNT]   KEYFIELDS=PERID   MASTERFIELDS=ID   MASTERTBNAME=CUSTOMER   [CUSTRESPPERSON]   KEYFIELDS=PERID   MASTERFIELDS=ID   MASTERTBNAME=CUSTOMER Browser Στην οθόνη αυτή συμπληρώνονται όλα τα απαραίτητα στοιχεία για την εμφάνιση του browser της εφαρμογής. Στο πάνω μέρος συμπληρώνεται το επιθυμητό query. Εναλλακτικά, πατώντας δεξί click πάνω στον αντίστοιχο χώρο μπορεί να συμπληρωθεί αυτόματα το default query της αντίστοιχης κλάσης, όπως εμφανίζεται στην παρακάτω εικόνα.                  κάντε κλικ για μεγέθυνση Στη συνέχεια, χρησιμοποιώντας το   ορίζονται τα πεδία που θα εμφανιστούν στο browser. Για κάθε πεδίο, μέσω ειδικής φόρμας ορίζονται οι λεπτομέρειες εμφάνισης. Κατά τη σύνταξη του query μπορούν να χρησιμοποιηθούν οι παρακάτω παράμετροι του προγράμματος: @ ComID  (Εταιρία), @ FyeID  (Χρήση), @ LoginDate  (Ημ/ναι εισόδου), @ FipID  (Περίοδος εισόδου), @ CurrentDate  (Τρέχουσα ημ/νια), @ UserID  (Χρήστης), @ BranchID  (Υποκατάστημα). Στο τέλος του browser query θα πρέπει οπωσδήποτε να υπάρχει $w για να λειτουργούν σωστά τα φίλτρα του browser.                  κάντε κλικ για μεγέθυνση Browser Header - Grid - Footer Στις ενότητες που ακολουθούν (header, grid, footer) ορίζονται τα πεδία του data module που θα εμφανιστούν στις αντίστοιχες περιοχές της εφαρμογής. Ο τρόπος ορισμού πεδίων είναι κοινός για όλες τις ενότητες. Ακολουθεί αναλυτική περιγραφή. Γενικά Οι πληροφορίες που ορίζονται στο πρώτο μέρος όλων των πεδίων είναι κοινές. Σ' αυτό ορίζεται η περιγραφή με την οποία το συγκεκριμένο πεδίο θα εμφανιστεί στην οθόνη, ο πίνακας και πεδίο του data module στο οποίο αντιστοιχεί.                  κάντε κλικ για μεγέθυνση Κατά τον ορισμό των αντικειμένων του grid, εμφανίζεται μία πρόσθετη ιδιότητα που αφορά την επαναληπτική καταχώρηση όπως φαίνεται στην παρακάτω εικόνα. Ενεργοποιώντας την ιδιότητα αυτή επιτυγχάνεται η διατήρηση της τιμής του πεδίου κατά τη διάρκεια επαναλαμβανόμενων καταχωρήσεων. Π.χ. καταχώρηση συναλλαγών με χρώμα μέγεθος.                  κάντε κλικ για μεγέθυνση Edit Με το αντικείμενο αυτό ορίζονται απλά πεδία καταχώρησης. Επίσης, καθορίζεται αν το πεδίο θα εμφανίζεται στην φόρμα και αν θα απαγορεύεται η μεταβολή του.                  κάντε κλικ για μεγέθυνση Lookup Με το αντικείμενο αυτό ορίζονται πεδία τύπου lookup. Καθορίζονται ο πίνακας και το πεδίο σύνδεσης, τα πεδία που θα εμφανιστούν στη λίστα (drop down list) και το πεδίο που τελικά θα εμφανιστεί στη φόρμα αφού γίνει η επιλογή από το drop down list.                  κάντε κλικ για μεγέθυνση Selector Με αυτό το είδος αντικειμένου ορίζονται στη φόρμα πεδία τύπου selector. Σε περίπτωση που υπάρχει ήδη έτοιμος selector του Atlantis (π.χ. customer, supplier κλπ) γίνεται επιλογή αυτού και το μόνο που μένει να οριστεί είναι αν θα επιτρέπεται εισαγωγή δεδομένων πριν από το άνοιγμα του selector (Edit controls - checkbox), και το αν την πρώτη φορά που θα εμφανιστεί ο selector θα είναι ήδη εμπλουτισμένος με δεδομένα (Auto select checkbox).                  κάντε κλικ για μεγέθυνση Εναλλακτικά, σε περίπτωση που ο selector δεν είναι μεταξύ των ετοίμων selectors του Atlantis, θα πρέπει συμπληρώνοντας τις κατάλληλες τιμές στα αντίστοιχα πεδία, να δημιουργηθεί νέος selector.  Πρώτα ενεργοποιείται ο custom selector με το αντίστοιχο check box και ορίζεται αν θα είναι υπερεταιρικός. Στη συνέχεια, ορίζεται ο πίνακας και το πεδίο με το οποίο αυτός θα συνδεθεί με τον αντίστοιχο πίνακα και πεδίο του data module. Κατόπιν ορίζονται τα δύο πεδία που θα εμφανιστούν στην εφαρμογή, αφού ο χρήστης ολοκληρώσει την επιλογή του από τον selector. Στα πεδία λίστας ορίζονται όλα τα πεδία που θα εμφανιστούν στον selector και ταυτόχρονα θα αποτελούν και φίλτρα επιλογής δεδομένων. Στον τίτλο ορίζεται ο τίτλος του selector και στην πρόσθετη συνθήκη μπαίνει η επέκταση του query για να επιτευχθεί περιορισμός των δεδομένων. Κατά τη σύνταξη του query μπορούν να χρησιμοποιηθούν οι παρακάτω παράμετροι του προγράμματος: @ ComID  (Εταιρία), @ FyeID  (Χρήση), @ LoginDate  (Ημ/ναι εισόδου), @ FipID  (Περίοδος εισόδου), @ CurrentDate  (Τρέχουσα ημ/νια), @ UserID  (Χρήστης), @ BranchID  (Υποκατάστημα). Οι ιδιότητες "Edit controls" και "Auto select" χρησιμοποιούνται για να δώσουν δυνατότητα πληκτρολόγησης φίλτρων και αυτόματη αναζήτηση με βάση το φίλτρο που πληκτρολογήθηκε αντίστοιχα.                  κάντε κλικ για μεγέθυνση Selector για ανάγνωση barcode Η αναζήτηση ειδών με χρήση barcode μπορεί να υλοποιηθεί με χρήση Custom selector. Ακολουθεί παράδειγμα:  Η διαφορά του selector αυτού από έναν κανονικό selector είναι: Στα πεδία εμφάνισης δηλώνεται μόνο ένα πεδίο. Ενεργοποιείται η ιδιότητα "Κωδ. αναζήτησης". Αυτό σημαίνει ότι κατά την εμφάνιση της γραμμής για διόρθωση, στο πεδίο αυτό δεν θα εμφανίζονται δεδομένα. Τα παραπάνω δύο χαρακτηριστικά στησίματος του selector για ανάγνωση barcode δεν είναι δεσμευτικά μόνο για το barcode αλλά μπορούν να χρησιμοποιηθούν γενικότερα. Πληκτρολογώντας ένα barcode, μπορεί να ενεργοποιηθεί ο selector. Σ' αυτή την περίπτωση, αν το barcode είναι συνδυασμένο μόνο με ένα είδος αυτό εμφανίζεται αυτόματα στην οθόνη. Αν είναι συνδυασμένο με περισσότερα του ενός είδη, αυτά εμφανίζονται σε λίστα και ο χρήστης μπορεί να επιλέξει. Εναλλακτικά, μετά από την πληκτρολόγηση του barcode μπορεί να πατηθεί το "Enter". Σ' αυτή την περίπτωση το πρόγραμμα θα πάρει ποσότητα και τιμή μονάδας σύμφωνα με τη παραμετροποίηση του ERP. Αν το barcode επιστρέφει περισσότερα από ένα είδη, θα επιλεχθεί το πρώτο από αυτά.                  κάντε κλικ για μεγέθυνση ComboBox Με αυτό το είδος αντικειμένου ορίζονται στη φόρμα πεδία τύπου  combo box. Ο συγκεκριμένος τύπος αντικειμένων χρησιμοποιείται στις περιπτώσεις όπου τα δεδομένα που θα καταλήξουν στους πίνακες της εφαρμογής είναι μη αναγνωρίσιμα από τον χρήστη του προγράμματος. Π.χ. μία ερώτηση τύπου Ναι / Όχι μπορεί να επιστρέφει στη βάση τις τιμές 1/0 αντιστοίχως. Στα πεδία αυτού του τύπου, πέραν των κοινών δεδομένων που αφορούν το data module, τα μόνα στοιχεία που απαιτούνται είναι οι Ε πιλογές  που θα εμφανιστούν υπό μορφή drop list (Π.χ. το Ναι και το Όχι) και οι αντίστοιχες  Τιμές πεδίου  που θα καταγραφούν στη βάση δεδομένων (στη συγκεκριμένη περίπτωση το 1 και το 0 αντίστοιχα).                  κάντε κλικ για μεγέθυνση DBComboBox Με αυτό το είδος αντικειμένου ορίζονται στη φόρμα πεδία τύπου DBComboBox τα οποία εμφανίζουν τις εγγραφές ενός πίνακα υπό μορφή drop list και επιτρέπουν την επιλογή μίας από αυτές. Ο ορισμός ενός τέτοιου πεδίου γίνεται ορίζοντας τον  Πίνακα , το  Πεδίο σύνδεσης  του πίνακα με το αντίστοιχο πεδίο του Data Module και το  Πεδίο λίστας  που ορίζει το πεδίο του πίνακα που θα εμφανιστεί στο drop list. Ολοκληρώνοντας τον σχεδιασμό, της επιθυμητής εφαρμογής το μόνο που μένει είναι η ενεργοποίηση του Web Service (Οργάνωση λειτουργίας -> Βοηθητικές εργασίες -> Web Service).                  κάντε κλικ για μεγέθυνση Παράδειγμα εφαρμογής Τώρα ενεργοποιώντας έναν web browser στη κατάλληλη σελίδα (π.χ.  http://localhost/WebForms ) εμφανίζεται η σελίδα login των web forms.                  κάντε κλικ για μεγέθυνση Πληκτρολογώντας τα στοιχεία εισόδου εμφανίζεται τα μενού με τις διαθέσιμες φόρμες.                  κάντε κλικ για μεγέθυνση Επιλέγοντας μία διαθέσιμη φόρμα, το πρώτο που εμφανίζεται είναι τα φίλτρα του αντίστοιχου browser.                  κάντε κλικ για μεγέθυνση Από το σημείο αυτό μπορεί να γίνει αναζήτηση και εμφάνιση δεδομένων ή καταχώρηση νέας εγγραφής.                  κάντε κλικ για μεγέθυνση Επιλέγοντας μία εγγραφή από το ευρετήριο δεδομένων εμφανίζονται αναλυτικά τα πεδία τα οποία έχουν συμπεριληφθεί κατά τη σχεδίαση σε όλα τα τμήματα της φόρμας (Header, Grid, Footer).  Κατά την καταχώρηση νέας εγγραφής, με το πλήκτρο «Επανυπολογισμός» εκτελείται πλήρως η διαδικασία καταχώρησης συναλλαγών, επιστρέφοντας όλα τα υπολογιζόμενα πεδία, χωρίς όμως να γίνει η πραγματική καταχώρηση των δεδομένων στους πίνακες της βάσης. Κατά την καταχώρηση νέων εγγραφών συμπληρώνονται όλα τα πεδία του header δια πληκτρολόγησης ή επιλογής δεδομένων από selectors και drop lists, ανάλογα με το στήσιμο. Η εισαγωγή / διόρθωση και διαγραφή αναλυτικών γραμμών γίνεται με τη βοήθεια των πλήκτρων   ,   and   .                   κάντε κλικ για μεγέθυνση Επιλέγοντας το πλήκτρο   εμφανίζεται η οθόνη καταχώρησης νέας αναλυτικής γραμμής σύμφωνα με τη παραμετροποίηση της web εφαρμογής.                  κάντε κλικ για μεγέθυνση Με την ολοκλήρωση καταχώρησης των στοιχείων και πατώντας το πλήκτρο «Αποδοχή», εμφανίζεται η γενική οθόνη καταχώρησης με την αναλυτική γραμμή συμπληρωμένη στο τμήμα του grid της φόρμας .                  κάντε κλικ για μεγέθυνση Μετά την «Αποθήκευση» της εγγραφής εμφανίζεται σχετικό ενημερωτικό μήνυμα προς το χρήστη της εφαρμογής, είτε για επιτυχή καταχώρηση, είτε για ανεπιτυχή.                          κάντε κλικ για μεγέθυνση