Rabu, 25 Mei 2011

Make footer appear at the end of the page


spAXrrttaaaann!! ...

Waktu itu user mencoba mencetak Purchase Order yang lumayan banyak list itemnya. Saat proses print dan menampilkannya di Screen footer PurchaseOrder tampil disetiap Halaman. Sedangkan Idealnya sebuah footer menurut versi user saya footer tersebut harus berada di akhir halaman (kondisi Report PurchPurchaseOrder sudah kami modifikasi dengan menambahkan satu footer lagi untuk Tanda Tangan user-user yang bertanggung jawab untuk Dokumen Purchase order ini).

dan bertambah kembali-lah pekerjaan modifikasi kami. Kami menambahkan dan memodifikasi beberapa Syntak yang ada di method fetch PurchPurchaseOrder ...

Pertama:
Saya tambahkan PageFooter tambahan yang isinya Kotak-kotak Yang akan dipakai user untuk Tanda tangan.
Kedua:
Saya tambahkan variable Boolean printFooter di classdeclaration di Report PurchPurchaseOrder
Ketiga:
Saya tambahkan method executeSection seperti ini ...
void executeSection()
{
if (printReference)
super();

printReference = true;
}
Keempat:
di method Fetch di modifikasi seperti ini di bagian ...

while (purchFormLetterReport.moveNextPrintSetting())
{
// Set print settings for this report
element.unpackPrintJobSettings(purchFormLetterReport.getCurrentPrintSetting().parmPrintJobSettings().packPrintJobSettings());
element.printJobSettings().copies(purchFormLetterReport.getCurrentPrintSetting().parmNumberOfCopies());
element.printJobSettings().fitToPage(false);
/*Original start
printFooter = this.totalsPage(FirstLast::First, vendPurchOrderJour.AmountPurchaseOrder);
printFooterEuro = this.totalsPage(FirstLast::First, vendPurchOrderJour.AmountPurchaseOrder && element.printEuroTotals());
printDocuHeader = false;
*/Original end
//Hy's modified start
printFooter = this.totalsPage(FirstLast::Last, vendPurchOrderJour.AmountPurchaseOrder);
printFooterEuro = this.totalsPage(FirstLast::Last, vendPurchOrderJour.AmountPurchaseOrder && element.printEuroTotals());
printDocuHeader = false;
//Hy's modified end

setelah itu di bagian ini ... masih di method fetch

/* Original Start
if (element.pagesTotal())
{

printFooter = this.totalsPage(FirstLast::Last, vendPurchOrderJour.AmountPurchaseOrder);
printFooterEuro = this.totalsPage(FirstLast::Last, vendPurchOrderJour.AmountPurchaseOrder && element.printEuroTotals());
}
*/ Original end
//Hy's Modified start
if (element.pagesTotal())
{
printFooter = this.totalsPage(FirstLast::First, vendPurchOrderJour.AmountPurchaseOrder);
printFooterEuro = this.totalsPage(FirstLast::First, vendPurchOrderJour.AmountPurchaseOrder && element.printEuroTotals());
//printReference ... variable yang mewakili PageFooter baru yang saya buat
printReference = this.totalsPage(FirstLast::First,vendPurchOrderJour.AmountPurchaseOrder);
}
else
//Hy's modified end

Tidak ada komentar:

Posting Komentar

Erorr CS1963 - An expression tree may not contain a dynamic operation.

Kali ini saya mendapatkan erorr dengan code CS1963, padahal sebelumnya saya sudah mendefinisikan 'var item in Model' di @foreach(var...