FAQs

Τελευταία Αλλαγή: 11/03/2026

Δεν μπορείτε να διαμορφώσετε απευθείας τις Standard Φόρμες Εκτύπωσης. Θα πρέπει να αντιγράψετε τη Φόρμα που θέλετε να επεξεργαστείτε και στη συνέχεια να διαμορφώσετε τη νέα Φόρμα (το αντίγραφο).

Τελευταία Αλλαγή: 11/03/2026

Μπορείτε να εισάγετε τα Δεδομένα Εκτύπωσης είτε μέσα απο το Tab "Δεδομένα Εκτύπωσης" είτε απευθείας απο το Form Generator.

  • Tab "Δεδομένα Εκτύπωσης": είτε επιλέγετε [Ενέργειες -> Νέα Καταχώρηση] είτε [Ενέργειες -> Αντιγραφή].
  • Form Generator: είτε με [Δεξί Κλικ -> Προσθήκη Στοιχείου] είτε με [Δεξί Κλικ -> Αντιγραφή Στοιχείου]
Τελευταία Αλλαγή: 11/03/2026

Μπορείτε να διαχειριστείτε τα Δεδομένα Εκτύπωσης είτε μέσα απο το Tab "Δεδομένα Εκτύπωσης" είτε απευθείας απο το Form Generator. Με διπλό κλικ σε ένα Δεδομένο Εκτύπωσης ανοιγει το παράθυρο της αντίστοιχης Έκφρασης.

Τελευταία Αλλαγή: 11/03/2026

Ανοίγετε το παράθυρο διαχείρισης του Δεδομένου Εκτύπωσης κι επιλέγετε το Tab "Βασικά Στοιχεία". Αλλάζετε το πεδίο "Style", που αντιστοιχεί στο Font Style της Έκφρασης, επιλέγοντας μεσα απο κάποιες default επιλογές ή δημιουργώντας κάποιο custom styling.

Τελευταία Αλλαγή: 11/03/2026

Εισάγετε ενα νέο Δεδομένο Εκτύπωσης. Στο παράθυρο διαχείρισης του Δεδομένου Εκτύπωσης επιλέγετε το Tab "Βασικά Στοιχεία" και ορίζετε τα παρακάτω απαραίτητα πεδία:

Τύπος: "Γραμμή"
Διαδοχή Εκτελεσής: Number
Θέση: "Header"/"Body"/"Footer"
Από Γραμμή: Εκτύπωση από αριθμό γραμμής
Από Στήλη: Εκτύπωση από αριθμό στήλης
Έως Γραμμή: Εκτύπωση έως αριθμό γραμμής (ιδια τιμή με "Από Γραμμή" αν η γραμμη θελουμε να εχει οριζοντια διαταξη)
Έως Στήλη: Εκτύπωση έως αριθμό στήλης (ιδια τιμή με "Από Στήλη" αν η γραμμη θελουμε να εχει κατακόρυφη διαταξη)
Μέγεθος (σε cols): Πάχος Γραμμής (η τιμή "0" αντιστοιχεί στην πιο λεπτή γραμμή)
Τελευταία Αλλαγή: 11/03/2026

"Πρότυπες Εκφράσεις" είναι έτοιμες εκφράσεις εκτύπωσης που περιέχουν δεδομένα απο τους διαφορους Πίνακες που σχετίζονται με τις εκάστοτε Φόρμες Εκτύπωσης.
Πλέον κατά την Εισαγωγή/Διαχείριση Δεδομένου Εκτύπωσης υπάρχει η επιλογή "Πρότυπη Έκφραση" με τη βοήθεια της οποίας μπορείτε να εισάγετε αυτόματα διάφορα πεδία στη φόρμα εκτύπωσης.

Για παράδειγμα, σε μια Φόρμα Παραστατικού

  • για να εισάγετε το Είδος Παραστατικού αρκεί πλέον να επιλέξετε την έκφραση:
    "Παραστατικά Πελατών -> Παραστατικό"
  • για να εισάγετε το Λεκτικό 6 Παραστατικού αρκεί πλέον να επιλέξετε την έκφραση:
    "Παραστατικά Πελατών -> Λεκτικό 6"
  • για να εισάγετε την Ποσότητα ενός Είδους Παραστατικού αρκεί να επιλέξετε την έκφραση:
    "Κινήσεις Ειδών Αποθήκης -> Ποσότητα" (μόνο για θέση Body)



