Database View & Object

87 views
Skip to first unread message

Βαγγέλης Κοτσιφάκης

unread,
Dec 2, 2025, 10:13:59 AMDec 2
to Softone Developers Network

Καλησπέρα σας,

Έχω δημιουργήσει ένα database view στο οποίο περιλαμβάνονται τα πεδία MTRL, COMPANY, WHOUSE κ.λπ.

Στο LOCATE του OBJECT έχω ορίσει το πεδίο το MTRL, ώστε να φιλτράρεται το SELECT ανάλογα με το είδος που έχω μπει, και αυτό λειτουργεί κανονικά.

Παράλληλα, έχω δημιουργήσει και τα πεδία qCompany και qWhouse σε Virtual Table, με σκοπό να μπορώ να φιλτράρω τα αποτελέσματα του SELECT με πιο συγκεκριμένα κριτήρια (Εταιρεία & Α.Χ. όπου τα έχω κανει κιολας πολλαπλών επιλογών).

Αυτό που θα ήθελα είναι να μπορέσω να οριοθετήσω/περιορίσω τα αποτελέσματα του SQL Query, έτσι ώστε να λαμβάνονται υπόψη και οι τιμές των qCompany και qWhouse ως πρόσθετα κριτήρια φιλτραρίσματος.

Θα μπορούσατε να μου υποδείξετε ποιος είναι ο σωστός τρόπος να «δέσω» τα πεδία του Virtual Table (qCompany & qWhouse) με το SQL Query ή/και το LOCATE του OBJECT, ώστε να επιστρέφονται μόνο τα αντίστοιχα φιλτραρισμένα αποτελέσματα;

Σας ευχαριστώ πολύ εκ των προτέρων

ΣΤΑΘΗΣ ΖΑΦΕΙΡΟΠΟΥΛΟΣ

unread,
Dec 3, 2025, 3:41:12 AMDec 3
to so...@googlegroups.com
Καλημερα

όταν απαιτούνται δυναμικά φίλτρα (ιδίως πολλαπλής επιλογής όπως τα qCompany και qWhouse που αναφέρεις), το στατικό LOCATE statement δεν επαρκεί από μόνο του.

Για να επιτύχεις το φιλτράρισμα που ζητάς, ο πιο ενδεδειγμένος και ευέλικτος τρόπος κατά την γνώμη μου είναι η χρήση Script (JavaScript) στη φόρμα του αντικειμένου. Εφαρμόζοντας δυναμικά φίλτρα στο Dataset του Database View κάθε φορά που αλλάζει η τιμή στα πεδία του Virtual Table.


--
Softone Developers Network group.
To post to this group, send email to so...@googlegroups.com
---
Λάβατε αυτό το μήνυμα επειδή έχετε εγγραφεί στην ομάδα "Softone Developers Network" των Ομάδων Google.
Για να απεγγραφείτε απ' αυτή την ομάδα και να σταματήσετε να λαμβάνετε μηνύματα ηλεκτρονικού ταχυδρομείου απ' αυτή, στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση soft1+un...@googlegroups.com.
Για να δείτε αυτή τη συζήτηση, επισκεφτείτε το https://groups.google.com/d/msgid/soft1/c12314ce-5a44-402e-a1b9-4b720b6b1506n%40googlegroups.com.

Βαγγέλης Κοτσιφάκης

unread,
Dec 4, 2025, 11:11:26 AMDec 4
to Softone Developers Network
  Για να είμαι ειλικρινής, η πρώτη λύση που σκέφτηκα ήταν η φόρτωση του datagrid μέσω JavaScript. Ωστόσο, σε περιπτώσεις με μεγάλο όγκο εγγραφών, η απόδοση πέφτει αισθητά και παρατηρείται σημαντική καθυστέρηση. Συνεπώς, θα πρέπει να εξετάσω μια πιο αποδοτική και παραγωγική προσέγγιση.  

Βαγγέλης Κοτσιφάκης

unread,
Dec 5, 2025, 10:34:05 AMDec 5
to Softone Developers Network
 Έκανα τελικά αυτό που ήθελα: υλοποίησα αυτό που σκεφτόμουν με View + Virtual Table.
Μέσα στο View, στο WHERE έβαλα π.χ.:  
  • WHERE Company = :CCCQFILTERS.COMPANY
και λειτούργησε κανονικά.
Τώρα όμως έχω 3 θέματα:  

1. Απαγόρευση εισαγωγής νέας γραμμής
Θέλω οι χρήστες να μην μπορούν να εισάγουν νέα γραμμή. Στις παραμέτρους του Object έχω βάλει BROWSERONLY=1; EDITOPTIONS=NOISERT,NODELETE;,  αλλά δεν φαίνεται να κάνει κάτι…Εκτός αν χρειάζεται να κάνω +1 την Version και επανείσοδο (re-login).

2. Απενεργοποίηση sort από τους χρήστες
Θέλω επίσης να μην επιτρέπεται στους χρήστες να κάνουν sort στις στήλες του πίνακα.  

3. Κουμπί “Ανανέωση” στο panel  
Έχω προσθέσει στο panel το κουμπί RUNB_20251201 = Ανανέρωση,  και θέλω να κάνει ανανέωση των δεδομένων.  Δυστυχώς δοκίμασα αρκετές μεθόδους αλλά δεν έχω βρει κάτι που να λειτουργεί.

Μπορεί κάποιος να μου πει τι πρέπει να ρυθμίσω/αλλάξω για τα παραπάνω τρία σημεία;  
Reply all
Reply to author
Forward
0 new messages