Report Designer

Report Designer

  1. Report Designer 

Για να δημιουργήσουμε ένα νέο Report, πάμε από την επιλογή “Reports” και επιλέγουμε «Νέο» και ακολουθούμε τις οδηγίες του Wizard.

Αφού αποθηκεύσουμε το Report στο σχεδιαστικό (Report Designer) θα υπάρχει στη λίστα των Reports.

Κάθε Report που δημιουργούμε και είναι σημαντικό, ΠΡΕΠΕΙ να το αποθηκεύουμε σαν XML από την επιλογή “Export layout to file…” και να φυλάσσεται μαζί με τα άλλα Reports.

 



Μέσα σε κάθε Report θα πρέπει να βάζουμε το παρακάτω script


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.

 




Η επόμενη οθόνη δείχνει το Report κατά την εκτέλεση.




Από  τη  λίστα των Reports μπορούμε να εκτελέσουμε το Report, να το τροποποιήσουμε στο Report  Designer, ή να τροποποιήσουμε τα βασικά στοιχεία του Report.





Στα βασικά στοιχεία του Report δύο πεδία έχουν ιδιαίτερη σημασία και τα οποία εμφανίζονται ΜΟΝΟ στο χρήστη “gvsoft”.
  1. Hidden: Εάν είναι “True”, τότε το συγκεκριμένο Report το βλέπουμε στη λίστα ΜΟΝΟ σαν χρήστης “gvsoft”. Έτσι θα ορίζουμε τα Reports που δεν θα πρέπει ο χρήστης να μπορεί να τα τροποποιήσει (π.χ. Ισοζύγια, καρτέλες κλπ.)
  2. ReportFileName: Είναι το εσωτερικό όνομα του Report το οποίο δεν πρέπει να αλλάζει με το οποίο μπορούμε να το βάλουμε στο Menu.


Τα υπόλοιπα πεδία που μπορούμε να τροποποιήσουμε είναι:

Display Name: Το όνομα που εμφανίζεται στο χρήστη

FilteringCriterion: Επιλέγουμε κάποιο από τα κριτήρια που έχουμε δημιουργήσει. Προσοχή!! Τα κριτήρια 

πρέπει να έχουν σαν τύπο δεδομένων το ίδιο ακριβώς που έχει και το Report. 

ParameterObjectType: Προς το παρόν, υπάρχει μόνο μια επιλογή. Εάν επιλέξουμε ότι θέλουμε να 

χρησιμοποιήσουμε το “GvsReportV2 ParameterObject” σημαίνει ότι το Report πριν εκτελεστεί, θα ζητήσει από τον χρήστη να ορίσει τα πεδία που θα έχουμε επιλέξει  στο Filtering Criterion.


Για να βάλουμε ένα Report σε μια θέση στο Μενού, πάμε στο EditModel / Navigation, δημιουργούμε μια νέα επιλογή και ορίζουμε τα 4 πεδία όπως φαίνονται στη οθόνη που ακολουθεί.





Τα πεδία που πρέπει να ορίσουμε είναι:
  1. View: BaseObject_ListView
  2. Caption: Περιγραφή που θα εμφανίζεται στο Μενού
  3. Id: RPT
  4. Param2: ReportFileName


Μπορούμε να ορίσουμε παραμέτρους για κάποιο Report και μέσα στο Report Designer.

Τα κριτήρια από το Filtering Criterion φιλτράρουν τα δεδομένα στη βάση, ενώ τα κριτήρια που βάζουμε μέσα στο Report, φιλτράρουν τα δεδομένα στο Collection Source του Report.


  • Saving Report Data (Consent)

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

Για να λειτουργήσει η διαδικασία στο 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



Μπορούμε να χρησιμοποιήσουμε οποία από τα ανωτέρω πεδία χρειαζόμαστε στο Report.

Στον ReportViewer μπορούμε να ορίσουμε ένα πεδίο για “Υπογραφή”. Για να γίνει αυτό, από το Toolbox επιλέγουμε το πεδίο «PictureBox» και το βάζουμε στη θέση της υπογραφής.

Στα “Edit Options” του πεδίου επιλέγουμε Enable = Yes και Editor Name = “Signature”.





Το πεδίο “PictureBox”  μπορούμε να το χρησιμοποιήσουμε και σε άλλες περιπτώσεις, π.χ. να σημειώσουμε πάνω σε μια εικόνα κάτι, όπως στο αυτοκίνητο που συνήθως υπάρχει στο report εντολής επισκευής.

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

Σε κάθε Report μπορούμε να βάλουμε ένα Label με ένα ειδικό ID και έτσι να έχουμε ορισμένες δυνατότητες. Το id του label πρέπει να είναι “id_pdf_sign”. Για να μην εμφανίζεται στην εκτύπωση το χρωματίζουμε ανάλογα.


 