Τελευταία Αλλαγή: 11/03/2026

Αφού επιλέξετε μια Πρότυπη Έκφραση, υπάρχει το ενδεχόμενο να θέλετε να τροποποιήσετε την Τιμή/Κώδικα που επιστρέφει η αντίστοιχη Έκφραση.
Αρχικά το πεδίο είναι απενεργοποιημένο για επεξεργασία, επομένως δε γίνεται να αλλάξετε τον κωδικα άμεσα. Θα πρέπει να αποεπιλέξετε την Πρότυπη Έκφραση απο το selectbox (κουμπί "Καθαρισμός") και στη συνέχεια να προσθέσετε την επιθυμητή Τιμή/Κώδικα.

Τελευταία Αλλαγή: 11/03/2026

Για να εκτελέσετε μια πολλαπλή εκτύπωση

  • μπαίνετε στο αντίστοιχο Grid που θελετε, πχ:Eίδη Αποθήκης (Μόνο τα ενεργά)
    [Επιλογές -> Προϊόντα / Υπηρεσίες->Υπηρεσίες -> Eίδη Αποθήκης (Μόνο τα ενεργά)]
  • επιλέγετε "Ενέργειες->Ενεργοποίηση/Απενεργοποίηση πολλαπλής επιλογής"
  • στη συνέχεια με "Ctrl + αριστερό click" επιλέγετε τις εγγραφές που θέλετε
  • επιλέγετε "Ενέργειες->Φόρμες Εκτύπωσης" και διαλέγετε την εκτύπωση που θέλετε
  • σε κάποιες περιπτωσεις (εξαρτάται απο την εκάστοτε φόρμα εκτυπωσης) μπορεί να σας ζητηθεί επιπλέον να επιλέξετε αρχική θέση εκτύπωσης των επιλεγμένων εγγραφών.
Τελευταία Αλλαγή: 11/03/2026

Στο grid κάνετε διπλό κλικ στο συγκεκριμένο στοιχείο και στο tab [Συνθήκη] καταχωρείτε την εντολή:

if($pdf->printsData->getData("κωδικός_από_προτυπη_έκφραση")==τιμή_πεδίου){
return true;
}else{
return false;
}

  • Όπου κωδικός_από_πρότυπη_έκφραση, αντικαθιστάτε με τον [κωδικό] που εμφανίζει η εφαρμογή για το πεδίο που θέλετε να συγκρίνετε.

Μπορείτε να βρείτε εύκολα την τιμή του πεδίου [κωδικός], αναζητώντας στις [πρότυπες εκφράσεις] μέσα σε μια φόρμα.Πχ αν αναζητήσετε με λήμμα "καθεστ", θα σας εμφανίσει -μεταξύ άλλων- την πρότυπη έκφραση με περιγραφή [Παραστατικά πελατών->κωδ.καθεστώτος ΦΠΑ].

  • Όπου τιμή_πεδίου, αντικαθιστάτε με την επιθυμητή τιμή για την οποία η συνθήκη θα είναι αληθής, πχ 2

Για το συγκεκριμένο παράδειγμα, προκύπτει η εντολή:

if($pdf->printsData->getData("a55a56a57a67_nr01_a55a56a57a67_nr01_p09")==2){
return true;
}else{
return false;
}

σύμφωνα με την οποία, το στοιχείο στο οποίο καταχωρήθηκε θα εμφανιστεί μόνο αν ο [κωδ.καθεστώτος ΦΠΑ] του παραστατικού είναι 2.

Σημείωση: Αν η τιμή του πεδίου που θέλετε να ελέγξετε είναι string, θα χρειαστεί να την εσωκλείσετε σε διπλά quotes, πχ "ΠΕΛΑΤΗΣ ΛΙΑΝΙΚΗΣ"

