Η ιστοσελίδα μας info-gate.gr χρησιμοποιεί cookies.Με την χρήση αυτής της ιστοσελίδας, αποδέχεστε αυτόματα την χρήση των cookies.

InfoGate Technologies
×
 x 

0
Καλάθι Αγορών
0
Δευτέρα, 08 Φεβρουαρίου 2021 14:25

Παραμετροποίηση Φορμών Pegasus - Βασικοί Ορισμοί και Πρόσθετες Δυνατότητες.

Γράφτηκε από τον
Βαθμολογήστε αυτό το άρθρο
(0 ψήφοι)

Σκοπός:Παραμετροποίηση Φορμών Pegasus - Βασικοί Ορισμοί και Πρόσθετες Δυνατότητες.

Τα προγράμματα τεχνολογίας Pegasus διαθέτουν περιβάλλον διαχείρισης των φορμών για την εκτύπωση των Παραστατικών και των Παραγγελιών. Σκοπός αυτής της μελέτης είναι η κάλυψη των βασικών ερωτημάτων που αφορούν στη βασική παραμετροποίηση των Εκτυπώσεων από τις εφαρμογές Pegasus.

Γενικά
Οι φόρμες αποθηκεύονται σε αρχεία με επέκταση frp στο φάκελο του κάθε τερματικού. Βρίσκονται στον υποφάκελο forms του ανάλογου Module. Για παράδειγμα οι φόρμες παραστατικών και παραγγελιών είναι στον υποφάκελο basic\forms. Σε κάθε περίπτωση το πλήρες όνομα και φάκελο αποθήκευσής της φαίνεται στο παράθυρο διαχείρισής της (βλ. παρακάτω). 
Προτείνεται πριν από κάποια αλλαγή στις φόρμες, να κρατάτε ένα backup του αρχείου που θα αλλάξετε. 

Οι Φόρμες που υλοποιείτε από την επιλογή [Φόρμες -> Pegasus Forms], αποθηκεύονται στην βάση και όχι στο κάθε τερματικό. 

Συχνά Ερωτήματα

Υπάρχουν έτοιμες φόρμες (π.χ. Αγγλική Εκτύπωση) τις οποίες μπορώ να χρησιμοποιήσω εκτός από την Προκαθορισμένη ;
Όλες οι έτοιμες φόρμες παραστατικών βρίσκονται μέσα στον φάκελο της εφαρμογής στην επιλογή basic/forms/standard. Στο readme φαίνεται ποια είναι η διαφοροποίηση της καθεμίας. Εκεί υπάρχει και η: polpa_01_eng.frp = (Α4) όμοιο με το Pola_01.frp με Αγγλικούς Τίτλους.
Παραδείγματα έτοιμων φορμών:Εκτύπωση 2 αποδείξεων σε μία Α4 , Εκτύπωση χωρίς τα λεκτικά και γραμμές (για προτυπωμένο) ,Φόρμες για θερμικούς εκτυπωτές , Ειδικές φόρμες για συγκεκριμένους κλάδους(Μεταφορικές, Γυμναστήρια, Courier κοκ).
Στον ίδιο φάκελο θα δρείτε και παραδείγματα μεθόδων που μπορούν να εκτελεστούν μέσα από τις φόρμες. 

Παρόμοια, θα βρείτε έτοιμες φόρμες - παραδείγματα - και μεθόδους στον κατάλληλο υποφάκελο για κάθε module που έχει εκτύπωση φόρμας (π.χ. trans/forms/std, estiasi/forms/std, courier/forms/std κ.ο.κ.)

Υπάρχει δόκιμος τρόπος να εξετάσω  αν κάποιο πρόβλημα στην εκτύπωση οφείλεται στον εκτυπωτή ή στη Φόρμα ; 
Δοκιμάστε να εκτυπώσετε σε έναν PDF Printer. Αν η εκτύπωση είναι η επιθυμητή , δοκιμάστε να ελέγξετε τον driver ή τις ρυθμίσεις του εκτυπωτή σας.

