merhaba;
CariHareket ve FaturaHareket adında iki tane tablom var,
CariHareket Kayıtlarını Raporda MasterData Bandında, FaturaHareket Kayıtlarını da DetailData Bandında Görüntülüyorum.
yapmaya Calıştığım şey şu;
CariHareket Tablosunda İŞLEMTİPİ ='Satış Faturası' yada İŞLEMTİPİ ='Alış Faturası' ise FaturaHareket Tablosundaki hareket kayıtlarını ilgili kaydın altında listelesin,
raporun devamında da borc, alacak, tahsilat, ödeme gibi işlem tipi kayıtları CariHareket Kayıtları olarak raporun devamında devam etsin, arada tekrar İŞLEMTİPİ='Satış Faturası' olan bir kayıt olursa FaturaHareket kayıtlarını listelesin ve devam etsin,
bu işlem için nasıl bir yol izlemeliyim. Teşekkür ederim.
Fast Raport Şarta Bağlı Detail Yazdırma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Fast Raport Şarta Bağlı Detail Yazdırma
İsteyen, yapabildiğinden daha fazlasını yapar.
Re: Fast Raport Şarta Bağlı Detail Yazdırma
Programın içerisinde CariHareket tablosunun OnAfterScroll event'ı içerisinde:
benzeri bir kod yazın.
Kod: Tümünü seç
procedure TForm1.CariHareketAfterScroll(DataSet: TDataSet);
begin
inherited;
FaturaHareket.Close;
if (CariHareket.FieldByName('İISLEMTIPI').AsString = 'Satış Faturası') or (CariHareket.FieldByName('ISLEMTIPI').AsString = 'Alış Faturası') then
begin
FaturaHareket.Parameters.ParamByName('FATURA_NO').Value := CariHareket.FieldByName('FATURA_NO').AsInteger;
FaturaHareket.Open;
end;
end;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Re: Fast Raport Şarta Bağlı Detail Yazdırma
merhaba;
söylemiş olduğunuz kodu aşağıdaki gibi denedim. istediğim sonucu alamadım
göndermiş olduğunuz kodu yukarıdaki şekilde denemeye çalıştım. elde ettiğim sonuç, CariHareket tablosunun her kaydının altına fatura hareketlerinin hepsini sıralıyor.
benim yapmaya çalıştığım şey ise;
cari hareket tablosunda İŞLEMTİPİ ='Satış Faturası' yada İŞLEMTİPİ ='Alış Faturası' olan bir kayıt olduğunda fatura hareketlerini o cariHareketin altına listelesin devamındaki hareketin işlem tipi fatura ise önce cariHareketini sonrada o hareketin altına fatura harketlerini sıralasın, devamındaki hareketin işlem tipi borç ise borç hareketini yazsın fatura hareketleri çıkmasın,
söylemiş olduğunuz kodu aşağıdaki gibi denedim. istediğim sonucu alamadım
Kod: Tümünü seç
inherited;
frmDm.IBQryVWFaturaHareket.Close;
if (frmDm.IBqryVWCariHar.FieldByName('ISLEMTIPI').AsString = 'Satış Fatura') or (frmDm.IBqryVWCariHar.FieldByName('ISLEMTIPI').AsString = 'Alış Fatura') then
begin
frmDm.IBQryVWFaturaHareket.SQL.Clear;
frmDm.IBQryVWFaturaHareket.SQL.Add('select * from VWFATURAHARLISTE where (ID LIKE:MID)');
frmDm.IBQryVWFaturaHareket.SQL.Add('Order By FHID');
frmDm.IBQryVWFaturaHareket.Params[0].AsString:=Trim(frmDm.IBqryVWCariHarMODULID.AsString);
frmDm.IBQryVWFaturaHareket.Open;
end;
end;
benim yapmaya çalıştığım şey ise;
cari hareket tablosunda İŞLEMTİPİ ='Satış Faturası' yada İŞLEMTİPİ ='Alış Faturası' olan bir kayıt olduğunda fatura hareketlerini o cariHareketin altına listelesin devamındaki hareketin işlem tipi fatura ise önce cariHareketini sonrada o hareketin altına fatura harketlerini sıralasın, devamındaki hareketin işlem tipi borç ise borç hareketini yazsın fatura hareketleri çıkmasın,
İsteyen, yapabildiğinden daha fazlasını yapar.
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Fast Raport Şarta Bağlı Detail Yazdırma
kodu Fast Report Database Nesnesini bağlamış olduğun Query nesnesinin "AFTER SCROOLL" olayına yazdığın zaman SORGUNDA hata yoksa sorunsuz olarak çalışması lazım.
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Re: Fast Raport Şarta Bağlı Detail Yazdırma
merhaba;
kodun bende çalışan son hali;
Çok Teşekkür ederim.
kodun bende çalışan son hali;
Kod: Tümünü seç
inherited;
if (Trim(frmDm.IBqryVWCariHar.FieldByName('ISLEMTIPI').AsString) = 'Satış Fatura') or
(Trim(frmDm.IBqryVWCariHar.FieldByName('ISLEMTIPI').AsString) = 'Alış Fatura') then
begin
frmAnaForm.rpCariAyrintili.Pages[1].FindObject('Header2').Visible:=True;
frmAnaForm.rpCariAyrintili.Pages[1].FindObject('DetailData1').Visible:=True;
frmAnaForm.rpCariAyrintili.Pages[1].FindObject('Footer1').Visible:=True;
frmDm.IBQryVWFaturaHareket.Close;
frmDm.IBQryVWFaturaHareket.FetchAll;
frmDm.IBQryVWFaturaHareket.UnPrepare;
frmDm.IBQryVWFaturaHareket.SQL.Clear;
frmDm.IBQryVWFaturaHareket.SQL.Add('select * from VWFATURAHARLISTE where (ID LIKE:MID) Order By FHID'); //and (FATID LIKE:MADI
frmDm.IBQryVWFaturaHareket.Params[0].AsString:=Trim(frmDm.IBqryVWCariHarMODULID.AsString);
frmDm.IBQryVWFaturaHareket.Prepare;
frmDm.IBQryVWFaturaHareket.Open;
end else
begin
frmAnaForm.rpCariAyrintili.Pages[1].FindObject('Header2').Visible:=False;
frmAnaForm.rpCariAyrintili.Pages[1].FindObject('DetailData1').Visible:=False;
frmAnaForm.rpCariAyrintili.Pages[1].FindObject('Footer1').Visible:=False;
frmDm.IBQryVWFaturaHareket.Close;
end;
İsteyen, yapabildiğinden daha fazlasını yapar.
Re: Fast Raport Şarta Bağlı Detail Yazdırma
FAst reportda rapor alırken sorun yaşıyorum, yatay kağıt setupları verdiğim halde dikey kağıt gibi düşünüp, verilerimin tamamını almıyor.
Fast reportda page setting de
oriantation = Landscape seçiyorum.
Size : A4 210*294 cm seçiyorum..
Width : 29,7
High : 21
oluyor..
Ama çıktı alırken genişliği 21 oalrak yazıyor..Genişliği yatay kağıt gibi değil, düşey kağıt gibi algılıyor.
YAzıcı propertiesinden de YAtay kağıt ayarı yapıyorum..ama genede olmuyor..
Fast reportda page setting de
oriantation = Landscape seçiyorum.
Size : A4 210*294 cm seçiyorum..
Width : 29,7
High : 21
oluyor..
Ama çıktı alırken genişliği 21 oalrak yazıyor..Genişliği yatay kağıt gibi değil, düşey kağıt gibi algılıyor.
YAzıcı propertiesinden de YAtay kağıt ayarı yapıyorum..ama genede olmuyor..