Ένα επιπλέον παράδειγμα είναι και η εντολή:

if($pdf->printsData->getData("a55a56a57a67_p03_a00a01_nr01_p48")==2){
return true;
}else{
return false;
}

Εδώ γίνεται έλεγχος αν ο [κωδικός βασ.τιμ/λόγου] του πελάτη είναι ίσος με 2. Η αναζήτηση της τιμής για τον σχετικό [Κωδικό] έγινε όπως περιγράφεται και στο προηγούμενο παράδειγμα(συγκεκριμένα, η πρότυπη έκφραση έχει περιγραφή [Πελάτης(πεδίου)->Πελάτες->Κωδ.βασικού τιμοκαταλόγου])

Τελευταία Αλλαγή: 11/03/2026

Υπάρχουν κάποιες φόρμες οι οποίες για να λειτουργήσουν, καλούν άλλες φόρμες αρχικά.

Σε αυτές τις περιπτώσεις, το Pegasus Web App κάνει χρήση του βασικού στησίματος κάποιας άλλης φόρμας (ας την πούμε "δευτερεύουσα") και πάνω σε αυτή "χτίζει" επιπλέον εμφάνιση/λειτουργικότητες για τη βασική φόρμα.

Τέτοιο παράδειγματα φορμών είναι:

  • Eκτύπωση Παραστατικού (Πελάτη) (2 A5 σε A4) (η οποία καλεί 2 φορές τη φόρμα Α5 και εκτυπώνεται η μία κάτω από την άλλη)
  • Eκτύπωση Παραστατικού (Πελάτη) - Χωρίς Υπόλοιπα (η οποία καλεί την default φόρμα [Eκτύπωση Παραστατικού (Πελάτη)], με τη μόνη αλλαγή οτι δεν εμφανίζει τα πεδία των [υπολοίπων])

Για να αντιγράψετε αυτές τις φόρμες, πρέπει να κάνετε τα εξής:

1. Αντιγράφετε κανονικά τη φόρμα
2. Εντοπίζετε ποιες είναι οι "εσωτερικές" φόρμες που καλούνται (βλ. παραδείγματα παραπάνω). Τα ΜΚ αυτών των φορμών μπορείτε να τα βρείτε στο tab [Κώδικας πριν την εκτέλεση της εκτύπωσης] μέσα από την αντιγραμμένη φόρμα (βλ. βήμα#1).

Συνήθως τις βρίσκετε στις πρώτες γραμμές με τη μορφή:

$sub_form = '140000011000000';, όπου 140000011000000 είναι ο ΜΚ της εσωτερικής φόρμας.

3. Εντοπίζετε τις φόρμες του βήματος#2 και τις αντιγράφετε. Εφαρμόζετε τις επιθυμητές αλλαγές στο αντίγραφο αυτό.
4. Στην βασική φόρμα που αντιγράψατε στο βήμα#1, πηγαίνετε στο tab [Κώδικας πριν την εκτέλεση της εκτύπωσης] και αντικαθιστάτε τα ΜΚ των αρχικών φορμών με αυτά που δημιουργήσατε στο βήμα#3.

Τελευταία Αλλαγή: 11/03/2026

Στο tab [Κώδικας πριν την εκτέλεση της εκτύπωσης] και στο τέλος, προσθέτετε τη γραμμή:

$p85_input['order_by']="v102";

Ουσιαστικά, καθορίζετε την ταξινόμηση των ειδών που προέρχονται από το grid του παραστατικού να γίνεται με βάση το πεδίο v102(για το Pegasus Web App, αυτό το πεδίο είναι η [περιγραφή] της κίνησης είδους). Αντίστοιχα, αν γράψετε:

$p85_input['order_by']="v102 desc";

θα κάνει φθίνουσα ταξινόμηση με βάση την περιγραφή.

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

Τελευταία Αλλαγή: 11/03/2026

Οι πρότυπες εκφράσεις που εμφανίζουν τα σύνολα κάτω δεξιά σε μια φόρμα συνδέονται με έναν πίνακα δεδομένων. Κάθε πρότυπη έκφραση σε αυτό το σημείο της φόρμας έχει από ένα στοιχείο αυτού του πίνακα(ουσιαστικά, είναι σε μορφή onoma_pinaka[x], όπου x είναι η θέση στοιχείου).

Ενδέχεται μετά από κάποια αναβάθμιση, η θέση στοιχείου να αλλάξει περιεχόμενο δεδομένων(πχ το στοιχείο onoma_pinaka[1] να εμφανίζει το [νέο υπόλοιπο] αντί για το [παλαιό υπόλοιπο]).

Για να επανέλθουν τα στοιχεία όπως τα είχατε ορίσει, στην φόρμα εκτύπωσης και στο tab [Κώδικας πριν την εκτύπωση], θα πρέπει να προσθέσετε τις παρακάτω γραμμές:

$p85_input['hidden_values']['p411'] = isset($p85_input['hidden_values']['p411'])?$p85_input['hidden_values']['p411']:true;
$p85_input['hidden_values']['p413'] = isset($p85_input['hidden_values']['p413'])?$p85_input['hidden_values']['p413']:true;

προσθέστε τις μετά από την 9η-10η γραμμή υφιστάμενου κώδικα, σε ξεχωριστές γραμμές.

Τελευταία Αλλαγή: 11/03/2026

Σε περίπτωση που κάποιο στοιχείο θέλετε να εμφανίζεται μόνο στην τελευταία σελίδα της εκτύπωσης(πχ τα σύνολα ή τα στοιχεία footer), ακολουθείτε τα εξής βήματα:

1. Στη φόρμα και στο tab [Δεδομένα Εκτύπωσης] εντοπίζετε το τελευταίο στοιχείο του section [Body] και το αντιγράφετε

2. Δίνετε ένα τυχαίο όνομα στην [Περιγραφή] και στο tab [Έκφραση] καταχωρείτε τον κώδικα:

if($pdf->printsData->isLastBodyData()){
$p85_output['last_page']=true;
}else{
$p85_output['last_page']=false;
}
return '';

3. Στο tab [Βασικά Στοιχεία] του νέου στοιχείου ορίζετε τη [διαδοχή εκτέλεσης] να είναι οπωσδήποτε μεγαλύτερη από το στοιχείο που αντιγράψατε(πχ αν είναι 0, εσείς ορίζετε 100)

4. Επεξεργάζεστε τα στοιχεία που θέλετε να εμφανίζονται μόνο στην τελ.σελίδα και στο tab [Συνθήκη] καταχωρείτε τον κώδικα:

return $last_page;

Σημείωση#1: Μπορείτε να κάνετε αυτή τη ρύθμιση μόνο σε στοιχεία που ανήκουν στο body ή στο footer
Σημείωση#2: Η θέση των στοιχείων που έχετε ορίσει να εμφανίζεται μόνο στην τελ.σελίδα θα παραμένει κενή στις υπόλοιπες. Για παράδειγμα, αν ορίσετε όλα τα στοιχεία footer να εμφανίζονται στην τελ.σελίδα, το πλήθος των γραμμών στο body δεν θα επεκταθεί προς τα κάτω.
Σημείωση#3: Για να αντιστρέψετε τη λογική(δηλαδή να εμφανίζετε κάποιο στοιχείο σε οποιαδήποτε σελίδα εκτός της τελευταίας πχ ένα λεκτικό "ΣΥΝΕΧΕΙΑ ΣΕ ΕΠΟΜΕΝΗ ΣΕΛΙΔΑ"), απλά αντιστρέφετε τα true και false στο #2

Τελευταία Αλλαγή: 11/03/2026

Θα πρέπει να δημιουργήσετε ένα νέο στοιχείο στη φόρμα σας. Στη συνέχεια κάνετε τα εξής βήματα:

  • Στο πεδίο [Πρότυπη Έκφραση], θα αναζητήσετε την τιμή [Barcode (QRCode)]. Πατάτε το εικονίδιο με τη γόμα δεξιά για να μπορείτε να επεξεργαστείτε τον κώδικα PHP
  • στη μεταβλητή "value"=>, ορίζετε την έκφραση από την οποία θέλετε να λάβετε την τιμή προς εμφάνιση

    Για παράδειγμα, μπορείτε να ορίσετε ένα string πχ "value"=>"123" ή μια μεταβλητή πχ "value"=>$pdf->printsData->getData("a55a56a57a67_nr01_a55a56a57a67_nr01_tbl_nr01"). Αν θέλετε να εμφανίσετε κάποιο πεδίο του παραστατικού, βρίσκετε εύκολα τη σωστή μεταβλητή αναζητώντας την κατάλληλη [Πρότυπη Έκφραση] και αντιγράφοντας τα δεδομένα από τη μεταβλητή "value"=>
  • στη μεταβλητή "barcodeType"=>, ορίζετε την κωδικοποίηση του barcode μέσα σε διπλά αυτάκια(πιθανά barcodeTypes: C39, C128, QRCODE)

    Για παράδειγμα, "barcodeType"=>"c39"
  • στο tab [Βασικά Στοιχεία],  συμπληρώνετε "Από γραμμή", "Από στήλη", "Έως γραμμή", "Έως στήλη" ώστε να ορίσετε το μέγεθος του barcode
Τελευταία Αλλαγή: 11/03/2026

Αν δεν θέλετε να εκτυπώνεται το όνομα του Πελάτη (Ιδιοκτήτη του serial number), θα πρέπει να τροποποιήσετε το πεδίο [Περιγραφή Είδους] της φόρμας. Στην [Πρότυπη Έκφραση] του πεδίου θα τροποποιήσετε τη γραμμή

$serials_with_crm = InvoicesPrintsClass::getProductSerialNumbers($pdf->printsData->getBodyData("nr01"), "a55", true);

σε

$serials_with_crm = InvoicesPrintsClass::getProductSerialNumbers($pdf->printsData->getBodyData("nr01"), "a55", false);

Τελευταία Αλλαγή: 11/03/2026

Μετά από την εγκατάσταση της αναβάθμισης r176 του module [Διαχείριση Εκτυπώσεων Web App - Prints] για συμβατότητα με PHP8, προκύπτει μια διαφοροποίηση στον κώδικα που απαιτείται ώστε να εμφανίζεται το logo.

Ουσιαστικά στο στοιχείο [Λογότυπο] και στο tab [Έκφραση], αλλάζετε τον κώδικα στη γραμμή:

 $inv_logo .= '<img src="'.invoices_logo_print(450, 150, $pdf->printsData->getData("invoices_logo")).'"/>';

σε:

$inv_logo .= '<img src="'.invoices_logo_print(450, 150, $pdf->printsData->getData("invoices_logo"), -1, 1).'"/>';

Τελευταία Αλλαγή: 11/03/2026

Θα πρέπει να τροποποιήσετε τη φόρμα και να προσθέσετε την πρότυπη έκφραση [Φωτογραφία Είδους (50x50)]. Θα εμφανίσει την πρώτη κύρια φωτογραφία του είδους.

Σημείωση: για να ορίσετε φωτογραφίες στο είδος, απαιτείται το extra module [Αποθήκη: στοιχεία internet].

Τελευταία Αλλαγή: 11/03/2026

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

Σημείωση: ενδεχομένως να χρειαστεί να κάνετε αρκετές δοκιμές ώστε να κεντραριστούν σωστά τα δεδομένα εκτύπωσης με τα πεδία.

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

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

Μειονέκτημα: Θα πρέπει να τυπώσετε σε λευκό χαρτί και όχι σε προτυπωμένο.

Τελευταία Αλλαγή: 11/03/2026

Eφόσον ο πελάτης του παραστατικού είναι ο [Πελάτης Λιανικής] που έχει οριστεί στο μενού [Toolbox->Εργαλεία Παραμετροποίησης->Παραμετροποίησης Πελατών->Βασικές Παράμετροι Πελατών], τότε καμία default φορμα δεν θα εμφανίζει προηγούμενο/νέο υπόλοιπο.

Τελευταία Αλλαγή: 11/03/2026

Μπορείτε για την εκτύπωση των παραστατικών να χρησιμοποιείτε φόρμα 70mm.