Που βρίσκονται οι Φόρμες μέσα στην Εφαρμογή; (Print Screen)
Το πρόγραμμα διαθέτει πολλές διαφορετικές φόρμες που τυπώνονται. 
Στα κύρια modules θα τις βρείτε, για να τις τροποποιήσετε, στις επιλογές: 
α. Παραστατικά Πελατών:[ToolBox-> Εργαλεία Παραμετροποίησης -> Παραμετροποίηση Εφαρμογής -> Κεντρικοί Πίνακες Παραμετροποίησης -> Συναλλαγών και Συναλλασσομένων -> Ορισμός Παραστατικών Πελατών].Επιλέγετε το παραστατικό που θέλετε να τροποποιήσετε.Επιλέγετε Διαχείριση Φόρμας.
β. Παραστατικά Προμηθευτών:[ToolBox-> Εργαλεία Παραμετροποίησης -> Παραμετροποίηση Εφαρμογής -> Κεντρικοί Πίνακες Παραμετροποίησης -> Συναλλαγών και Συναλλασσομένων -> Ορισμός Παραστατικών Προμηθευτών].Επιλέγετε το παραστατικό που θέλετε να τροποποιήσετε.Επιλέγετε Διαχείριση Φόρμας.
γ. Παραγγελίες:[ToolBox-> Εργαλεία Παραμετροποίησης -> Παραμετροποίηση Εφαρμογής -> Κεντρικοί Πίνακες Παραμετροποίησης -> Συναλλαγών και Συναλλασσομένων -> Βασικές Παράμετροι Παραστατικών->Λοιπά].Επιλέγετε Διαχείριση Φόρμας.
δ. Αποδείξεις: [ToolBox -> Εργαλεία Παραμετροποίησης ->Παραμετροποίηση Εφαρμογής  -> Κεντρικοί Πίνακες Παραμετροποίησης -> Λογιστηρίου -> Ορισμός Αποδείξεων ]
ε. Κινήσεις Λογιστηρίου: [Toolbox -> Εργαλεία Παραμετροποίησης -> Κεντρικής Παραμετροποίησης -> Λογιστηρίου -> Κωδικοί Κίνησης Λογιστηρίου]


Παρόμοιες επλογές υπάρχουν και σε module που τυπώνουν φόρμες.
Estiasi
α. Αναφορά: [ToolBox-> Εργαλεία Παραμετροποίησης -> Παραμετροποίηση Εφαρμογής -> Κεντρικοί Πίνακες Παραμετροποίησης -> Παραμετροποίηση Estiasi -> Βασικές Παράμετροι Estiasi] tab [Εκτυπώσεις]
β. Παραγγελίες Τμημάτων: [ToolBox-> Εργαλεία Παραμετροποίησης -> Παραμετροποίηση Εφαρμογής -> Κεντρικοί Πίνακες Παραμετροποίησης -> Παραμετροποίηση Estiasi -> Εκτυπωτές Παραγγελιών]

Επεξήγηση Βασικών Οθονών.

Φόρμα (Print Screen)

Ορισμοί Χαρτιού (Print Screen)
Γραμμές Ανά Σελίδα:Το πλήθος των γραμμών που εκτυπώνονται ανά σελίδα.
Για Α5 προτείνεται: 52
Για Α4 προτείνεται: 66-72. Πολλές φορές αυτό εξαρτάται και από τη γραμματοσειρά που θα επιλέξετε. Ένας καλός έλεγχος είναι να δείτε πόσοι χαρακτήρες της γραμματοσειράς που επιλέξατε εκτυπώνονται σε ένα απλό έγγραφο κειμένου.

Στήλες Ανά Γραμμή:Έχει να κάνει και με το μέγεθος της γραμματοσειράς που έχετε επιλέξει.
Για Α5 προτείνεται: 100
Για Α4 προτείνεται: 115

