Rapoarte pentru NORD POS
Luăm datele, JasperReports și completăm șablonul în iReport
Încărcarea bazei
Primul lucru de făcut după instalarea și rularea iReport este să creați o foaie de șablon goală pentru completarea ulterioară cu elemente de raport (comandaFișier -> Nou.). Am ales un șablon format A4, aranjat portret.
În viitor, puteți modifica atât formatul foii, cât și câmpurile de indentare de pe acesta (comandaFormat -> Format pagină.). Și aici veți întâlni prima problemă care va trebui să fie luată în considerare în timpul tuturor lucrărilor cu JasperReports, incapacitatea de a seta cu precizie valorile în milimetri cu care suntem obișnuiți. Puteți seta doar cu precizie valoarea în pixeli, în timp ce există 72 de pixeli pe inch, dar în milimetri va fi întotdeauna o valoare fracțională de 25,4 mm. Într-un raport obișnuit din coloane, acest lucru nu este foarte semnificativ, dar dacă faceți un șablon de etichetă, atunci această abordare a calculelor vă va strica nervii în mod semnificativ, deoarece aveți doar o riglă milimetrică la îndemână și va trebui să selectați experimental numărul de pixeli care se vor potrivi atunci când imprimați pe o etichetă benzi goale. Iată cum l-am prins:
Și aceste dimensiuni vor corespunde aproximativ cu indentările din partea de sus și de jos de 11 mm, la stânga 15 mm și la dreapta 10 mm.
Conectarea sursei
Dacă șablonul de formular de raport este componenta vizuală principală a JasperReports, atunci sursele de date sunt baza internă a mecanismului de procesare și construcție a raportului. Ca sursă de date, acestea pot servi ca baze de date sau depozite de date sau, de exemplu, pur și simplu fișiere tabelare sau text. Dar în cazul meu cu NORD POS, baza de date Apache Derby conectată prin driverul JDBC va acționa ca sursă de date. De când bibliotecăDriverul client Apache Derby nu este adăugat în mediul iReport în mod implicit, trebuie mai întâi să specificați calea către acesta în parametri (comandaTools -> Options) și să reîncărcați iReport.
Inițial, sursa selectată implicit este goală.
Dar după ce au introdus parametrii, se va putea adăuga, făcându-l o sursă de informații pentru completarea câmpurilor raportului.
Specificând parametrii driverului JDBC și rulând în prealabil NORD POS, puteți verifica conexiunea. Și pentru a ne asigura că câmpurile bazei de date sunt disponibile pentru JasperReports, să facem o interogare simplă.
Sursa noastră este gata de utilizare.
Scrierea unei cereri
În același timp, vreau să vă avertizez imediat, atunci când construiți interogări SQL, încercați să evitați constructele din ele pentru gruparea datelor direct la nivel de sursă, dar nu uitați să sortați datele mai întâi. Este mai bine să încredințați toate operațiunile legate de consolidarea informațiilor direct către JasperReports, astfel încât raportul dvs. va fi mai universal pentru diferite SGBD, iar în viitor veți putea schimba secvența algoritmilor de procesare pentru prezentarea datelor în diferite forme mai mult în mod flexibil.
Ca urmare, câmpurile din sursa de date vor deveni disponibile în panoul cu structura raportului.
Punem date
Când datele sunt disponibile, este timpul să discutăm despre cum să le introduceți în raport. Pentru început, să plasăm câmpurile primite în secțiuneaDetalii, automat etichetele câmpurilor vor fi plasate în secțiuneaColumn Header.
Datele au fost primite și raportul a fost generat, acum puteți începe să le procesați și să proiectați raportul pentru o prezentare mai vizuală a informațiilor.
Facem șablonul
Să începem cu cel mai simplu, să facem antetul și partea de jossubsolul raportului nostru. Pentru a face acest lucru, în secțiuneaTitlu, adăugați o semnătură și un banner albastru pentru fundal, iar în câmpulSubsol de paginăcu înlocuire variabilă pentru numărul de pagini.
Pentru a aduce uniformitate rapoartelor, recomand să folosiți un set de stiluri, făcând unul dintre ele principal în mod implicit. Stilurile sunt un grup de câmpuri la începutul șablonului nostru, ele stabilesc parametri generali pentru proiectarea elementelor de raport și pot fi setate nu numai pentru elementele de text, ci și pentru formele și liniile incluse în șablon.
Făcând calcule
La crearea șabloanelor, în secțiunea de variabile sunt generate automat mai multe contoare, valoarea acestora modificându-se în funcție de poziția în șablon. De exemplu, am folosit dejaPAGE_NUMBERpentru a număra pagini, în timp ce folosim aceeași variabilă, dar setând parametrulevaluationTime="Report"pentru al doilea câmp, am obținut numărul total de pagini din raport.
Pentru a indica numărul ordinal al poziției unui articol în raport, utilizați variabilaCOLUMN_COUNT, selectând-o din listă și inserând-o în expresie pentru a calcula valoarea câmpului.
Valoarea articoluluiPRODUCT_REFERENCE, deoarece conține doar numere și un semn minus ca separator între codul grupului și codul produsului, va fi plasată într-un obiect separat care generează un cod de bare.
CâmpurilePRODUCT_NAME,PRODUCT_PRICESELLșiTAX_RATEvor fi lăsate așa cum au fost primite din baza de date, specificând doar modelele pentru monedaPRODUCT_PRICESELLși pentruTAX_RATEprocente.
Ultimul câmp pe care îl avem este câmpul de calcul pentru obținerea sumei prețului cu taxă.
Gruparea câmpurilor
A doua este secțiunea finală a raportuluiRezumat, în careREPORT_COUNTva calcula numărul total de poziții ale articolelor incluse în raportul nostru.
Șablon gata
Acum puteți începe să îl integrați în NORD POS, dar acesta va fi subiectul celei de-a doua părți a articolului. Și în această parte, am încercat să fiu cât mai general și simplu cu privire la pașii principali pentru crearea șabloanelor în iReport, astfel încât ceea ce este descris aici să fie util nu numai utilizatorilor NORD POS, ci tuturor celor care trebuie să își creeze propriile șabloane. raport pentru biblioteca JasperReports pentru prima dată.