ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗΣ MYPAGE

                          

20191006 Ektipotika 1

           

1. A. GET VIEWS FROM MSSQL DATABASE

Α) Επιλέγουμε ενα φιλικό σε εμάς όνομα για αυτό το VIEW

Β) Γράφουμε το Select * From (view τα στοιχεια του παραστατικου που θέλουμε)

Γ) Επιλέγουμε την περιοχή της εκτύπωσης (Header, Bory, Footer)

1. Β. GET FIELDS FROM VIEW

Α) Βλέπουμε τα πεδία του σύνδεσμου στην Database (Δυμιουργούνται αυτόματα απο TOLLBOX => CREATE FROM TABLE NAME )

Β) Αλλάζουμε τον τρόπο- λειτουργείας εμφάνησης

Γ) Επιλέγουμε τα TAG για την εισαγωγη τους στην φόρμα εκτύπωσης

2. Α) GREATE <<GROUP OF VIEWS>>

Α) Δυμιουργούμε το κάθε GROUP OF VIEWS. Η Φόρμα εκτυπωσεις διαβάζει απο

ένα GROUP OF VIEWS όλα τα VIEWS που χρειάζεται.

2. Β) ADD VIEWS TO <<GROUP OF VIEWS>>

Α) Προσθέτουμε στα GROUP OF VIEWSτα VIEWS

3. PRINT FORMS

Α) Δυμιουργούμε της Φορμες Εκτύπωσης επιλέγοντας.

Β) Το όνομα της φόρμας.

Γ) Το GROUP OF VIEWS που διαβάζει

Δ) Στοιχεία Εμφάνησης (Landscape , Lines Per Page, BackGround....)

 

ΔΙΑΔΙΚΑΣΊΑ.

1) Ενεργοποίηση Εκτύπωσης

    Επιλέγουμε ένα παραστατικό, επιλέγουμε την εκτύπωση και επιλέγουμε μία φόρμας εκτύπωσης

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

2) Φόρτωμα φόρμας εκτύπωσης

=>Η φόρμα εκτύπωσης έχει TAGS που πρέπει να ενημερώσει ή διαγράψει πριν την εκτύπωση της.

=> Για να βρει τις τιμές για τα TAGS ξεκινάει από το <<GROUP OF TABLES>> που το ξέρει

=> διαβάζει το Β) ADD VIEWS TO <<GROUP OF VIEWS>> με βάσει το <<GROUP OF TABLES>>

=> διαβάζει το A. GET VIEWS FROM MSSQL DATABASE με βάσει το VIEW για να βρει το Select * From ....

=> εκτελεί τα  Select * From .... για να Φορτώσει τα στοιχεία από τα View

=> διαβάζει το Β. GET FIELDS FROM VIEW με βάσει το VIEW για να βρει τα TAGS

=> Αντικαθιστά τα TAGS της φόρμας με την μορφοποιημένη πληροφορία τα στοιχεία από τα View

 

-------------------------   Α Ν Α Λ Υ Τ Ι Κ Α   -------------------------  

 

1. A. GET VIEWS FROM MSSQL DATABASE
20191006 Ektipotika 2 

Οι πίνακες φορτώνουν τα στοιχεία τους σε μία από τις 3 περιοχές HEADER - BODY - FOOTER της φόρμας εκτύπωσης.
Δίνουμε ένα φιλικό, μοναδικό όνομα για να το χρησιμοποιήσουμε στις υπόλοιπες διαδικασίες του προγράμματος.
Επιλέγουμε σε ποιο τμήμα της φόρμας εκτύπωσης θέλουμε να εμφανιστούν τα στοιχεία από το συγκεκριμένο διάβασμα.

<<......  Multiline 1 ... 10 >>
 Αν θέλουμε στο HEADER / BODY / FOOTER να φορτώσουμε ένα ολόκληρο view - πίνακα, ανεξάρτητο από τις άλλες γραμμές αυτής της περιοχής, επιλέγουμε στο Template της φόρμας ένα από τα Multiline. Στην φόρμα εκτύπωσης και στην αρχή τις γραμμής που θέλουμε βάζουμε την σήμανση #MultiLine1-10#  και μετά κανονικά τα πεδία του Multiline πίνακα που τα επιλέγουμε από τα διαθέσιμα πεδία στο δεξί τμήμα της φόρμας. Τα στοιχεία που εμφανίζονται στο Multiline παραμετροποιούνται βάση τον τύπο του παραστατικού και του Print Group, ανεξαρτήτως της φόρμας εκτύπωσης. Εάν θέλουμε σε διαφορετικές φόρμες να εμφανίσουμε διαφορετικά στοιχεία του Action επιλέγουμε διαφορετικά Multiline (1,2,3,4....). Με τον διαχωρισμό στο πεδίο Print Group διαβάζει από το View V_PrintParPelDataPrintTemplate1,2,3,4... και φέρνει διαφορετικά στοιχεία. 