Πλάτος και Ύψος Χαρτιού:Οι διαστάσεις του χαρτιού σε Χιλιοστά.Εάν δοθούν μηδενικές τιμές , τότε ακολουθείτε ο driver του εκτυπωτή.Εάν ο εκτυπωτής σας δεν "υπακούει" σε αυτή τη ρύθμιση προτείνεται να τις συμπληρώσετε.
Για Α5 προτείνεται:1480 Χ 2100
Για Α4 προτείνεται:2100 x 2970

Σημείωση:Τσεκάροντας την προεπισκόπηση , κατά την εκτύπωση εμφανίζεται η προεπισκόπηση της εκτύπωσης. Είναι χρήσιμο όσο παραμετροποιείτε τη φόρμα.

Πεδία (Print Screen)
Εδώ φαίνονται όλα τα πεδία που μπορούν να εκτυπωθούν στη φόρμα.Τα πεδία αυτά μπορεί να είναι:
1.Καρφωτά πεδία : Κείμενο , Εικόνα , Διαχωριστική Γραμμή κοκ.
2.Πεδία που η φόρμα «τραβάει» από τα δεδομένα σας

Σχεδίαση Φόρμας (Print Screen)
Παρουσιάζονται όλα τα αντικείμενα που περιέχει η φόρμα , τοποθετημένα στο χαρτί με βάση τη γραμμή και τη στήλη στην οποία βρίσκονται.Η φόρμα είναι χωρισμένη σε 3 μέρη.
1.Κεφαλίδα
2.Κεντρικό Μέρος:Εγγραφές
3.Υποσέλιδο

Συχνά Ερωτήματα

1.Πως γίνεται να ορίσω να εκτυπώνεται (μην εκτυπώνεται) η Περιγραφή 2 του είδους στο παραστατικό;
Στην επιλογή [ToolBox-> Εργαλεία Παραμετροποίησης -> Παραμετροποίηση Εφαρμογής -> Κεντρικοί Πίνακες Παραμετροποίησης -> Συναλλαγών και Συναλλασσομένων -> Βασικές Παράμετροι Παραστατικών] υπάρχει το τσεκ "Περιγραφή 2=Αιτιολογία".

Σχεδίαση Φόρμας

2.Πώς μπορώ να εισάγω ένα αντικείμενο; (Print Screen:Εισαγωγή Κειμένου) &  (Print Screen:Αποτέλεσμα)
1.Από τα πεδία , επιλέγετε (διπλό κλικ) το πεδίο που θέλετε να εισάγετε.
2.Έπειτα , μέσα στη φόρμα , στο σημείο που θέλετε να εκτυπώσετε το νέο αντικείμενο , με διπλό κλικ , κάνετε εισαγωγή.

3.Πώς μπορώ να ορίσω σωστά τα στοιχεία της Επιχείρησής μου;(Print Screen:Ορισμοί)  &  (Print Screen: Αποτέλεσμα Εκτύπωσης) 
[ToolBox -> Εργαλεία Παραμετροποιησης -> Παραμετροποίησης Τερματικού -> Τίτλοι Εκτυπώσεων].Εδώ ορίζετε από μία εώς 7 γραμμές.Εισάγετε κάθε έναν από τους Τίτλους Εκτυπώσεων , εισάγοντας τα πεδία : Τίτλοι Εκτυπώσεων (γραμμή 1) , Τίτλοι Εκτυπώσεων (γραμμή 2) κοκ.

4.Πώς μπορώ να βάλω το logo της επιχείρησής μου; (Print Screen)
Εάν υπάρχει ήδη , τότε εμφανίζεται στη φόρμα με τη μορφή «@».Με διπλό κλικ εκεί  , μπορείτε να δείτε σε ποιόν φάκελο είναι η εικόνα αυτή και πως ονομάζεται. Την αντικαθιστάτε με το logo της επιχείρησής σας.(ίδιο όνομα , π.χ. logo.bmp).
Για να προσθέσετε ένα νέο , επιλέγετε να προσθέσετε μία εικόνα και από εκεί ορίζετε το που βρίσκεται.Ομοίως κινείστε και με το υδατογράφημα (logo2.bmp)

