Π-αναφορές - Μεταβλητές και εκφράσεις που μπορούν να χρησιμοποιηθούν

Σκοπός:

Στο κείμενο παρουσιάζονται οι εκφράσεις που μπορούν να χρησιμοποιηθούν στις [μεταβλητές] μιας π-αναφοράς, με στόχο να συμπληρώνονται αυτόματα οι επιθυμητές τιμές.

Λειτουργία:

Μπορείτε να δημιουργήσετε π-αναφορά και να αρχικοποιήσετε τα κριτήρια με τιμές χωρίς να χρειάζεται αυτά να συνδέονται άμεσα με το βασικό πίνακα της αναφοράς. Στις μεταβλητές μιας π-αναφοράς μπορείτε να ορίσετε [Αρχική Τιμή] ώστε κατά την εκτέλεση της αναφοράς τα κριτήρια να συμπληρώνονται αυτόματα με προεπιλογές.

Στο κείμενο Δημιουργία π-Αναφοράς μπορείτε να δείτε τον τρόπο που δημιουργείτε μεταβλητές για μια π-αναφορά, με στόχο να κάνετε αναζήτηση με συγκεκριμένα κριτήρια. Υπάρχει η δυνατότητα χρήσης συγκεκριμένων εκφράσεων, ώστε να προκύπτουν αυτόματα οι επιθυμητές τιμές κατά την αρχική εκτέλεση της π-αναφοράς και ο χρήστης να κερδίζει χρόνο. Για παράδειγμα, σε κριτήριο [ημερομηνία από] μπορείτε να ορίσετε να σας φέρνει αυτόματα την πρώτη ημέρα του τρέχοντος μήνα.

Επίσης, θα δείτε και πιο εξειδικευμένες εκφράσεις, όπως την εύρεση όλων των πιθανών τιμών για τα [Καταστήματα] του Pegasus Web App (σε περίπτωση που υπάρχει το module).

Ρυθμίσεις:

Στο κείμενο Δημιουργία π-Αναφοράς και στα παραδείγματα #3 και #4, μπορείτε να δείτε κάποιες περιπτώσεις καταχώρησης μεταβλητών. 

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

1) =date('Y-m-d') : Εμφανίζει την τωρινή ημερομηνία, αν ορίσετε κάποιο από τα Y,m,d με νούμερο κρατάει σταθερό το συγκεκριμένο κομμάτι της ημερομηνίας. Για παράδειγμα αν θέλετε το κριτήριό σας να εμφανίζει σαν ημερομηνία την πρώτη κάθε μήνα θα ορίσετε =date('Y-m-01')

 

Επιπλέον η συνάρτηση date μπορεί να γραφτεί και με τη μορφή:

= date('Y-m-d', strtotime(' [+/- days] [+/- month] [+/- year] '))

με την παραπάνω σύνταξη μπορείτε να ορίσετε ημέρες ή μήνες ή χρόνια που θα προστεθούν ή αφαιρεθούν από την ημερομηνία που θα υπολογίσει αρχικά η συνάρτηση. Για παράδειγμα αν θέλετε το κριτήριο να εμφανίζει ένα χρόνο πριν από τον τωρινό θα ορίσετε =date('Y-m-d', strtotime(' -1 year '))

 

 

2) =pegasus_mysql_printfld(table, unique_field, condition) : Μπορείτε να χρησιμοποιήσετε τη συνάρτηση για να εκτελέσετε ένα query σε ένα πίνακα. Η τιμή που θα επιστρέψει η συνάρτηση θα χρησιμοποιηθεί ως αρχική τιμή στο κριτήριο της αναφοράς.

Σημείωση!: η εγγραφή που θα αναζητήσετε θα πρέπει να υπάρχει στον πίνακα, η συνάρτηση θα πρέπει πάντα να επιστρέφει τιμή.

Για παράδειγμα, έχετε ένα κριτήριο ημερομηνία το οποίο θέλετε σαν προεπιλογή να συμπληρώνεται με την τιμή που έχετε ορίσετε στο παραμετρικό πεδίο [Ημερομηνία 1] (a55.pd40) ενός πελάτη ΜΚ (a55.nr01) = 1. Μπορείτε να ορίσετε τη συνάρτηση ως εξής:

= pegasus_mysql_printfld('a01','pd40', 'a01.nr01=1')

Επιπλέον, για τη σωστή εμφάνιση των τιμών προς επιλογή στα κριτήρια της π-αναφοράς, θα πρέπει συμπληρώσετε και:

  • [Επιλογή Από Πίνακα] με τιμή Πελάτες
  • [Επιλογή Πεδίου] με τιμή MK
  • [Εμφάνιση Πεδίου] με τιμή p19

 

3)='#'.pegasus_mysql_printfld(table,"GROUP_CONCAT(DISTINCT unique_field SEPARATOR '#')" , '1=1').'#' : Σε συνέχεια της #2 και σε συνδυασμό με το τσεκ [Πολλαπλές Τιμές], μπορείτε να ορίσετε ως αρχική τιμή όλες τις εγγραφές ενός πίνακα που θα φέρετε με την εκτέλεση αυτής της συνάρτησης.

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

