procedure RaporLoad;
Begin
  SetViewCaption('BASLIK', 'PARADOX ALINAN EVRAKLAR LİSTESİ');
// Filtre Kullanılırsa
  if FFilter <> '' Then
    AddQueryToSQL('KullaniciQ', ' WHERE ' + FFilter);
  AddQueryToSQL('KullaniciQ', 'ORDER BY E.VADE');
End;

Function RaporFileName: String;
Begin
  Result:= ParsDir + 'Cari Kart Raporları\Finansal Raporlar\Tahsilat Raporları\Alınan Evraklar.fr3';
End;

Function ReadSQL(W: String): String;
Begin
  Result:= 'Set DateFormat DMY ' + #13#10 +
     ' Select ' + #13#10 +
	 '   dbo.TRMONTHNAME(G.AY) AS GIRISAYADI, dbo.TRMONTHNAME(DATEPART(month, E.VADE)) AS VADEAYADI,  ' +
     '   EvrakTipi, DURUM, GFIRMAKODU AS GIRISFIRMAKODU, GFIRMAADI AS GIRISFIRMAADI, ' + #13#10 +
     '   GIRISTARIHI, E.PORTFOYNO, E.VADE, PARABIRIMI, ' + #13#10 +
     '   CFIRMAKODU AS CIKISFIRMAKODU, CFIRMAADI AS CIKISFIRMAADI,  ' + #13#10 +
     '   CAST(CONVERT(VarChar, E.TARIH, 104) AS DATETIME) AS CIKISTARIHI, ' + #13#10 +
     '   B.BANKAKODU, B.BANKAADI, G.BELGENO AS GIRISBELGENO, ' + #13#10 +
     '   E.TAKASTARIHI, E.TAKASBELGENO, E.TAKASBANKAKODU, E.TAKASBANKAADI, ' + #13#10 +
	 '   G.ACIKLAMA AS GIRISACIKLAMA, GD.ACIKLAMA AS EVRAKACIKLAMA, E.TUTARI, ' + #13#10 +
	 '   C.BELGENO AS CIKISBELGENO, C.ACIKLAMA AS CIKISACIKLAMA' + #13#10 +
     ' from TUMEVRAKLAR E ' + #13#10 +
     ' LEFT OUTER JOIN TBLCARIGIRIS G ON G.KARTNO = E.GISLEMNO ' + #13#10 +
	 ' LEFT OUTER JOIN TBLCARIGIRISDETAY GD WITH(INDEX=TBLCARIGIRISDETAY_BASLIK) ON ' + #13#10 +
     '     G.KARTNO = GD.BASLIKID AND GD.ISLEM = E.ISLEM AND GD.PORTFOYNO = E.PORTFOYNO ' + #13#10 +
	 ' LEFT OUTER JOIN TBLCARICIKIS C WITH(INDEX=TBLCARICIKIS_KARTNO) ON C.KARTNO = E.CISLEMNO ' +
     ' LEFT OUTER JOIN TBLBANKALAR B ON B.KARTNO = E.BANKA ';

  if W <> '' Then
    Result:= Result + ' WHERE ' + W;
End;
  
// İptal
procedure cxButton2Click(Sender: TObject);
begin
  Self.Close;
end;

// Tamam
procedure cxButton1Click(Sender: TObject);
Var
  E: String;
  
  procedure Ekle(S: String);
  Begin
    if E = '' Then
	  E:= S
	else
	  E:= E + ', ' + S;
  End;

Var
  I: Integer;
  F: String;
begin
  I:= Self.evraklar.Checked;

  if I > 0 Then
  Begin
	if I And  2 =  2 Then Ekle('1');
	if I And  4 =  4 Then Ekle('2');
	if I And  8 =  8 Then Ekle('3');
	if I And 16 = 16 Then Ekle('8');
	if I And 32 = 32 Then Ekle('7');
	
	F:= ' E.ISLEM IN(' + E + ') ' + 
        ' AND CAST(CONVERT(VARCHAR, E.GIRISTARIHI, 104) AS DATETIME) >= CAST(' + QuotedStr(FormatDateTime('dd.mm.yyy', Self.IlkTarih.Date)) + ' AS DATETIME) ' + 
        ' AND CAST(CONVERT(VARCHAR, E.GIRISTARIHI, 104) AS DATETIME) <= CAST(' + QuotedStr(FormatDateTime('dd.mm.yyy', Self.SonTarih.Date)) + ' AS DATETIME)';	
		
	if not ReadFilterOnly Then
	Begin
      CreateReport(F, ReadSQL(F), 
        'AYADI;EvrakTipi;EVRAKACIKLAMA;GIRISTARIHI;GIRISBELGENO;PORTFOYNO;TUTARI;VADE;VADEAYADI;DURUM;GIRISFIRMAKODU:0;GIRISFIRMAADI;GIRISACIKLAMA:0;' + 
    	'CIKISTARIHI:0;CIKISBELGENO:0;CIKISFIRMAKODU:0;CIKISFIRMAADI:0;' + 
	    'BANKAKODU:0;BANKAADI:0;TAKASTARIHI:0;TAKASBELGENO:0;TAKASBANKAKODU:0;TAKASBANKAADI:0',
	    'Ay;Evrak;Açıklama;Giriş Tarihi;Giriş BelgeNo;Portfoy No;Tutarı;Vade;Vade Ay;Durum;Giriş Firma Kodu; Giriş Firma Adı;Giriş Açıklama;Çıkış Tarihi;Çıkış Belge No;Çıkış Firma Kodu;Çıkış Firma Adı;' + 
        'Banka Kodu;Banka Adı;Takas Tarihi;Takas Belge No; Takas Banka Kodu;Takas Banka Adı',
	     2);
	  
	  AddDataField('TUTARI'); 
	  AddRowField('EvrakTipi');
	  AddColumnField('BANKAADI');  	
	End
	Else
	Begin
	  SetReportData(F, ReadSQL(F));
	End;
  End;
  
  Self.Close;
end;

// editForm_1.OnShow
procedure editFormShow(Sender: TObject);
begin
  AddCheckItems(TComponent(Self.evraklar), 'Çek;Senet;VİSA;Taksit;Dekont');
  Self.IlkTarih.Date:= Date;
  Self.SonTarih.Date:= Date;
end;

Begin
  
End.