<< ##ExtraRow1## έως 4>>

Αποκλειστικά για το BODY της φόρμας εκτύπωσης μπορούμε να χρησιμοποιήσουμε ##ExtraRow1..4## για να φέρουμε EXTRA γραμμές για κάθε γραμμή προϊόντων. Με αυτό τον τρόπο φέρνουμε τις Ιδιότητες του κάθε προϊόντος και αλλά όπως το καθαρό ποσό , ΦΠΑ, Τελικό ποσό. Βάζουμε το ##ExtraRow1## κάτω από την κεντρική γραμμή των προϊόντων. Για κάθε κεντρική γραμμή προϊόντων, το πρόγραμμα αντικαθιστά το ##ExtraRow1## με τις εγγραφές που θα προκαλύψουν από την εξής διαδικασία
Βρίσκει στην τρέχων γραμμή των προϊόντων την τιμή CodExtraRow1 και την ονομάζει MyCodExtraRow1. Με αυτή την τιμή φορτώνει από το VIEW V_PrintPar_ExtraRow1 Where CodExtraRow1 = MyCodExtraRow1 και αντικαθιστά όλη την γραμμή που έχει την σήμανση ##ExtraRow1## με όσες γραμμές βρει από το V_PrintPar_ExtraRow1. Δεν υπάρχει άλλη παραμετροποίηση για το ##ExtraRow## γιατί είναι μεταβλητό ανά γραμμή προϊόντων.

Συμπέρασμα: 

Το ##MultiLineΧΧΧ## διαβάζεται μία φορά σε κάθε παραστατικό και τα στοιχεία που φέρνει τοποθετούνται μία φορά στη γραμμή που είναι το ##MultiLineΧΧΧ## και στα πεδία που ακολουθούνε στην ίδια γραμμή.

Το ##ExtraRowΧΧΧ## διαβάζεται για κάθε αναλυτική γραμμή του παραστατικού, μπαίνει σε κάθε γραμμή του παραστατικού, και δεν έχει πεδία, είναι ολόκληρη γραμμή.

 


1. Β. GET FIELDS FROM VIEW

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

20191006 Ektipotika 3

 Οι μεταβλητές που φτιάξαμε σε αυτήν την φόρμα συνδέονται στις φόρμες εκτύπωσης βάζοντας στις φόρμες εκτύπωσης το # FORM TAG # το οποίο αντικαθιστάτε όταν γίνεται η εκτύπωση με το κείμενο που διαβάζεται απο τον SQL.

Fix Len: Αν το Fix Len > 0 τότε το κείμενο που θα εμφανιστεί θα έχει ακριβώς τόσους χαρακτήρες. Αν φορτωθούνε περισσότεροι θα κοπούνε. Αν φορτωθούν λιγότεροι θα προστεθούν κενά.

Len Perig: Εάν είναι chek τότε  το κείμενο που θα εμφανιστεί θα έχει ακριβώς τόσους χαρακτήρες όσους η περιγραφή του # FORM TAG #. Αν φορτωθούνε περισσότεροι θα κοπούνε. Αν φορτωθούν λιγότεροι θα προστεθούν κενά.

Len Data: Εάν είναι chek τότε  το κείμενο που θα εμφανιστεί θα έχει όσους χαρακτήρες θα φορτωθούν από τον SQL (εάν το τελικο κειμενο ειναι μεγαλυτερο του # FORM TAG # θα σπρωξει την γραμμη δεξια.

Del Line: Εάν είναι chek και το κείμενο που θα φορτωθεί είναι κενό τότε διαγράφεται όλη η γραμμή ότι και να έχει.

Del Space: Εάν είναι chek και το κείμενο που θα φορτωθεί είναι κενό τότε διαγράφεται το # FORM TAG # και η υπόλοιπη γραμμή μετακινείται αριστερά.

 

2. Α) GREATE <<GROUP OF VIEWS>>

 20191006 Ektipotika 4

Δημιουργούμε τα TEMPLATE στα οποια θα συνδέσουμε τους πίνακες και μετά θα τα συνδέσουμε στης φόρμες.

 

2. Β) ADD VIEWS TO <<GROUP OF VIEWS>>

 20191006 Ektipotika 5

Επιλέγουμε τους πίνακες που θέλουμε να συνδεθούν με το Template και τα στοιχεία τους να είναι διαθέσιμς ατις φόρμες που είναι το συνδεδεμένο το template

 

3. PRINT FORMS 

20191006 Ektipotika 6

 

ΣΧΕΔΙΑΣΜΟΣ ΦΟΡΜΑΣ ΕΚΤΥΠΩΣΗΣ

20191006 Ektipotika 7

Δημιουργούμε τις φόρμες εκτύπωσης απο το κενό ή με αντιγραφή μιας υπάρχων φόρμας, την αποθυκέυουμε και πατάμε EDIT FORM

