17-05-2012, 09:55
Arkadaşlar herkese merhaba...
benim de bir sorum olacaktı.
şimdi elimde firebird ile derlenmiş bir veri tabanı var bu veritabanından fastrepot ile rapor alıyorum kullandığım program aracılığyla...
şimdi rapor ekranında şu şekilde sütunlar var. borç,adet,tahsi,iptal,kalan..
nu sütunlar da başka bir sütun olan hesap turu sütunundan süzdürülerek geliyor..
mesela 2012 yılında borç,adet,tahsil,iptal,kalan...ile 2011 yılında aynı adamlarda borç,adet,tahsil,iptal,kalan verileri farklı...
benim yapmak istediğim 2012 yılındaki iptal sütunun değiştirerek buraya 2011 deki kalan verilerini eklemek istiyorum...ama yapamadım
fastreport kodları şu şekilde... sizden ricam kodlarda da görülen iptal bölümüne hangi kodu eklemeliyim
yardımlarınız için şimdiden çok teşekkürler...
benim de bir sorum olacaktı.
şimdi elimde firebird ile derlenmiş bir veri tabanı var bu veritabanından fastrepot ile rapor alıyorum kullandığım program aracılığyla...
şimdi rapor ekranında şu şekilde sütunlar var. borç,adet,tahsi,iptal,kalan..
nu sütunlar da başka bir sütun olan hesap turu sütunundan süzdürülerek geliyor..
mesela 2012 yılında borç,adet,tahsil,iptal,kalan...ile 2011 yılında aynı adamlarda borç,adet,tahsil,iptal,kalan verileri farklı...
benim yapmak istediğim 2012 yılındaki iptal sütunun değiştirerek buraya 2011 deki kalan verilerini eklemek istiyorum...ama yapamadım
fastreport kodları şu şekilde... sizden ricam kodlarda da görülen iptal bölümüne hangi kodu eklemeliyim
yardımlarınız için şimdiden çok teşekkürler...
Kod:
var
grupbandsonuaktif:integer;
AdetToplami,KodAdetToplami,TumAdetToplami:extended;
filtre1,filtre2 : string;
procedure BitBtn1OnClick(Sender: TfrxComponent);
begin
Report.SaveToFile(<DDosyaYolu>);
QCari.Close;
QCari.SQL.Clear;
QCari.SQL.Text:='SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI,S, SUM(BORC) BORC, SUM(NAKIT+CEK+SENET+KART) TAHSIL, SUM(IPTAL) IPTAL, SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL) KALAN, SUM(NAKIT) NAKIT, SUM(CEK) CEK, SUM(SENET) SENET, SUM(KART) KART, SUM(ELDEN) ELDEN, SUM(BORC-NAKIT-CEK-SENET-ELDEN-KART-IPTAL) ACIK FROM'
+' ('
// Borç
+' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, SUM(-( TL+(DL*KUR_DL)+(YR*KUR_YR) )) BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE (ID=5 OR ID=7) AND '+<DFilterTextGiris>+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'
// iptal
+' UNION ALL'
+' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE D = ''İ'' AND '+<DFilterTextGiris>+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'
// nakit
+' UNION ALL'
+' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ( ID IN (1,2,3,8) and D IN (''Ö'',''C'') ) AND '+<DFilterTextGiris>+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'
+' UNION ALL'
+' SELECT SIRKET,CIK_KODU,CIK_HESAP_TURU,CIK_CARI_ISMI,CIK_REFERANSI, 0 BORC, 0 IPTAL, SUM(-( TL+(DL*C_KUR_DL)+(YR*C_KUR_YR) )) NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, (case when CIK_CARI_ISMI=CIK_REFERANSI then ''0'' else ''1'' end) FROM VERILER WHERE D=''C'' AND ID IN (2,3) AND '+<DFilterTextCikis>+' GROUP BY SIRKET,CIK_HESAP_TURU,CIK_KODU,S,CIK_REFERANSI,CIK_CARI_ISMI' // KART NAKİTE EKLENDİ BEKLEMEDE OLSA DAHİ
// çek
+' UNION ALL'
+' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ID=2 AND D=''B'' AND '+<DFilterTextGiris>+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'
// senet
+' UNION ALL'
+' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ID=3 AND D=''B'' AND '+<DFilterTextGiris>+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'
// kredi kartı
+' UNION ALL'
+' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) KART ,0 ELDEN, S FROM VERILER WHERE ID=8 AND D=''B'' AND '+<DFilterTextGiris>+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'
// elden
+' UNION ALL'
+' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) ELDEN ,S FROM VERILER WHERE ID=4 AND D=''B'' AND '+<DFilterTextGiris>+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'
+' )'
+' WHERE '+<DFilterTextGiris>; // where yi silme çünki iç veya dış istendiğinde, cirolanan evrakların s si işi karıştırıyor.
if RSiralamaHesapturu.checked=True then // sıralama türü hesap türüne göre
QCari.SQL.Add(' GROUP BY SIRKET,KODU,HESAP_TURU,REFERANSI,S,CARI_ISMI')
else //referansa göre
QCari.SQL.Add(' GROUP BY SIRKET,KODU,REFERANSI,HESAP_TURU,S,CARI_ISMI');
if (CTur.Text <> '<Boş>') then
begin
Filtre1:='';
Filtre2:='';
if (CTur.Text <> '<Boş>') then
if CTur.Text='Borç' then Filtre1:= 'SUM(BORC)'+Ckriter.Text+CTanim.Text;
if CTur.Text='Tahsil' then Filtre1:= 'SUM(NAKIT+CEK+SENET+KART)'+Ckriter.Text+CTanim.Text;
if CTur.Text='İptal' then Filtre1:= 'SUM(IPTAL)'+Ckriter.Text+CTanim.Text;
if CTur.Text='Kalan' then Filtre1:= 'SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL)'+Ckriter.Text+CTanim.Text;
if CTur.Text='Nakit' then Filtre1:= 'SUM(NAKIT)'+Ckriter.Text+CTanim.Text;
if CTur.Text='Çek' then Filtre1:= 'SUM(CEK)'+Ckriter.Text+CTanim.Text;
if CTur.Text='Senet' then Filtre1:= 'SUM(SENET)'+Ckriter.Text+CTanim.Text;
if CTur.Text='Elden' then Filtre1:= 'SUM(ELDEN)'+Ckriter.Text+CTanim.Text;
if CTur.Text='Açık' then Filtre1:= 'SUM(BORC-NAKIT-CEK-SENET-KART-ELDEN)'+Ckriter.Text+CTanim.Text;
if (CTur2.Text <> '<Boş>') then
if CTur2.Text='Borç' then Filtre2:= ' AND SUM(BORC)'+Ckriter2.Text+CTanim2.Text;
if CTur2.Text='Tahsil' then Filtre2:= ' AND SUM(NAKIT+CEK+SENET+KART)'+Ckriter2.Text+CTanim2.Text;
if CTur2.Text='İptal' then Filtre2:= ' AND SUM(IPTAL)'+Ckriter2.Text+CTanim2.Text;
if CTur2.Text='Kalan' then Filtre2:= ' AND SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL)'+Ckriter2.Text+CTanim2.Text;
if CTur2.Text='Nakit' then Filtre2:= ' AND SUM(NAKIT)'+Ckriter2.Text+CTanim2.Text;
if CTur2.Text='Çek' then Filtre2:= ' AND SUM(CEK)'+Ckriter2.Text+CTanim2.Text;
if CTur2.Text='Senet' then Filtre2:= ' AND SUM(SENET)'+Ckriter2.Text+CTanim2.Text;
if CTur2.Text='Elden' then Filtre2:= ' AND SUM(ELDEN)'+Ckriter2.Text+CTanim2.Text;
if CTur2.Text='Açık' then Filtre2:= ' AND SUM(BORC-NAKIT-CEK-SENET-KART-ELDEN)'+Ckriter2.Text+CTanim2.Text;
QCari.SQL.Add(' HAVING '+Filtre1+Filtre2);
end;
if (CTur.Text <> '<Boş>') then // filtre seçilirse referans çizgileri çıkmasın
GroupBasReferans.Visible:=False;
if CHKodToplaminiAl.checked=True then // kod toplamlarının alınması
begin
GroupSonKod.Visible:=True;
if RAyriSayfa.checked=True then // kod toplamı ayri sayfada alınsın
GroupBasKod.StartNewPage:=True
else
GroupBasKod.StartNewPage:=False;
end else GroupSonKod.Visible:=False;
if CHReferansToplami.checked=True then // referans toplamı alınsın
GroupSonReferans.Visible:=True
else GroupSonReferans.Visible:=False;
end;
procedure KolonSonu1OnBeforePrint(Sender: TfrxComponent);
begin
// kolon sonu alt toplamların altında bir çizgi halinde çıkıyor, çizgi çıkmasın
if grupbandsonuaktif=0 then
KolonSonu1.Visible:=True
else
KolonSonu1.Visible:=False;
end;
procedure Band2OnAfterPrint(Sender: TfrxComponent);
begin
grupbandsonuaktif:=0;
end;
procedure GroupFooter2OnAfterPrint(Sender: TfrxComponent);
begin
grupbandsonuaktif:=1;
end;
procedure GroupFooter1OnAfterPrint(Sender: TfrxComponent);
begin
grupbandsonuaktif:=1;
end;
procedure CheckBox1OnClick(Sender: TfrxComponent);
begin
if CHKodToplaminiAl.checked=True then
begin
RAyriSayfa.Enabled:=True;
RAyniSayfa.Enabled:=True;
end else
begin
RAyriSayfa.Enabled:=False;
RAyniSayfa.Enabled:=False;
end;
end;
procedure GroupSonReferansOnAfterPrint(Sender: TfrxComponent);
begin
AdetToplami:=0;
end;
procedure GroupSonKodOnAfterPrint(Sender: TfrxComponent);
begin
KodAdetToplami:=0;
end;
procedure Memo78OnAfterPrint(Sender: TfrxComponent);
begin
AdetToplami:=AdetToplami+IIF(<QAdet."SABIT_TUTAR"><>0,<QCari."BORC"> / <QAdet."SABIT_TUTAR">,0);
KodAdetToplami:=KodAdetToplami+IIF(<QAdet."SABIT_TUTAR"><>0,<QCari."BORC"> / <QAdet."SABIT_TUTAR">,0);
TumAdetToplami:=TumAdetToplami+IIF(<QAdet."SABIT_TUTAR"><>0,<QCari."BORC"> / <QAdet."SABIT_TUTAR">,0);
end;
procedure CTurOnChange(Sender: TfrxComponent);
begin
if CTur.Text = '<Boş>' then
begin
CKriter.Enabled:=False;
CTanim.Text:='0';
CTanim.Enabled:=False;
end else
begin
CKriter.Enabled:=True;
CTanim.Enabled:=True;
end;
end;
procedure CTur2OnChange(Sender: TfrxComponent);
procedure Bevel2OnClick(Sender: TfrxComponent);
begin
end;
begin
if CTur2.Text = '<Boş>' then
begin
CKriter2.Enabled:=False;
CTanim2.Text:='0';
CTanim2.Enabled:=False;
end else
begin
CKriter2.Enabled:=True;
CTanim2.Enabled:=True;
end;
end;
begin end.

