Rapor tanımlarında LPT üzerinden oluşturduğumuz Custom Queryleri kullanarak başlık ve detay bilgilerini içeren raporlar oluşturabilirsiniz.

İşlem adımları;

1-  Projemizin üzerinde sağ klik > New > Other seçeneğine tıkladığımızda, New Select a Wizards ekranından Logo Platform Tailor klasörü altından LPT Report Layout alanını seçip “Next” Butonuna tıklarız.



2 -  Açılan “New Custom Report Wizard” ekranından File name kısmına rapor ismini tanımlayıp "Next" butonuyla ilerleriz.


3 - Gelen ekran üzerinde hiçbir değişiklik yapmadan “Next” butonuyla ilerleriz.


4 - Report “Template and Handler” Ekranından rapor adını ve açıklamasını yazıp tipini seçeriz, bu dokümanda Master-Detail Query Report anlatıldığından o alanı seçip “Next” butonuyla ilerlenir.


5 - Rapora bağlı java class ismi isteğe bağlı olarak değiştirilebilir veya sistemin oluşturduğu ismi değiştirmeden “Next” butonuyla rapor tasarımı ve class oluşturulur.


6 - Detay olarak listeleyeceğiniz bilgilerin ana query ile arasında Link olması gereklidir.


7 - Sistem rapor üzerinden de ilişkilendirmeye ihtiyaç duyduğundan parametre ve term tanımları yaparız.

  Parametre kısmına ana query’nin  logicalref alanı gönderilecektir, ilerleyen adımlarda nasıl yapıldığı gösterilecektir. 

8- Gelen Ekrandan Raporunu oluşturmak istediğimiz CQCourseSlipBrowser ve bu query ile ilişkili olan CQCourseSlipLine  query’si seçilip “next” butonuna basılır.


9- 7. Adımda belirtilen parametre alanına bu ekrandan ana query’nin logicalref alanın gönderileceği belirtilip finish butonuna tıklanır.


10 – Oluşturulan rapor dizayn ekranında section kısmında ana querynin başlık alanları girilir.


11 -  Başlık altına yeni bir section alanı eklenir.


12- Rapor üzerinde mouse sağ klik>import query fields seçeneği seçilir.


13- Açılan ekrandan Ana query seçilerek next butonuna basılır.


14 – gelen ekran üzerinden ana query’nin hangi alanlarına ihtiyaç var ise onlar seçilerek finish butonuna tıklanır.

Not: Variable Name Prefix alanına rapor tanımlarında alan isimlerinin önüne eklemek istediğimiz tanımı gireriz.


15- Tekrar rapor üzerimde mouse sağ klik>import query fields seçeneği seçilerek ana query ile ilişkili olan detay query si seçilerek alanları eklenir.


16- Seçme işlemleri sonrası variables listesinden başlık alanlarının değerleri sürüklenir.


17- Yeni section eklenerek detay alanının başlıkları eklenir.


18- Detay kısmı için yeni bir section eklenerek variables listesinden ihtiyaç duyulan alanlar eklenir.


19- Rapor için oluşturulan class içerisinde otomatik olarak oluşan constructor metodunda ilişkilendirme işlemimiz otomatik olarak yapılandırıldığını görürüz. Burada değiştirilmesi gereken /*detail body*/ alanı. Detay olarak tasarladığımız section idsini 4 olarak değiştiririz.

public MasterDetailReport(JLbsReportLayout
layout, IReportRenderer renderer) {
             super(layout, renderer);
             // TODO Auto-generated constructor stub
             setMainQueryName("CQCourseSlipBrowser");
             setMainBodySection(2);
             registerDetailQuery(null, "CQCourseSlipLines", null, // order name
                           false, // is descending
                           "LOGICALREF", // parent property
                           "P_SLIPREF", // link parameter
                           null /* headers*/, null /* footers*/, 4 /* detail body */);
             setActive("CQCourseSlipLines", true);
       }


20- Class içerisinde ikitane metod override edilir biricisi başlık kısmının gösterilmesi için ikincisi detail alanı için.

İlk metoda rapor dizayn ekranında başlık bilgisinin bulunduğu yerin section idsi tanımlanır printSection(1);

      @Override
       protected void printQueryObject(QueryBusinessObject record, int order)
                    throws LbsLocalizableException {

             printSection(1);
             super.printQueryObject(record, order);
       }

       @Override
       protected void printDetailQueryObject(String string, int queryId,
                    QueryBusinessObject parent, QueryBusinessObject record,
                    int bodySec, int j) throws LbsLocalizableException {
             // TODO Auto-generated method stub
             super.printDetailQueryObject(string, queryId, parent, record, bodySec, j);
       }


21- Son olarak raporu Tree üzerinde  istediğimiz yere konumlarız. Projeyi deploy edebiliriz.




Telif HakkıKullanım KoşullarıGizlilik
Copyright © 2018 Logo Yazılım