5.Πώς μπορώ να μετακινήσω ένα αντικείμενο;
Επιλέγετε με μονό κλικ τον πρώτο χαρακτήρα του αντικειμένου και το σύρετε στη θέση που θέλετε να τοποθετηθεί. 

6.Πώς γίνονται οι ορισμοί των fonts(Γραμματοσειρά , Μέγεθος Γραμμάτων , Bold κοκ);(Print Screen)
Τα πεδία της Φόρμας εμφανίζονται με διάφορους χρωματισμούς. Κάθε χρώμα αντιστοιχεί σε ένα διαφορετικό font.Ορίζετε τις ιδιότητες κάθε font από το αντίστοιχο tab. 
Προσέξτε, στο παράθυρο επιλογής του Font, αν αυτό αφορά σε εκτύπωση κειμένου (και όχι π.χ. Barcode), να επιλέξετε script=[Greek], για να τυπώνει σωστά τους ελληνικούς χαρακτήρες. 

7.Πώς μπορώ να αλλάξω το πλάτος των διαχωριστικών γραμμών που εκτυπώνονται; (Print Screen:Αποτέλεσμα Εκτύπωσης)
Με διπλό κλικ στο πάνω μέρος της γραμμής θα σας ανοίξει ο πίνακας με τις ιδιότητές της . Από εκεί μπορείτε να αλλάξετε το πλάτος(width) .Ακόμη , ίσως θέλετε από την ίδια επιλογή να αλλάξετε και το χρώμα. 

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

9.Πώς μπορώ να διαγράψω ένα αντικείμενο από τη Φόρμα;
Στο tab αντικείμενα φαίνεται η λίστα με όλα τα αντικείμενα που εκτυπώνονται στη φόρμα. Επιλέγοντας ένα από αυτά (μονό κλικ) το διαγράφετε από το αντίστοιχο button στα δεξιά.

10.Πώς μπορώ να εμφανίζω ένα αντικείμενο μόνο αν ισχύει μία συνθήκη; (Print Screen)
Με διπλό κλικ πάνω σε ένα αντικείμενο υπάρχει ένα πεδίο Συνθήκη. Εκεί θα πρέπει να συμπληρώσουμε τη λογική Έκφραση του Πήγασου. Παρακάτω μπορείτε να δείτε σχετικά Παραδείγματα.

11.Πώς μπορώ να μήν εμφανίζω ένα πεδίο κειμένου στο αντίγραφο του παραστατικού;
Υπάρχουν δύο πιθανοί τρόποι.Η μεταβλητή fhm_copy έχει τον αριθμό του αντίγραφου.
1.Αν το πεδίο είναι Κείμενο-Τίτλος:
Στην επιλογή συνθήκη μπορείτε να ορίζετε πότε θα εμφανίζεται το συγκεκριμένο κείμενο.Αν π.χ. θέλετε να εκτυπώνετε στο πρωτότυπο τότε η συνθήκη είναι fhm_copy=1, για το πρώτο αντίγραφο fhm_copy=2 κοκ
2.Αν το πεδίο είνα έκφραση (Προτεινόμενο).Δίνετε ως έκφραση το παρακάτω:
if(fhm_copy=1, 'ΑΠΟΤΕΛΕΙ ΣΥΝΟΔΕΥΤΙΚΟ ΜΕΤΑΦΟΡΑΣ', 'ΔΕΝ ΑΠΟΤΕΛΕΙ ΣΥΝΟΔΕΥΤΙΚΟ ΜΕΤΑΦΟΡΑΣ') 

12.Πώς μπορώ να εμφανίσω ένα πεδίο μόνο αν η εκτύπωση γίνεται σε PDF;
Αρκεί να ορίσετε τη συνθήκη !empty(prf_pdffile) , σύμφωνα με το 10.

