Tables / Oθόνες _d
Αλλαγή τιμών του record
Αυτό που γνωρίζω είναι το record του πίνακα σε ένα array με το όνομα $data.
Ότι αλλαγή και αν κάνω στο array θα εμφανιστεί ως τιμ;h στην οθόνη που θα δει ό χρήστη (ανεξάρτητα με το _d που την ανοίγει).
Όλες της τιμές τις περνάω record όπως μου τις επιστέφει η MySQL π.χ. για την ημερομηνία θα βάλω $data[‘dt’] =‘2010-12-01’
Πώς ορίζω έναν έλεγχο στις τιμές του record (ώστε αν εμφανίσει απαγορευτικό ή προειδοποιητικό μήνυμα)
Ενημερώνω πάντα το $permDeny array() ,
To array αυτό έχει την μορφή $permDeny = array( $arr1 = array() , $arr2 = array() …… )
$arr1 μπορεί να έχει τις εξής στήλες:
- $arr1[‘table’]
O πίνακας (ΤΟ ΑΦΗΝΟΥΜΕ ΚΕΝΟ , ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΜΟΝΟ ΤΑ ΔΙΚΑΙΩΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΟΤΟΥΝ ΑΠΟ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΣΥΣΧΕΤΗΣΕΩΝ). - $arr1[‘action’]
$arr1[‘action’]= delete ή change ή insert (ΤΟ ΑΦΗΝΟΥΜΕ ΚΕΝΟ , ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΜΟΝΟ ΤΑ ΔΙΚΑΙΩΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΟΤΟΥΝ ΑΠΟ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΣΥΣΧΕΤΗΣΕΩΝ). - $arr1[‘type’]
Αν το action ειναι κενο τότε .
$arr1[‘type’]= deny ή confirm
Αν το $arr1[‘action’]= delete
$arr1[‘type’]= perm_deny ή p20_deny ή p20_confirm
Αν το $arr1[‘action’]= change ή delete,
αν είναι το $arr1[‘type’] δεν έχει την τιμή confirm , εκτελεί deny. - $arr1[‘message’]
To μήνυμα που θέλουμε να εμφανίσει , Όλα τα μηνύματα θα πρέπει να τα τραβάμε από τα λεκτηκά
Οι μεταβλητές που γνωρίζω είναι , $grid_editing= 1 , Αν η καταχωρηση γινεται απο διαχειρισης του record απο grid
$DATA το array με τα δεδομένα του record
π.χ:
if(empty($data['p20'] ) ){
array_push( $permDeny , array( 'type'=>'deny' , 'message'=>'Δεν μπορείτε να καταχωρήσετε ΑΦΜ κενό.')); }
if(empty($data['p22'])){
array_push( $permDeny , array( 'type'=>'CONFIRM' , 'message'=>'Δεν έχετε δώσει ΔΟΥ να συνεχίσουμε την καταχώρηση? '));
}
Αλλαγή τιμών του record
Αυτό που γνωρίζω είναι το record του πίνακα σε ένα array με το όνομα $data.
Ότι αλλαγή και αν κάνω στο array θα εμφανιστεί ως τιμ;h στην οθόνη που θα δει ό χρήστη (ανεξάρτητα με το _d που την ανοίγει).
Όλες της τιμές τις περνάω record όπως μου τις επιστέφει η MySQL π.χ. για την ημερομηνία θα βάλω $data[‘dt’] =‘2010-12-01’
Πώς ορίζω έναν έλεγχο στις τιμές του record (ώστε αν εμφανίσει απαγορευτικό ή προειδοποιητικό μήνυμα)
Ενημερώνω πάντα το $permDeny array() ,
To array αυτό έχει την μορφή $permDeny = array( $arr1 = array() , $arr2 = array() …… )
$arr1 μπορεί να έχει τις εξής στήλες:
- $arr1[‘table’]
O πίνακας (ΤΟ ΑΦΗΝΟΥΜΕ ΚΕΝΟ , ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΜΟΝΟ ΤΑ ΔΙΚΑΙΩΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΟΤΟΥΝ ΑΠΟ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΣΥΣΧΕΤΗΣΕΩΝ). - $arr1[‘action’]
$arr1[‘action’]= delete ή change ή insert (ΤΟ ΑΦΗΝΟΥΜΕ ΚΕΝΟ , ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΜΟΝΟ ΤΑ ΔΙΚΑΙΩΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΟΤΟΥΝ ΑΠΟ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΣΥΣΧΕΤΗΣΕΩΝ). - $arr1[‘type’]
Αν το action ειναι κενο τότε .
$arr1[‘type’]= deny ή confirm
Αν το $arr1[‘action’]= delete
$arr1[‘type’]= perm_deny ή p20_deny ή p20_confirm
Αν το $arr1[‘action’]= change ή delete,
αν είναι το $arr1[‘type’] δεν έχει την τιμή confirm , εκτελεί deny. - $arr1[‘message’]
To μήνυμα που θέλουμε να εμφανίσει , Όλα τα μηνύματα θα πρέπει να τα τραβάμε από τα λεκτηκά
Οι μεταβλητές που γνωρίζω είναι , $grid_editing= 1 , Αν η καταχωρηση γινεται απο διαχειρισης του record απο grid
$DATA το array με τα δεδομένα του record
π.χ:
if(empty($data['p20'] ) ){
array_push( $permDeny , array( 'type'=>'deny' , 'message'=>'Δεν μπορείτε να καταχωρήσετε ΑΦΜ κενό.')); }
if(empty($data['p22'])){
array_push( $permDeny , array( 'type'=>'CONFIRM' , 'message'=>'Δεν έχετε δώσει ΔΟΥ να συνεχίσουμε την καταχώρηση? '));
}
Οι μεταβλητές που γνωρίζω είναι:
$mmnr01 = το mmnr01
$checkOnlyPerm = 1 , απλά ελέγχει τα δικαιώματα και δεν καταχωρεί κάτι.
$grid_editing= 1 , Αν η καταχωρηση γινεται απο διαχειρισης του record απο grid
Αλλαγή τιμών του record
Αυτό που γνωρίζω είναι το record του πίνακα σε ένα array με το όνομα $data.
Ότι αλλαγή και αν κάνω στο array θα εμφανιστεί ως τιμ;h στην οθόνη που θα δει ό χρήστη (ανεξάρτητα με το _d που την ανοίγει).
Όλες της τιμές τις περνάω record όπως μου τις επιστέφει η MySQL π.χ. για την ημερομηνία θα βάλω $data[‘dt’] =‘2010-12-01’
Πώς ορίζω έναν έλεγχο στις τιμές του record (ώστε αν εμφανίσει απαγορευτικό ή προειδοποιητικό μήνυμα)
Ενημερώνω πάντα το $permDeny array() ,
To array αυτό έχει την μορφή $permDeny = array( $arr1 = array() , $arr2 = array() …… )
$arr1 μπορεί να έχει τις εξής στήλες:
- $arr1[‘table’]
O πίνακας (ΤΟ ΑΦΗΝΟΥΜΕ ΚΕΝΟ , ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΜΟΝΟ ΤΑ ΔΙΚΑΙΩΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΟΤΟΥΝ ΑΠΟ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΣΥΣΧΕΤΗΣΕΩΝ). - $arr1[‘action’]
$arr1[‘action’]= delete ή change ή insert (ΤΟ ΑΦΗΝΟΥΜΕ ΚΕΝΟ , ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΜΟΝΟ ΤΑ ΔΙΚΑΙΩΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΟΤΟΥΝ ΑΠΟ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΣΥΣΧΕΤΗΣΕΩΝ). - $arr1[‘type’]
Αν το action ειναι κενο τότε .
$arr1[‘type’]= deny ή confirm
Αν το $arr1[‘action’]= delete
$arr1[‘type’]= perm_deny ή p20_deny ή p20_confirm
Αν το $arr1[‘action’]= change ή delete,
αν είναι το $arr1[‘type’] δεν έχει την τιμή confirm , εκτελεί deny. - $arr1[‘message’]
To μήνυμα που θέλουμε να εμφανίσει , Όλα τα μηνύματα θα πρέπει να τα τραβάμε από τα λεκτηκά
Οι μεταβλητές που γνωρίζω είναι , $DATA το array με τα δεδομένα του record
π.χ:
if(empty($data['p20'] ) ){
array_push( $permDeny , array( 'type'=>'deny' , 'message'=>'Δεν μπορείτε να καταχωρήσετε ΑΦΜ κενό.')); }
if(empty($data['p22'])){
array_push( $permDeny , array( 'type'=>'CONFIRM' , 'message'=>'Δεν έχετε δώσει ΔΟΥ να συνεχίσουμε την καταχώρηση? '));
}
Κλείδωμα εγγραφών:
Κατά την καταχώρηση της εγγραφής, γίνεται έλεγχος αν έχει γίνει επεξεργασία από κάποιο άλλο χρήστη και εμφανίζεται το κατάλληλο μήνυμα. Για τις περιπτώσεις που θέλουμε να εμφανίσουμε κάποιο custom μήνυμα, θα πρέπει στον πίνακα permDeny να έχουμε προσθέσει στοιχείο με type => 'locked' και στο message το μήνυμα που θέλουμε να εμφανίζεται.
Παράδειγμα:
array_push($permDeny, array('type' => 'locked', 'message' => 'My custom message' ));
Αν θέλω στην καταχώρηση να παραλείπεται αυτός ο έλεγχος και να μην εμφανίζει καθόλου μήνυμα, τότε θα πρέπει να περάσουμε array με type=>'locked' στο permDeny αλλα με κενό μήνυμα.
Παράδειγμα:
array_push($permDeny, array('type' => 'locked', 'message' => '' )); // Δεν θα γίνει έλεγχος για το κλείδωμαΑλλαγή τιμών του record
Αυτό που γνωρίζω είναι το record του πίνακα σε ένα array με το όνομα $data.
Ότι αλλαγή και αν κάνω στο array θα εμφανιστεί ως τιμ;h στην οθόνη που θα δει ό χρήστη (ανεξάρτητα με το _d που την ανοίγει).
Όλες της τιμές τις περνάω record όπως μου τις επιστέφει η MySQL π.χ. για την ημερομηνία θα βάλω $data[‘dt’] =‘2010-12-01’
Πώς ορίζω έναν έλεγχο στις τιμές του record (ώστε αν εμφανίσει απαγορευτικό ή προειδοποιητικό μήνυμα)
Ενημερώνω πάντα το $permDeny array() ,
To array αυτό έχει την μορφή $permDeny = array( $arr1 = array() , $arr2 = array() …… )
$arr1 μπορεί να έχει τις εξής στήλες:
- $arr1[‘table’]
O πίνακας (ΤΟ ΑΦΗΝΟΥΜΕ ΚΕΝΟ , ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΜΟΝΟ ΤΑ ΔΙΚΑΙΩΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΟΤΟΥΝ ΑΠΟ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΣΥΣΧΕΤΗΣΕΩΝ). - $arr1[‘action’]
$arr1[‘action’]= delete ή change ή insert (ΤΟ ΑΦΗΝΟΥΜΕ ΚΕΝΟ , ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΜΟΝΟ ΤΑ ΔΙΚΑΙΩΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΟΤΟΥΝ ΑΠΟ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΣΥΣΧΕΤΗΣΕΩΝ). - $arr1[‘type’]
Αν το action ειναι κενο τότε .
$arr1[‘type’]= deny ή confirm
Αν το $arr1[‘action’]= delete
$arr1[‘type’]= perm_deny ή p20_deny ή p20_confirm
Αν το $arr1[‘action’]= change ή delete,
αν είναι το $arr1[‘type’] δεν έχει την τιμή confirm , εκτελεί deny. - $arr1[‘message’]
To μήνυμα που θέλουμε να εμφανίσει , Όλα τα μηνύματα θα πρέπει να τα τραβάμε από τα λεκτηκά
Οι μεταβλητές που γνωρίζω είναι , $DATA το array με τα δεδομένα του record
π.χ:
if(empty($data['p20'] ) ){
array_push( $permDeny , array( 'type'=>'deny' , 'message'=>'Δεν μπορείτε να καταχωρήσετε ΑΦΜ κενό.')); }
if(empty($data['p22'])){
array_push( $permDeny , array( 'type'=>'CONFIRM' , 'message'=>'Δεν έχετε δώσει ΔΟΥ να συνεχίσουμε την καταχώρηση? '));
}
Υπαρχει η δυνατότητα να φτιαξουμε ΣΜΕ συναρτηση της μορφης.
$permDeny = sme_{module}_{_d}_ondelete( $data,$permDeny , $mmnr01 , $checkOnlyPerm);
Αν για κάποιο λόγο πρέπει να την γνωρίζω μπορώ να εκετελεσώ $data['nr01'] = pegasus_mysql_newrec('table'); και $this->nr01 = $data['nr01']; Καλό είναι αν Θέλω να δω αν η τιμή μου είναι κενή να έλεγχο την ύπαρξης της συγκεκριμένης τιμής nr01 στη βάση. -------------------------- Αυτό που γνωρίζω είναι το record του πίνακα σε ένα array με το όνομα $data. Ότι αλλαγή και αν κάνω στο array θα εμφανιστεί ως τιμή στην οθόνη που θα δει ο χρήστη (ανεξάρτητα με το _d που την ανοίγει). Όλες της τιμές τις περνάω record όπως μου τις επιστέφει η MySQL π.χ. για την ημερομηνία θα βάλω $data[‘dt’] =‘2010-12-01’ Αν είμαστε σε editable grid η παραπάνω παράμετρος δεν επηρεάζει τα record (Μόνο στην προβολή με την λογική οθόνης παίζει) . Αν θέλουμε το intialize να εκτελείται μόνο σε κάποιο συγκεκριμένο _d τότε βάζουμε π.x. if($this->_d=='mesa01_d'){ -------------------------- Tabs: Αν έχω ένα tab panel στην οθόνη μου τότε μπορώ να πω ότι θα είναι hidden ορίζοντας στα $data τη μεταβλητή $data["{module}_{_d}_{tab name}_hidden"] = true; Για τα tabs μπορώ ακόμη στο initialize να ορίσω αν θα είναι hidden σε mobile και tablet οθόνες. Αυτό μπορεί να γίνει ορίζοντας στο $data τιμές στις μεταβλητές $data["{module}_{_d}_{tab name}_hidden_mobile"] και $data["{module}_{_d}_{tab name}_hidden_tablet"] ------------------------- Toolbar Items: Για τα toolbar Items που βρίσκονται μέσα στην οθόνη μπορώ να ορίσω αν θα είναι hidden από το initialize προσθέτοντας τις παρακάτω μεταβλητές στα $data: $data["{module}_{_d}_{p81_id}_hidden"] // Για όλα τα μεγέθη οθόνης $data["{module}_{_d}_{p81_id}_hidden_mobile"] // Για mobile οθόνες $data["{module}_{_d}_{p81_id}_hidden_tablet"] // Για tablet οθόνες Όπου p81_id είναι το id του Toolbar Item και μπορεί να έχει τις εξής τιμές: - 'toolbarbutton_archive' για το button της Διαχείρισης Αρχειοθέτησης - 'toolbarbutton_close' για το button Κλείσιμο - 'menubarbutton_menu' για το button των Ενεργειών - 'relationQ30' για την Αντιστοιχιση Εγγραφων Πινακα Q30 - 'toolbarbutton_save' για το button της Καταχώρησης - 'toolbarbutton_update' για το button της Ενημέρωσης - 'z21' για το button Διαχείρισης Συνδέσμου - 'toolbarbutton_{p81_nr01}' για όλα τα υπόλοιπα buttons -------------------------- Grid Toolbar Items: Για τα buttons των Grids μπορώ να ορίσω αν θα είναι hidden από το initialize προσθέτοντας τις παρακάτω μεταβλητές στα $data: $data["{module}_{_d}_{grid_name}_{toolbar_id}_hidden"] // Για όλα τα μεγέθη οθόνης $data["{module}_{_d}_{grid_name}_{toolbar_id}_hidden_mobile"] // Για mobile οθόνες $data["{module}_{_d}_{grid_name}_{toolbar_id}_hidden_tablet"] // Για tablet οθόνες Οι παραπάνω ορισμοί θα έχουν ως αποτέλεσμα να είναι hidden και η αντίστοιχη επιλογή μέσα στο μενού "Ενέργειες" Όπου toolbar_id είναι το id του Grid Toolbar Item και μπορεί να έχει τις εξής τιμές: - 'clear_filters' για το button "Καθαρισμός Φίλτρων" - 'copy' για το button "Αντιγραφή" - 'delete' για το button "Διαγραφή" - 'change' για το button "Διαχείριση" - 'rowchange' για το button "Ενεργοποίηση/Απενεργοποίηση της αλλαγής των τιμών των κελιών του πίνακα" - 'insert' για το button "Νέα Καταχώρηση" - 'send_mail' για το button "Αποστολή e-mail" - 'export' για το button "Εξαγωγή Δεδομένων" - 'mng_col' για το button "Διαχείριση Στηλών" - 'multiselect' για το button "Ενεργοποίηση/Απενεργοποίηση πολλαπλής επιλογής" - 'print_forms' για το button "Φόρμες Εκτύπωσης" - 'panafores' για το button "π-Αναφορές" - 'quickfind' για τη γρήγορη αναζήτηση αριστερά - 'refresh' για το button "Ανανέωση" - 'search' για το button "Αναζήτηση" - '{peg_custom_id}' για όλα τα custom action buttons που προσθέτουμε -------------------------- Buttons: Αν θέλουμε να ορίσουμε το κείμενο ενός button που εμφανίζεται μέσα σε μία οθόνη κατά το initialize , μπορούμε να ορίσουμε την παρακάτω μεταβλητή: $data["{button_name}_text"] = "New Text"; -------------------------- Combobox: Αν θέλουμε να ορίσουμε το ls_data ενός combobox που εμφανίζεται μέσα σε μία οθόνη κατά το initialize , μπορούμε να ορίσουμε την παρακάτω μεταβλητή: $data["{module}_{_d}_{name}_ls_data"] ='[{"p00":0 ,"p01":"Str0"},{"p00":1 ,"p01":"Str1"}]'; ή $data["{module}_{_d}_{name}_ls_data"]= array( array('p00'=>0 , 'p01' =>'test1') , array('p00'=>1 , 'p01' =>'test2') ); -------------------------- PermDeny: Αν δεν θέλουμε να επιτρέψουμε το άνοιγμα της οθόνης τότε μπορούμε στην initialize να επιστρέψουμε ένα array όπου το permDeny θα έχει τιμή 1 και στο permDenyMessage θα περάσουμε το μήνυμα που θέλουμε να εκτυπωθεί. if(!$pronomio){ $data = array(); $data['permDeny'] = 1; $data['permDenyMessage'] = 'Αυτό θα εμφανιστεί με pegToast'; } ------------------------------ ΣΜΕ κληση Oνομα συναρτησης: "sme_" . $module . "_".$_d."_initialize" Παραμετροι: $data,$mmnr01,$mnr01,$_d,$container_id π.χ. function sme_serial_i31_d_initialize( $data,$mmnr01,$mnr01,$_d,$container_id ){return $data;}