Για να δημιουργήσουμε ένα νέο Report, πάμε από την επιλογή “Reports” και επιλέγουμε «Νέο» και ακολουθούμε τις οδηγίες του Wizard.
Αφού αποθηκεύσουμε το Report στο σχεδιαστικό (Report Designer) θα υπάρχει στη λίστα των Reports.
Κάθε Report που δημιουργούμε και είναι σημαντικό, ΠΡΕΠΕΙ να το αποθηκεύουμε σαν XML από την επιλογή “Export layout to file…” και να φυλάσσεται μαζί με τα άλλα Reports.
private void xtraReport1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
GVSMainModule.Module.Utils.ReportEventsHelper.OnBeforePrint(sender,e);
}
To script αυτό μας δίνει την δυνατότητα να μεταφράσουμε τα Labels και να χρησιμοποιήσουμε ορισμένα Standard πεδία.
Για να μεταφραστεί ένα Label, πρέπει το Text ή το Όνομα του (Name) μέσα στο Report να αρχίζει από lng (π.χ. lng_FromDate)
Η μετάφραση καταχωρείται από την επιλογή «GvsMessages-Μηνύματα». Εκεί ορίζουμε τη γλώσσα και τη μετάφραση. ΠΡΕΠΕΙ να προσπαθούμε να χρησιμοποιούμε τα ήδη υπάρχοντα Labels και να μην δημιουργούμε για κάθε Report ξανά το ίδιο Label.
Τα Standard Πεδία, είναι πεδία που στο Label στο Report Designer έχουν κάποια συγκεκριμένη τιμή και το script θα το μεταφράζει ανάλογα. Π.χ. εάν βάλουμε σε ένα Label το «CompanyName”, όταν τρέξει το Report, εκεί θα εμφανιστεί το τρέχον υποκατάστημα.
Η επόμενη οθόνη δείχνει το Report στο Designer.
Τα υπόλοιπα πεδία που μπορούμε να τροποποιήσουμε είναι:
Display Name: Το όνομα που εμφανίζεται στο χρήστη
FilteringCriterion: Επιλέγουμε κάποιο από τα κριτήρια που έχουμε δημιουργήσει. Προσοχή!! Τα κριτήρια
πρέπει να έχουν σαν τύπο δεδομένων το ίδιο ακριβώς που έχει και το Report.
ParameterObjectType: Προς το παρόν, υπάρχει μόνο μια επιλογή. Εάν επιλέξουμε ότι θέλουμε να
χρησιμοποιήσουμε το “GvsReportV2 ParameterObject” σημαίνει ότι το Report πριν εκτελεστεί, θα ζητήσει από τον χρήστη να ορίσει τα πεδία που θα έχουμε επιλέξει στο Filtering Criterion.
Για να βάλουμε ένα Report σε μια θέση στο Μενού, πάμε στο EditModel / Navigation, δημιουργούμε μια νέα επιλογή και ορίζουμε τα 4 πεδία όπως φαίνονται στη οθόνη που ακολουθεί.
Μπορούμε να ορίσουμε παραμέτρους για κάποιο Report και μέσα στο Report Designer.
Τα κριτήρια από το Filtering Criterion φιλτράρουν τα δεδομένα στη βάση, ενώ τα κριτήρια που βάζουμε μέσα στο Report, φιλτράρουν τα δεδομένα στο Collection Source του Report.
To Report Viewer έχει την δυνατότητα αποθήκευσης των δεδομένων στα αντίστοιχα αρχεία του SP4. Η αποθήκευση δεν γίνεται σε όλα τα αρχεία αλλά σε ορισμένα (συναίνεση.) . Η αποθήκευση λειτουργεί και στο Win και στο Web. Οι διαδικασίες είναι λίγο διαφορετικές, αλλά καταλήγουν στο ίδιο αποτέλεσμα.
Και στα δύο πρέπει να βάλουμε ένα Label το οποίο να έχει σαν όνομα ένα από τα "Save", "Αποθήκευση" ,"Sign". Στο Label.tag πρέπει να βάζουμε μια συγκεκριμένη τιμή, ανάλογα με το αρχείο που εμφανίζεται στο Report(Συνήθως θα είναι το όνομα του αρχείου). Για την συναίνεση πρέπει να βάλουμε την λέξη “ppmastf5”.
Πρέπει να βάλουμε και στα δύο το κάτωθι Script.
private void xtraReport1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
GVSMainModule.Module.Utils.ReportEventsHelper.OnBeforePrint(sender,e);
Save.Tag=Save.Tag.ToString()+"_"+ ((GVSMainModule.Module.BusinessObjects.Base.GVSBaseObject)GetCurrentRow()).Oid.ToString();
}
Για να λειτουργήσει η διαδικασία στο Win πρέπει να βάλουμε στα Script του Report, το κάτωθι Script στο LabelX.
private void labelΧ _PreviewClick(object sender, DevExpress.XtraReports.UI.PreviewMouseEventArgs e) {
gvsXAFmain001.Module.Utils.ReportSavingHelper.SaveReport(this.Report, labelΧ.Tag.ToString()); }
Για να δώσουμε σε ένα πεδίο την δυνατότητα τροποποίησης στο Preview, πρέπει να ορίσουμε στα “Options/Behavior/Edit Options το πεδίο Enable=Yes και ID= Field_Id
Web
Win
Tα πεδία που μπορούμε να ενημερώσουμε στην συναίνεση και τα Ids για τα πεδία είναι τα εξής:
id_date = Date
id_flag_data = Data
id_flag_post = Post
id_flag_email = Email
id_flag_mobile = Gsm
id_flag_sms = Sms
id_flag_telH = telH
id_flag_telW = telW
id_flag_fax = fax
id_flag_sc_dealer = Dealer_Scope
id_flag_sc_dealerNet = Dealer_Network_Scope
id_flag_sc_importer = Manufacturer_Scope
id_flag_sc_omilos = Affiliated_Scope
id_flag_ereynes = Ereyna
id_flag_offers = offers
Στον ReportViewer μπορούμε να ορίσουμε ένα πεδίο για “Υπογραφή”. Για να γίνει αυτό, από το Toolbox επιλέγουμε το πεδίο «PictureBox» και το βάζουμε στη θέση της υπογραφής.
Στα “Edit Options” του πεδίου επιλέγουμε Enable = Yes και Editor Name = “Signature”.
Στην περίπτωση αυτή, εκτός από τις ανωτέρω ρυθμίσεις του πεδίου, μπορούμε να επιλέξουμε και μια εικόνα η οποία θα εμφανίζεται και στην οποία θα σημειώνουμε.
Σε κάθε Report μπορούμε να βάλουμε ένα Label με ένα ειδικό ID και έτσι να έχουμε ορισμένες δυνατότητες. Το id του label πρέπει να είναι “id_pdf_sign”. Για να μην εμφανίζεται στην εκτύπωση το χρωματίζουμε ανάλογα.
Οι Οι δυνατότητες, ορίζονται από το περιεχόμενο που θα βάλουμε στο Text του πεδίου αυτού.
Το Text του πεδίου μπορεί να αποτελείται από δυο μέρη διαχωριζόμενα με το “_”. Π.χ. “21_synenesi01”.
Επομένως, βάζοντας σε ένα Report ένα Label και στο Label.Text βάλουμε το “21_synenesi01”, αυτό σημαίνει ότι το Report:
Επίσης από την επιλογή “Save” θα αποθηκευτούν τα δεδομένα που έχουν τροποποιηθεί στο Report στην σχετική οντότητα.