fastreportta fatura dizaynı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
rahim123
Üye
Mesajlar: 29
Kayıt: 03 Ara 2003 05:49

fastreportta fatura dizaynı

Mesaj gönderen rahim123 »

arkadaşlar fatura dizaynımda alt toplamların yeri sabit oldugu için alt toplamları pagefooter'a yazıyorum 1 sayfalık fat.da herşey güzel ancak 2 sayfalık fatura olunca buraya alt toplam almasında son syafaya sadece toplam yazsın istiyorum. değişkenleri isimlendirdim ama genede yazıyo

procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
if ((<totalpages#> > 1) and (<page#> = 1)) then
begin
memom1.visible :=false;
memom2.visible :=false;
memom3.visible :=false;
memom4.visible :=false;
end;
end;

selamlar,
Kullanıcı avatarı
DarkEternal
Üye
Mesajlar: 158
Kayıt: 19 Eki 2005 11:00

Mesaj gönderen DarkEternal »

Sorunu doğru anladı isem PageFooter yerine ReportFooter kullanman yeterli...
rahim123
Üye
Mesajlar: 29
Kayıt: 03 Ara 2003 05:49

fastreport fatura dizaynı

Mesaj gönderen rahim123 »

olmaz illakide footer da yazdırmalıyım ama sayfa 1...50 arası yazarken 1..49 da alt toplam vermicek sadece 50 de alt toplam olacak sonra 1 sayfalık bi fatura ise onun altında toplam gösterecek acil yazrdım lütfen
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Mesaj gönderen csunguray »

İlk başta PageFooter invisible olmalı. Rapora bir de Summary ekleyin. Raporun basinda AltToplamYaz isimli bir değişken tanımlayın ve değerini 0 atayın. Summary içerisinde de AltToplamYaz değişkenini 1 yapın. PageFooter ın onBeforePrint Event'ının içerisinde de if AltToplamYaz=1 then PageFooter1.Visible:=True else PageFooter1.Visible:=False; yazın. Ayrıca yasal olarak sayfanın her sayfanın altına sayfa toplamı ve sonraki sayfanın başına devir toplamı yazdırmanız gerekir. Devir bandını PageHeader'a bir Child band bağlayarak yapabilirsiniz.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba farklı bir bakış açısından bakarsak ,
Fatura satırlarının tutulduğu tablonun EOF olması PAgeFooter bandının yazdırılması aksi durumdada yazdırılmamasının kontrolüyle istediğiniz yapılabilir.Bu durumda FastReport içinden Delphiteki tablonun EOF olup olmadığını öğrenmek için bir fonksiyon yazmak ve bunu kullnamak işi çözecektir,
Raporda detay veri olarak kulladığınız dataset in bulunduğu forma bir fonksyion tanımlayın

Kod: Tümünü seç

function RaporDetayEof:Byte;
begin
 if qRaporDetay.Eof then Result:=1 else Result:=0;
//qRaporDetay sizin detay datasetin adı oluyor.
end;
sonra bu fonksiyonu FastReport a tanıtıyoruz,
Formun OnCreate Olayına yazalım ,

Kod: Tümünü seç

frxReport.AddFunction('function RaporDetayEof:Byte');
Son olarak FastReport içinden ilgili fonksiyon çağrıldığında sonucun FastReport a taşınamsını sağlayacak yordamı yazalım ,

frxREport bileşeninin OnUserFunction olayına ,

Kod: Tümünü seç

 if MethodName='RaporDetayEof' then Result:=RaporDetayEof;
Artık herşey hazır, ilgili FastReport sayfasından şöyle bir komut kullanabilirsiniz,

Kod: Tümünü seç

if RaporDetayEof=1 then PageFooter1.Visible:=True else PageFooter1.Visible:=False;
Not: FasTReport ta kullanıcı tanımlı fonksyionların kulanılması olayını forumdaki makalelerden yararlanarak yazdım.
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
rahim123
Üye
Mesajlar: 29
Kayıt: 03 Ara 2003 05:49

Mesaj gönderen rahim123 »

teş.ediyorum ilginize mükemmel oldu her 2 alternatifte çalışıyor
.net icat oldu mertlik bozuldu
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: fastreportta fatura dizaynı

Mesaj gönderen akuyumcu63 »

çok teşekkür ederim
İsteyen, yapabildiğinden daha fazlasını yapar.
Cevapla