1

Konu: Rapor Düzenlemesi

Oluşturduğum raporda page header, detail ve page footer bölümleri var.
Detail bölümü tabledeki kayıt sayısına göre değişiyor.
Detail bölümünde 20 kayıt olduğu zaman page footer bölümündeki bilgiler ile detail bölümündeki bilgiler arasında boşluk olmuyor. Yani matbudaki gibi düzgün.
Eğer detail bölümü 20 kayıttan az olursa page footer ile kayıtlar arasında boşluk oluşuyor.
Summary kullanmıyorum. Çünkü her sayfanın sonunda sayfa sonu bölümünün olmasını istiyorum.
Matbu bir evraktaki gibi kayıt sayısı az olsa bile kayıt sayısı 20 den az olan satırları tamamlamak için nasıl bir yöntem kullanmalıyım veya optional bands bölümünde nasıl değişiklikler yapmalıyım.

2

Re: Rapor Düzenlemesi

Her matbu evrakı diğerinden ayıran bir özellik olmalı. Mesela fatura no veya makbuzno. Kayıtlarını buna göre sıralayıp raporundada buna göre grup yapıp , Group starts on new page şeç.

3

Re: Rapor Düzenlemesi

yazılacak olan her kaydı ayrı cursore taşıyıp 20 den az olan kayıtlar için boş kayıtlar ekleyip rapora
curdan yazdırmak olabilir mi?
ya da
yazılacak kayıtları süzüp bir cursorde toplayıp her sayfa için 20 den az olan satırlar için boş kayıt ekletip
sonra tüm cursoru raporlamak.

4

Re: Rapor Düzenlemesi

Evet ercan bey dediğiniz gibi yaptım. geçici cursor oluşturup kayıtları ona atıyorum. eğer 20 den az ise boş kayıt ilave ediyorum. kendi yazıcımda (hp 1015) düzgün . ama başka yazıcılarda bu 20 rakamı bazen çok, bazen az geliyor. Yani bir standart oluşmuyor. Özellikle nokta vuruşlu yazıcılarda.

5

Re: Rapor Düzenlemesi

Cemal bey bu Group starts on new page ı biraz  açabilir misiniz

6 Son düzenleyen, ercan (25.03.2007 15:18:46)

Re: Rapor Düzenlemesi

standard oluştumak için setup dosyasına bir  değişken ekleyip oluşturulacak ara satır sayısını oradan alabilirsin.

7 Son düzenleyen, taRKan (25.03.2007 15:46:42)

Re: Rapor Düzenlemesi

Bildiğim kadarıyla; detail bölümde alt çizgi (satır çızgisi) kullanıyorsan bunu rapor cursorunun kayıt sayısını ayarlamadan yapman zor. Ama detail bölümünde satır çizgisi kullanmıyor sadece çerçeve ve sutün çizgileri kullanıyorsan bu çizgileri page header'dan başlatıp page footer'a kadar uzatman yeterli olacaktır.

Satır çizgisine için ise rapor cursoruna eğer boş kayıt ekleme imkanın varsa;

Visual Fox Pro
#Define RAPOR_SATIR_SAYISI    20

 
Local lnI As Integer
Local Array laKayitSayisi[1,1]
 
Select Cnt(*) ;
    From TabloAdi ;
    With (Buffering = .T.) ;
    Into Array laKayitSayisi
 
m.laKayitSayisi = IIf(IsNull(m.laKayitSayisi), 0, m.laKayitSayisi)
If m.laKayitSayisi = 0
    m.laKayitSayisi = RAPOR_SATIR_SAYISI
Else
    m.laKayitSayisi = RAPOR_SATIR_SAYISI - Mod(m.laKayitSayisi, RAPOR_SATIR_SAYISI)
    If m.laKayitSayisi = RAPOR_SATIR_SAYISI
        m.laKayitSayisi = 0
    EndIf
EndIf
For m.lnI = 1 To m.laKayitSayisi
    Append Blank In TabloAdi
EndFor
 
Select TabloAdi
Report Form Rapor\RaparAdi To Printer Prompt NoConsole Preview
/o---------------------o\
     www.haser.com
\o---------------------o/