Οι Οι δυνατότητες, ορίζονται από το περιεχόμενο που θα βάλουμε στο Text του πεδίου αυτού.




Το Text του πεδίου μπορεί να αποτελείται από δυο μέρη διαχωριζόμενα με το “_”. Π.χ. “21_synenesi01”.

  • Το πρώτο μέρος είναι διψήφιο και ρυθμίζει την διαχείριση του PDF και την ηλεκτρονική του υπογραφή.
  • Εάν στο πρώτο ψηφίο βάλουμε: 
  • την τιμή «1».Το SP4 μπορεί να αποθηκεύσει την εκτύπωση σε μορφή PDF στο φάκελο ο οποίος έχει οριστεί στα στοιχεία της εταιρείας, στο σχετικό πεδίο. 
  • την τιμή «2».Το SP4 μπορεί να αποθηκεύσει την εκτύπωση σε μορφή PDF στο φάκελο ο οποίος έχει οριστεί στα στοιχεία της εταιρείας, στο σχετικό πεδίο και στη συνέχεια να το επισυνάψει σαν Attachment στην οντότητα στην οποία αναφέρεται το Report π.χ. Συναίνεση πελάτη. Δηλ. εάν βάλουμε στο πεδίο την τιμή «2», τότε θα δημιουργηθεί η εκτύπωση σε PDF, θα αποθηκευτεί και θα επισυναφθεί στην συναίνεση πελάτη.  
  • Εάν στο δεύτερο ψηφίο βάλουμε:
  • την τιμή «1». Π.χ.  “11” ή “21”, σε συνδυασμό με το Certificate που πρέπει να υπάρχει στα στοιχεία της εταιρείας στο σχετικό πεδίο,  μετά την δημιουργία του PDF, μπορεί αυτό να υπογραφεί με το X509 Certificate για πιστοποίηση αυθεντικότητας του εγγράφου. 


  • Στο Δεύτερο μέρος μπορούμε να βάλουμε  τον κωδικό ενός Email Template. Βάζοντας και το Template, το SP4 θα αποστείλει με email, το PDF σύμφωνα με τους παραμέτρους του Email Template.

Επομένως, βάζοντας σε ένα Report ένα Label και στο Label.Text βάλουμε το “21_synenesi01”, αυτό σημαίνει ότι το Report:

  • Θα δημιουργηθεί αυτόματα σε PDF.
  • Θα υπογραφεί με το σχετικό X509 Certificate (εφόσον υπάρχει).
  • Θα αποθηκευτεί στον σχετικό φάκελο.
  • Θα επισυναφθεί στην οντότητα στην οποία αναφέρεται το Report.
  • Θα αποσταλεί στον πελάτη σύμφωνα με τους παραμέτρους του σχετικού Template. 

   Επίσης από την επιλογή “Save” θα αποθηκευτούν τα δεδομένα που έχουν τροποποιηθεί στο Report στην σχετική οντότητα.


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






    • Related Articles

    • Reports / Dashboards

      GVSReport_Fields Tα GVS_Report_Fields είναι πεδία τα οποία μπορούμε να δημιουργήσουμε για χρήση σε Reports/Dashboards/Exports. Μπορεί να υπάρχουν πολλά Reports με πεδία για κάλυψη διαφορετικών αναγκών. Το κάθε πεδίο αρκεί να οριστεί μία μόνο φορά σε ...
    • Αντιστοίχιση φορμών εκτύπωσης

      Με τη διαδικασία αυτή μπορούμε να ορίσουμε τις φόρμες εκτύπωσης παραστατικών και άλλων διαδικασιών ανά κατάστημα, σειρά εγγραφών, μάρκας κλπ. Οι φόρμες εκτύπωσης δημιουργούνται με το Form Designer που διαθέτει το ServicePlus 4. Οι φόρμες που ...
    • Updates to Version 20.1.7.166

      Ενημέρωση για τη νέα έκδοση (20.1.7.166)
    • Updates up to Version 20.1.7.173

      Updates up to Version 20.1.7.173 · Γενικά o Κινήσεις. Σε ολες τις κινησεις εχει απενεργοποιηθεί το κουμπι διαγραφης της εγγραφής από το DetailView διοτι εχει παρατηρηθει ότι οι χρηστες πολλες φορες αντι να διαγράψουν μια αναλυτικη εγγραφη, διαγράφουν ...
    • Schedule Tasks

      Schedule Tasks Στα Schedule Tasks μπορούμε να ορίσουμε εργασίες που θα εκτελούνται αυτόματα από το σύστημα. Για να λειτουργήσει ΠΡΕΠΕΙ να έχει εγκατασταθεί σαν Window Service το «gvsXAFMain001.WindowsService.exe». H εγκατάσταση γίνεται από το Command ...