Βλέπουμε το ##ExtraRowΧΧΧ## στο Body.

Βλέπουμε το ##MultiLineΧΧΧ# στο HEADER / BODY / FOOTER.

 

 

LINK ACTION + EVENT WITH PRINT FORMS

Οταν εχουμε ενα παραστατικο και το εκτυπωνουμε θελουμε με την σειρα προτεραιοτητας να χρησιμοοοιηθει η φορμα εκτυπωσης " ΧΡΗΣΗ ΦΟΡΜΑΣ ΕΚΤΥΠΩΣΗΣ " με τόσα αντιγραφα.

Προεπιλεγμένη φόρμα εκτύπωσης. Π.χ. όταν θα εκτυπώνουμε ένα EU OFFER στην εκτύπωση θα εμφανιστεί η φόρμα εκτύπωσης CLIENT OFFER FULL και με το Reload Form θα εμφανιστούν τα στοιχεία. Ενώ αν εκτυπώσουμε ένα EU INVOICE θα εμφανιστεί η φόρμα εκτύπωσης CLIENT INVOICE. 

 

ACTION DATA => PRINT CONFIG

 Εδώ στο 4. PRINTING DATA από το VIEW TOTAL CONFIGURATION FOR - PRINT DATA - AND FIX DISPLAY SORT ORDER επιλέγουμε τι θέλουμε να τυπώνεται και με ποια σειρά θέλουμε να εμφανίζονται στην εκτύπωση, ανά group και ανά Action type, όχι ανά φόρμα και όχι ανά Template.

 

ITEM MONEY TYPE => PRINT CONFIG

 

 Είναι ο τρόπος εκτύπωσης για το ##ExtraRow2##

 

 

SOS

Η παραμετροποίηση γίνεται ανά τύπο παραστατικών και ανά group εκύπωσης και όχι ανά φόρμα ή Template. Δηλαδή σε όλες τις φόρμες τα στοιχεία του παραστατικού θα είναι τα ίδια. Υπάρχει η δυνατότητα όμως να φτιάξουμε άλλο group εκτύπωσης με άλλη παραμετροποίηση τελείως διαφορετική. Τα ##ExtraRowΧΧΧ## διαβάζουν από συγκεκριμένο view ανά γραμμή προϊόντος και δεν παραμετροποιούνται γιατί κάνουν υπολογισμούς και άλλα πράγματα.

 

 

 

 

Από εδώ φτιάχνουμε το ##ExtraRow2##.

Ελέγχονται με την σειρά και γίνεται όποιο βρει πρώτο.

1) Εάν στο Action υπάρχει το προϊόν και η πληροφορία του προϊόντος αυτό θα τυπωθεί γιατί σημαίνει ότι θέλουμε σε αυτο το Action κάποια διαφοροποιημένη τιμή.

2) Εάν στο Action υπάρχει το προϊόν και αν σε αυτό το προϊόν υπάρχει η πληροφορία του προϊόντος αυτό θα τυπωθεί γιατί σημαίνει ότι θέλουμε σε αυτο το προϊόν κάποια διαφοροποιημένη τιμή από την default τιμή του group των προϊόντων.

3)Εάν στο Action δεν υπαρχει η πληροφορια του προϊοντος και στο προϊόν δεν υπαρχει η πληροφορια του προϊοντος τότε ελεγχεται ο πινακας με τις default τιμες των προϊοντων και αν ειναι check τότε σημαινει οτι αυτη η default πληροφορια θελουμε να τυπωθει.

 

 

 

ΑΝΤΙΜΕΤΩΠΙΣΗ ΠΡΟΒΛΗΜΑΤΩΝ

 

 

 

 

Εάν εδώ το Per Carton Units δεν είναι 0 τότε πάμε στο LOT Data.

 

 

Εάν και εδώ δεν είναι 0 πατάμε το γρανάζι.

 

 

 Διαλέγουμε απο το 2. ITEMS DEFAULT αυτόπ που θέλουμε.

 

 

Κοιτάμε αν έχει check στο Print και άν έχει το αφαιρούμε.

 

 

 

ΑΝΤΙΜΕΤΩΠΙΣΗ ΠΡΟΒΛΗΜΑΤΩΝ (ΣΤΟΙΧΕΙΑ ACTION)

 

 

 

Βλέπουμε ότι στο RULES FOR SEA TRANSPORT το CIF είναι πιο αριστερά.

Πάμε λοιπόν στο EDIT FORM και πατάμε το ACTION DATA => PRINT CONFIG.

 

 

Πατάμε στο 4. PRINTING DATA το VIEW TOTAL CONFIGURATION FOR - PRINT DATA - AND FIX DISPLAY SORT ORDER

 

 

Πρέπει να σιγουρεφτούμε ότι όλα τα TEXT BEFORE έχουν ίσα κενά.