='#'.pegasus_mysql_printfld('us0',"GROUP_CONCAT(DISTINCT p01 SEPARATOR '#')",'1 = 1').'#'

Επιπλέον, για τη σωστή εμφάνιση των τιμών προς επιλογή στα κριτήρια της π-αναφοράς, θα πρέπει συμπληρώσετε και:

  • [Επιλογή Από Πίνακα] με τιμή Χρήστες Προγράμματος
  • [Επιλογή Πεδίου] με τιμή Όνομα Χρήστη (p01)
  • [Εμφάνιση Πεδίου] με τιμή p100

Πιο εξειδικευμένες περιπτώσεις συναρτήσεων

1) =peg_inventory_get_all_i16_multi() : Επιστρέφει όλες τις εγγραφές των αποθηκευτικών χώρων από τον πίνακα [i16 - Αποθηκευτικοί Χώροι]. Θα πρέπει αρχικά να ορίσετε την επιλογή [Πολλαπλές Τιμές]. Επιπλέον, για τη σωστή εμφάνιση των τιμών προς επιλογή στα κριτήρια της π-αναφοράς, θα πρέπει συμπληρώσετε και:

  • [Επιλογή Από Πίνακα] με τιμή Αποθηκευτικοί Χώροι
  • [Επιλογή Πεδίου] με τιμή Κωδικός
  • [Εμφάνιση Πεδίου] με τιμή p01

 

 

2) =query_get_all_stores_multi() : Επιστρέφει όλες τις εγγραφές των καταστημάτων από τον πίνακα [t07 - Καταστήματα Επιχείρησης]. Θα πρέπει αρχικά να ορίσετε την επιλογή [Πολλαπλές Τιμές]. Επιπλέον, για τη σωστή εμφάνιση των τιμών προς επιλογή στα κριτήρια της π-αναφοράς, θα πρέπει συμπληρώσετε και:

  • [Επιλογή Από Πίνακα] με τιμή Καταστήματα Επιχείρησης
  • [Επιλογή Πεδίου] με τιμή Κωδικός
  • [Εμφάνιση Πεδίου] με τιμή p02

 

 

3) =query_get_t04_multi() : Επιστρέφει όλες τις εγγραφές των ειδών αξιογράφων από τον πίνακα [t04 - Είδη Αξιογράφων]. Θα πρέπει αρχικά να ορίσετε την επιλογή [Πολλαπλές Τιμές]. Επιπλέον, για τη σωστή εμφάνιση των τιμών προς επιλογή στα κριτήρια της π-αναφοράς, θα πρέπει συμπληρώσετε και:

  • [Επιλογή Από Πίνακα] με τιμή Καταστήματα Επιχείρησης
  • [Επιλογή Πεδίου] με τιμή Κωδικός
  • [Εμφάνιση Πεδίου] με τιμή p02

 

 

 4) =$_SESSION['{table00}_{unique_field}'] : Η $_SESSION επιστρέφει την τιμή ενός πεδίου που έχει δηλωθεί στις βασικές παραμέτρους ενός module της εφαρμογής.

  • table00->ορίζετε το όνομα του πίνακα με τις βασικές παραμέτρους του module (χωρίς τα {} ). Βρίσκετε εύκολα το όνομα του πίνακα με δεξί κλικ στην οθόνη των βασ.παραμέτρων που θέλετε και την επιλογή [Πληροφορίες Οθόνης]. Είναι το σημείο που εμφανίζεται στο παρακάτω screenshot (προσοχή, δεν χρειάζεται το _d) :

  • unique_field->το πεδίο που θέλετε (χωρίς τα {} )

Για παράδειγμα, σε ένα κριτήριο για επιλογή χώρας, θέλετε σαν προεπιλογή να εμφανίζεται από τις [Βασικές Παράμετροι πελατών] (module customers), η επιλογή που έχει οριστεί στο πεδίο [Χώρα] (p07). Μπορείτε να ορίσετε τη συνάρτηση ως εξής:

=$_SESSION['customers_000_p07']

Επιπλέον, για τη σωστή εμφάνιση των τιμών προς επιλογή στα κριτήρια της π-αναφοράς, θα πρέπει συμπληρώσετε και:

  • [Επιλογή Από Πίνακα] με τιμή Χώρες
  • [Επιλογή Πεδίου] με τιμή Κωδικός
  • [Εμφάνιση Πεδίου] με τιμή p02

Σημείωση: σε όλες τις περιπτώσεις που αναφέρουμε οδηγίες για την εμφάνιση στα κριτήρια, οι επιλογές είναι ενδεικτικές και βασίζονται στα παραδείγματα που καταγράφονται. Θα πρέπει να διαμορφώνονται ανάλογα με το τι θέλετε να εμφανιστεί.

Τελευταία Αλλαγή: 02/04/2026