13.Πώς μπορεί να γίνει αναδίπλωση ενός πεδίου που δεν χωράει μόνο σε μία γραμμή;
Στα αντικείμενα που τυπώνονται σε πολλές γραμμές (π.χ. τα είδη του παραστατικού) μπορείτε να επιλέξετε στο "Αναδιπλώνεται σε πολλές Γραμμές"  το ΝΑΙ για το αντικείμενο που σας ενδιαφέρει να αναδιπλώνεται. Στα υπόλοιπα αντικείμενα που τυπώνονται σε πολλές γραμμές αλλά δεν θέλετε να επαναλαμβάνονται ή να αναδιπλώνονται επιλέγετε [Τυπώνεται μόνο 1 φορά ανά εγγραφή].

14.Πώς μπορώ να εκτυπώσω την αιτιολογία για ένα είδος κάτω από το είδος;

1. Θα πρέπει να ορίσετε μία νέα μεταβλητή στο tab "Αρχική μέθοδος".Αντιγράφετε στο tab "Aρχική Μέθοδος" τον κώδικα που βρίσκεται μέσα στα  [ ] . [##VAR my_descr='' ]
2.Θα πρέπει να ορίσετε μία νέα μέθοδο.Στο tab Μέθοδος εγγραφών αντιγράφετε τον κώδικα που βρίσκεται μέσα στα [ ]:
[my_descr:=pegtrim(v102)
##IF !empty(v160)
   my_descr:=my_descr + chr(13) + chr(10) + pegtrim(v160)
##ENDIF] 
3.Στην φόρμα θα διαγράψετε και την περιγραφή και την αιτιολογία και θα βάλετε στην θέση της περιγραφής να τυπώνει την έκφραση my_descr. Στο πεδίο [Αναδιπλώνεται σε πολλές Γραμμές]  θα ορίσετε [ΝΑΙ]. 
4.Στις άλλες στήλες στο πεδίο Στο πεδίο [Αναδιπλώνεται σε πολλές Γραμμές]  θα ορίσετε [Τυπώνεται μόνο 1 φορά ανά εγγραφή].

15.Πώς μπορώ να εκτυπώσω μία μεγάλη Περιγραφή για κάποιο είδος; (Print Screen)
Αρχικά η αιτιολογία θα πρέπει να εκτυπώνεται κάτω από το είδος όπως φαίνεται στο Προηγούμενο Ερώτημα.
Αν δεν είναι αρκετοί οι χαρακτήρες της περιγραφής και της αιτιολογίας η πιο απλή λύση είναι να δημιουργήσουμε στην Αποθήκη μας ένα είδος, το Είδος Τελεία, με κωδικό την τελεία (μπορείτε να χρησιμοποιήσετε όποιον κωδικό θέλετε εσείς). Προτείνουμε να ορίσετε ότι το είδος αυτό δεν συμμετέχει στην απογραφή.

Κατά την καταχώρηση του παραστατικού: 

  • Καταχωρούμε στο παραστατικό το είδος μας
  • Το επόμενο είδος που θα καταχωρήσουμε θα είναι το Είδος Τελεία. Στην περιγραφή του δίνουμε την περιγραφή για το είδος μας. Μπορούμε να καταχωρήσουμε το είδος με κωδικό τελεία πολλές φορές.(PrintScreen)

Ρυθμίσεις Φόρμας
Για το είδος με κωδικό την τελεία δεν θέλουμε να εκτυπώνονται ο κωδικός, η ποσότητα , το ΦΠΑ κοκ.Επομένως ακολουθούμε τα παρακάτω:
1.Θα πρέπει να ορίσετε μία νέα μεταβλητή στο tab "Αρχική μέθοδος". Αντιγράφετε στο tab "Aρχική Μέθοδος" τον παρακάτω κώδικα:
##VAR my_teleia=''
my_teleia:='.'

3.Θα αντιγράψετε για όλα τα πεδία του είδους εκτός από την Περιγραφή στη συνθήκη την έκφραση: 
!(pegtrim(v101)==my_teleia)
Αν το είδος έχει είδη κάποια συνθήκη αντιγράφετε την έκφραση:
.and. !(pegtrim(v101)==my_teleia).
Δείτε παράδειγμα έκφρασης:(Print Screen

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

16.Πώς μπορώ να εκτυπώσω τα παραμετρικά πεδία Λεκτικό 1 και Λεκτικό 2 του είδους ;
1. Θα πρέπει να ορίσετε μία νέα μεταβλητή στο tab "Αρχική μέθοδος".Αντιγράφετε στο tab "Aρχική Μέθοδος" τον κώδικα που βρίσκεται μέσα στα  [ ] .[##VAR my_descr1='' , my_descr2='' , my_descr0='' ]
2.Στο tab Μέθοδος εγγραφών αντιγράφετε τον κώδικα που βρίσκεται μέσα στα [ ]:

[my_descr1:=odbcprintfld('i00', 'pd10', "=pno='{v101}'") 
my_descr2:=odbcprintfld('i00', 'pd11', "=pno='{v101}'") 
##IF !empty(my_descr1) 
   my_descr0:=my_descr1 
##ENDIF 
##IF !empty(my_descr2) 
    my_descr0:=my_descr0 + chr(13) + chr(10) +my_descr2
##ENDIF]
3.Στη φόρμα θα πρέπει να προσθέσετε ένα νέο αντικείμενο Έκφραση-Συνάρτηση.Ως έκφραση δίνεται τη μεταβλητή my_descr0

17.Πώς μπορώ να εκτυπώσω τις Σημειώσεις τιμολογιακής ενός πελάτη;
1. Θα πρέπει να ορίσετε μία νέα μεταβλητή στο tab "Αρχική μέθοδος": ##VAR my_timo=''
2.Θα πρέπει να ορίσετε μία νέα μέθοδο.Στο tab "Μέθοδος Κεφαλίδας" αντιγράφετε τον κώδικα που βρίσκεται μέσα στα [ ]:
[my_timo:=odbcprintfld('a01', 'p31', '=nr01={np03}')]
3.Στη φόρμα θα πρέπει να προσθέσετε ως έκφραση , το πεδίο που σας ενδιαφέρει να εκτυπώσετε.Χρησιμοποιείτε την memoline(my_timo, 10, 1).Η συνάρτηση αυτή εκτυπώνει στην πρώτη γραμμή τους 10 πρώτους χαρακτήρες. Για να εκτυπώσετε τους 10 επόμενους χαρακτήρες σε δεύτερη γραμμή προσθέτετε μία νέα έκφραση memoline(my_timo, 10, 2) κοκ .

18.Πώς μπορώ να αντικαταστήσω την Περιγραφή 1 του είδους Αποθήκης με την Περιγραφή 2 στην standard Αγγλική Φόρμα(polpa_01_eng.frp);
Στο tab Μέθοδος εγγραφών θα πρέπει να αντικαταστήσετε τον κώδικα μέσα στα [  ]
[my_descr:=pegtrim(v102)
##IF !empty(v160)
    my_descr:=my_descr + chr(13) + chr(10) + pegtrim(v160)
##ENDIF

με τον κώδικα μέσα στα [  ]:
[my_descr:=odbcprintfld('i00', 'p9000', "=pno='{v101}'")
##IF !empty(v160)
   my_descr:=my_descr + chr(13) + chr(10) + pegtrim(v160)
##ENDIF
]

19.Πως μποροώ να εκτυπώσω μία εικόνα για κάθε είδος
Μπορείτε να χρησιμοποιήσετε μία συνάρτηση που δημιουργεί ένα temporary αρχείο για κάθε είδος:
1.Αρχική Μέθοδος:Ορίζουμε τη μεταβλητή
##VAR my_bmp=''
2.Μέθοδος εγγραφών :Δημιουργούμε το temporary
my_bmp:=callpeg('..\..\basic\func\i02_first.peg', v101)
3.Εκτύπωση Εικόνας
Για την εκτύπωση της εικόνας , θα προσθέσουμε μία έκφραση στη σχεδίαση της φόρμας χρησιμοποιώντας τη συνάρτηση printbitmap π.χ. printbitmap(14+fpage,3,my_bmp, 150, 150 , .t.)
Θα χρειαστεί να ορίσετε σωστά τις δύο πρώτες παραμέτρους που δηλώνουν τη θέση της εικόνας σας.
Τα ορίσματα της printbitmap : 

  • γραμμή πάνω αριστερής γωνίας
  • στήλη πάνω αριστερής γωνίας
  • αρχείο εικόνας
  • πλάτος εικόνας
  • ύψος εικόνας
  • συνθηκη που ορίζει αν θα γίνει resize σύμφωνα με τις δύο προηγούμενες παραμέτρους

Η μεταβλητή fpage είναι η αρίθμηση των ειδών (1 για το πρώτο είδος που εκτυπώνεται , 2 για το δεύτερο κοκ).

**Μπορείτε να δείτε τον ορισμό της printbitmap και των λοιπών συναρτήσεων: [ToolBox-> Εργαλεία Παραμετροποίησης -> Παραμετροποίηση Εφαρμογής -> Κεντρικοί Πίνακες Παραμετροποίησης -> Παραμετροποίησης Query -> Pegasus Reference Manual] .

20.Υπάρχει κάποιος έξυπνος τρόπος να αντιγράψω τις ιδιότητες μίας φόρμας polpa.frp(πελάτες) στην αντίστοιχη agopa.frp(προμηθευτές);
Mε έναν text editor στο polpa.frp θα αλλάξετε μαζικά το a01 σε a00 και θα δημιουργήσετε το ανάλογο agopa.frp.

21. Μπορώ μετά την εκτύπωση να εκτελέσω μία μέθοδο;
Η μεταβλητή prf_methafter μπορεί να έχει την μέθοδο που θα εκτελεστεί μετά την εκτύπωση. 
Για παράδειγμα μπορεί να ενεργοποιηθεί μια άλλη εκτύπωση με τα στοιχεία παράδοσης των εμπορευμάτων (voucher). 

Στην αρχική μέθοδο ορίζετε:
prf_methafter:='..\..\basic\forms\prvoucher.peg'

Στο φάκελο basic\forms της εφαρμογής δημιουργείτε την μέθοδο prvoucher.peg (με το notepad).
Περιέχει τις εντολές: 

**print
fuse('..\..\basic\_001\f00', .f.)
dbgotop()
peg_arr:={peg_cpath + '..\..\basic\forms\prvoucher.frp', 'f00', my_prnt, ''}
dopeg('..\..\query\_001\prfp11')
closefile('f00')

Το prvoucher.frp είναι μία φόρμα εκτύπωσης που μπορείτε να την δημιουργήσετε μέσα από τον σχεδιαστή. 
 
22. Μπορώ να τυπώσω το σύνολο ολογράφως; 
Στο παραστατικό πελάτη το σύνολο είναι στην μεταβλητή np0109.
Μπορείτε με την χρήση της έκφρασης: 
pegtrim(olo_grafo(np0109)) + ' ευρώ και ' + pegtrim(olo_grafo(np0109, 2)) + ' λεπτά'
να τυπώσετε το ποσό ολογράφως. 

Σύνταξη της συνάρτησης: 
olo_grafo(_value, _decimal)
_value= το ποσό που θα τυπώσει
_desc = τα δεκαδικά που θα τυπωσει. Αν είναι 0 (ή δεν υπάρχει) θα τυπώσει το ακέραιο μέρος. Αν είναι 2 θα τυπώσει ολογράφως το ποσό των 2 πρώτων δεκαδικών ψηφίων.

23. Εκτέλεση Μεθόδου Αντί Φόρμας

Από τα σημεία που μπορείτε να καλέσετε φόρμες τύπου FRP ισχύουν και οι εξής δυνατότητες :
      α. Στον εκτυπωτή να ορίσετε μία μέθοδο δίνοντας /FSC/:[method name]. Σε αυτήν την περίπτωση η εφαρμογή εκτελεί την μέθοδο [method name]

      β. Στην φόρμα μπορείτε να δώσετε μία μέθοδο η οποια εκτελείται.
           β.1. Αν η μέθοδος έχει επέκταση .peg εκτελείται χωρίς να συνεχίσει η εκτύπωση. Είναι χρήσιμη στην περίπτωση που θέλετε να δημιουργήσετε ειδικής μορφής αρχεία, ή να αναλλάβει η μέθοδος όλη την εκτύπωση.
                  Αυτή η λύση είναι όμοια με αυτήν που περιγράφεται στο (23.α)

           β.2. Αν η μέθοδος έχει επέκταση .pin τότε εκτελειται αρχικά η μέθοδος. Στην συνέχεια εκτυπώνεται η φόρμα με ίδιο όνομα με την μέθοδο αλλά επέκταση .frp (π.χ. αν δώσετε την μέθοδο polpa.pin θα εκτελεστεί η μέθοδος polpa.pin και θα τυπωθεί η φόρμα polpa.frp.
                  Μέσα στην μέθοδο μπορείτε να αλλάξετε τις τιμές του array peg_arr που περιέχει πληροφορίες για την εκτύπωση:
                  peg_arr[1] := Ονομα φόρμας που θα τυπωθεί (για παράδειγμα ανάλογα με τα στοιχεία των εγγραφών μπορεί να θέλετε να τυπώσετε άλλη φόρμα)
                  peg_arr[2] := Ονομα αρχείου που θα τυπωθεί.

     γ. Μπορείτε να εκτελέσετε μία μέθοδο στην αρχική μέθοδο της φόρμας, η οποια θα δημιουργεί ένα προσωρινό αρχείο το οποιο τελικά θα τυπωθεί. Θα πρέπει το όνομα του νέου αρχείου να το δώσετε στην μεταβλητή prf_tmpname ώστε να το διαγράψει στο τέλος, και στην μεταβλητη prf_tmpr ώστε να το τυπώσει. Δείτε για παράδειγμα την μέθοδο basic\forms\methods\analitika.peg

24. Υπολογισμός Ποσότητας με εξαίρεση συγκεκριμένων ειδών. 
Αν θέλω να τυπώνω την ποσότητα των ειδών του παραστατικού αλλά να αποκλείσω συγκεκριμένα είδη (π.χ. το είδος τελεία - δες και το 15)

α. Στην αρχική Μέθοδος της φόρμας ορίζουμε μία νέα μεταβλητή
##VAR my_qty=0

β. Στην Μέθοδο Εγγραφών υπολογίζουμε την ποσότητα στην νέα μεταβλητή. 
if(! pegtrim(v101)=='.', my_qty:=my_qty + v103, )

γ. Στο υποσέλιδο, για να έχει εκτελεστεί ο υπολογισμός, τυπώνουμε την έκφραση: 
str(my_qty, 14, 3)

Διαβάστηκε 177 φορές Τελευταία τροποποίηση στις Δευτέρα, 08 Φεβρουαρίου 2021 14:37
Συνδεθείτε για να υποβάλετε σχόλια

Find Us On Facebook

Κατεβάστε την εφαρμογή απομακρυσμένης υποστήριξης για να σας βοηθήσουμε σε περίπτωση που αντιμετωπίζετε προβλήματα με κάποιο απο τα προϊόντα μας η καλέστε μας στο 2310729873.

1. Remote Support - AnyDesk
2. Δοκιμή κάμερας
3. Δοκιμή μικροφώνου

SUPPORT