SQL 2005 VE NETSIS ILIŞKISI

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

view eklenince her satır için toplam dönüyor mesela borç olacak her stok için aynı döndüğü için toplamıda yanlış veriyor
evet satır iskontosu
eğer dediğim gibi cari hareket dökümünde fatura detayı biliyorsan onun aynısını bu eklentileride yaparak yapacam.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

Arkadaşlar Merhaba bu cümleyi çalıştıramadım şu hatayı veriyor
[Error] Menu.pas(50): String literals may have at most 255 elements
Yardımcı olurmusunuz?
procedure TForm1.Button1Click(Sender: TObject);
begin
ARapor.Close;
ARapor.sql.Clear;
ARapor.SQL.Add('select TBLCASABIT.CARI_KOD,TBLCASABIT.CARI_ISIM,TBLCAHAR.ACIKLAMA,TBLSTHAR.STOK_KODU,TBLSTHAR.FISNO,TBLSTHAR.STHAR_ACIKLAMA from TBLCASABIT,TBLCAHAR,TBLSTHAR WHERe TBLSTHAR.FISNO=TBLCAHAR.BELGE_NO AND TBLCASABIT.CARI_KOD=TBLCAHAR.CARI_KOD AND TBLCASABIT.CARI_KOD='''+edit1.text+'''');
ARapor.open;
End;
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

Arkadaşlar bu şekilde çözdüm;

Kod: Tümünü seç

ARapor.SQL.Add('select TBLCASABIT.CARI_KOD,TBLCASABIT.CARI_ISIM,TBLCAHAR.ACIKLAMA,TBLSTHAR.STOK_KODU,TBLSTHAR.FISNO,TBLSTHAR.STHAR_ACIKLAMA  from TBLCASABIT,TBLCAHAR,TBLSTHAR '+' WHERe TBLSTHAR.FISNO=TBLCAHAR.BELGE_NO'+' AND TBLCASABIT.CARI_KOD=TBLCAHAR.CARI_KOD AND TBLCASABIT.CARI_KOD='''+edit1.text+'''');
fakat benim yapmak istediğim bu değil,
CARİ_KOD eşitse hareketlerini dökecek eğer hareketlerin içinde Faturalar varsa onlarında detayını dökecem bu konuda bana bir yol gösterebilirmisiniz?
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

Arkadaşlar Merhaba;

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
ARapor.Close;
ARapor.sql.Clear;
ARapor.SQL.Add('select TBLCASABIT.CARI_KOD,TBLCASABIT.CARI_ISIM,TBLCAHAR.ACIKLAMA,TBLSTHAR.STOK_KODU,TBLSTHAR.FISNO,TBLSTHAR.STHAR_ACIKLAMA  from TBLCASABIT,TBLCAHAR,TBLSTHAR '+' WHERe TBLSTHAR.STHAR_CARIKOD=TBLCAHAR.CARI_KOD'+' AND TBLCASABIT.CARI_KOD=TBLCAHAR.CARI_KOD AND TBLCASABIT.CARI_KOD='''+edit1.text+'''');
ARapor.open;
End;
Bu şekilde sorgum çalışıyor fakat DBGrid ekrana şu şekilde veriyor;

100 AHMET AKSOY FATURAMIZ 100000456
100 AHMET AKSOY FATURAMIZ 100000346
100 AHMET AKSOY ÇEKLERİMİZ 234567891
100 AHMET AKSOY NAKIT ÖDEME 1.200


Şeklinde ben bunu DBGrid ekranda ;
100 AHMET AKSOY FATURAMIZ 100000456
KOLTUK TAKIMI 1 AD
SANDALYE 10 AD
MASA 2 AD
FATURAMIZ 100000346
DUVAR RESMİ 2 AD
PLASTİK MASA 3 AD
ÇEKLERİMİZ 234567891
10-10-2012 100000001 20000002 ERAY ASLAN 1.200
NAKİT TAHSİLAT 1.200
Bu şekilde DBGrid ekrana rapor edebilirmiyim? Bir örnek varmı yardımcı olurmusunuz?
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen sunye »

Netsis için view oluşturmayı dene. Raprolar / Serbest Raporlarda view'i seçerek çalıştırırsın.


Örnek View


CREATE VIEW _PLV_STOKBAKIYE AS
SELECT
ST.STOK_ADI,
ST.STOK_KODU,
SUM(ISNULL((CASE WHEN SH.STHAR_GCKOD='G' THEN SH.STHAR_GCMIK ELSE 0 END),0)) GIRIS,
SUM(ISNULL((CASE WHEN SH.STHAR_GCKOD='C' THEN SH.STHAR_GCMIK ELSE 0 END),0)) CIKIS,
SUM(ISNULL((CASE WHEN SH.STHAR_GCKOD='G' AND SH.STHAR_HTUR<>'I' THEN SH.STHAR_GCMIK ELSE 0 END),0))-SUM(ISNULL((CASE WHEN STHAR_GCKOD='C' AND SH.STHAR_HTUR<>'I' THEN STHAR_GCMIK ELSE 0 END),0)) GERCEK_BAKIYE,
SUM(ISNULL((CASE WHEN SH.STHAR_GCKOD='G' AND SH.STHAR_HTUR='I' THEN SH.STHAR_GCMIK ELSE 0 END),0))-SUM(ISNULL((CASE WHEN STHAR_GCKOD='C' AND SH.STHAR_HTUR='I' THEN STHAR_GCMIK ELSE 0 END),0)) AYRILMIS_BAKIYE,
SUM(ISNULL((CASE WHEN SH.STHAR_GCKOD='G' AND SH.STHAR_HTUR<>'I' THEN SH.STHAR_GCMIK ELSE 0 END),0))-SUM(ISNULL((CASE WHEN STHAR_GCKOD='C' AND SH.STHAR_HTUR<>'I' THEN STHAR_GCMIK ELSE 0 END),0)) -
SUM(ISNULL((CASE WHEN SH.STHAR_GCKOD='G' AND SH.STHAR_HTUR='I' THEN SH.STHAR_GCMIK ELSE 0 END),0))-SUM(ISNULL((CASE WHEN STHAR_GCKOD='C' AND SH.STHAR_HTUR='I' THEN STHAR_GCMIK ELSE 0 END),0)) KULLANILABILIR_BAKIYE

FROM TBLSTSABIT ST
LEFT OUTER JOIN TBLSTHAR SH ON (SH.STOK_KODU=ST.STOK_KODU)
GROUP BY ST.STOK_KODU,ST.STOK_ADI


(Bu view ile stok girişi, çıkışı ve sipariş ile ayrılmış miktarlardan sonra kullanılabilir bakiye ve gerçek bakiye değerlerini alabilirsin)

SQL Query'de çalıştır bunu (Çalışacağın VT'yi seçmeyi unutma)
Bildiğim tek şey, hiç bir şey bilmediğim.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

Sunye merhaba;
Sorgu için çok teşekkür ediyorum.Beni anlayan biri olarak yapmak istediğimi yazmak istiyorum sen bana fikir verirsen yada yardımcı olursan çok sevinirim.

Ben şunu yapmak istiyorum ;
Bir cari var ve bu carinin hareketlerini aynı zamanda bu hareketşerin içerisindeki fatura detaylarını varsa çek detaylarını almak istiyorum .

Eğer Netsisi i biliyorsanız CARİ / RAPORLAR / CARİ HAREKET DÖKÜMÜ burdaki raporda fatura detay senet çek detay işaretli haliyle alınan raporun aynısını yamak istiyorum tabi onların kullandığı developer veya devexpres im yok ama bi şekilde yolunu bulmaya çalışıyorum .Yardımlarınızı bekliyorum .
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen sunye »

Elimde tam istediğin bir şey var :)

Kod: Tümünü seç

var
  i, x, z : Integer;
  G1, G2, Belge : String;
  BorcBakiye, AlacakBakiye, Bakiye : Extended;
  DBakiye, DBorcBakiye, DAlacakBakiye, Devir : Extended;
  Dekont, Iade, Muhtelif, Kasa, Cek, Senet : Extended;
  Tarih, Tarih1 : String;
begin
//excel oluşturuluyor...
  Senet:=0; Kasa:=0; Cek:=0; Dekont:=0; Iade:=0; Muhtelif:=0;
  BorcBakiye:=0; AlacakBakiye:=0; Bakiye:=0;
  DBakiye:=0; DAlacakBakiye:=0; DBorcBakiye:=0;
  TMPKalan:=0;
  for i := 1 to 12 do
    TMPBakiye[i]:=0;
  //Excel hücreleri biçimlendiriliyor...
  Excel.Range['A1','C3'].Font.Bold:=True;
  Excel.Range['A1','C3'].Font.Color:=clRed;
  Excel.Cells[1,1].Value:='Müşteri';
  Excel.Cells[1,2].Value:='Cari Kod';
  Excel.Cells[1,3].Value:='Cari İsim';
  Excel.Cells[2,3].Value:='Telefon';
  Excel.Cells[3,3].Value:='Cari İlçe - İl';
  Excel.Range['A4','I4'].Font.Bold:=True;
  Excel.Range['A4','I4'].Font.Color:=clRed;
  Excel.Cells[4,1].Value:='Tarih';
  Excel.Cells[4,2].Value:='Fiş Numarası';
  Excel.Cells[4,3].Value:='Açıklama';
  Excel.Cells[4,4].Value:='Vade Tarihi';
  Excel.Cells[4,5].Value:='Borç Tutarı';
  Excel.Cells[4,6].Value:='Alacak Tutarı';
  Excel.Cells[4,7].Value:='Bakiye';
  Excel.Cells[4,8].Value:='Döviz Tutarı';
  Excel.Cells[4,9].Value:='Kur';
  SQLCumle:='';
  SQLCumle:='SELECT CARI_KOD, CARI_ISIM, CARI_TEL, CARI_IL, CARI_ILCE FROM TBLCASABIT WHERE CARI_KOD=''' + Cari +'''';
  NetRS:=Kernel.yeniNetRS(Sirket);
  NetRs.Ac(SQLCumle);
  Excel.Cells[1,2].Value:='''' + NetRs.FieldByName('CARI_KOD').AsString;
  Excel.Cells[1,3].Value:='''' + NetRs.FieldByName('CARI_ISIM').AsString;
  Excel.Cells[2,3].Value:='''' + NetRs.FieldByName('CARI_TEL').AsString;
  Excel.Cells[3,3].Value:='''' + NetRs.FieldByName('CARI_ILCE').AsString + ' - ' + NetRs.FieldByName('CARI_IL').AsString;
  G1:=NetRs.FieldByName('CARI_ISIM').AsString;
  G2:='';
  for x := 1 to 15 do begin
    if (G1[x] in ['!','+','#','%','&','/','=','?','-','_','*','<','>','(',')']) then
      SQLCumle:=''
    else
     G2:=G2+ G1[x];
  end;
  try
    Excel.Sheets[1].Name := G2;
  except
    Excel.Sheets[1].Name := G2 + '[' + IntToStr(sayfa) + ']';
  end;
  SQLCumle:='';
  SQLCumle:='SELECT TARIH, VADE_TARIHI, BELGE_NO, ACIKLAMA, BORC, ALACAK, BAKIYE, DOVIZ_TUTAR, HAREKET_TURU FROM TBLCAHAR WHERE CARI_KOD=''' + Cari + ''' AND SUBE_KODU=''0'' ORDER BY TARIH';
  NetRS:=Kernel.yeniNetRS(Sirket);
  NetRs.Ac(SQLCumle);
  Excel.Range['E5','I700'].NumberFormat:='#.##0,00';
  i:=5;
  while not NetRS.EOF do begin
    if NetRs.FieldByName('HAREKET_TURU').AsString<>'B' then begin
      Excel.Cells[i,1].Value:=NetRs.FieldByName('TARIH').AsString;
      Excel.Cells[i,2].Value:=NetRs.FieldByName('BELGE_NO').AsString;
      Excel.Cells[i,3].Value:=NetRs.FieldByName('ACIKLAMA').AsString;
      Excel.Cells[i,4].Value:=NetRs.FieldByName('VADE_TARIHI').AsString;
      Excel.Cells[i,5].Value:=NetRs.FieldByName('BORC').AsFloat;
      BorcBakiye:=BorcBakiye + NetRs.FieldByName('BORC').AsFloat;
      Excel.Cells[i,6].Value:=NetRs.FieldByName('ALACAK').AsFloat;
      AlacakBakiye:=AlacakBakiye + NetRs.FieldByName('ALACAK').AsFloat;
      Bakiye:=BorcBakiye - AlacakBakiye;
      Excel.Cells[i,7].Value:=Bakiye;
      if NetRs.FieldByName('BORC').AsFloat<>0 then begin
        DBorcBakiye:=DBorcBakiye + NetRs.FieldByName('DOVIZ_TUTAR').AsFloat;
      end
      else begin
        DAlacakBakiye:=DAlacakBakiye + NetRs.FieldByName('DOVIZ_TUTAR').AsFloat;
      end;
      DBakiye:=DBorcBakiye - DAlacakBakiye;
      Excel.Cells[i,8].Value:=NetRs.FieldByName('DOVIZ_TUTAR').AsFloat;
      if NetRs.FieldByName('DOVIZ_TUTAR').AsString<>'0' then begin
        if  NetRs.FieldByName('BORC').AsFloat<>0 then
          Excel.Cells[i,9].Value:=Excel.Cells[i,5].Value / Excel.Cells[i,8].Value
        else
          Excel.Cells[i,9].Value:=Excel.Cells[i,6].Value / Excel.Cells[i,8].Value;
      end;
      if (NetRs.FieldByName('HAREKET_TURU').AsString='G')  And (NetRs.FieldByName('ALACAK').AsFloat<>0) then begin
          Cek:=Cek + NetRs.FieldByName('ALACAK').AsFloat;
          Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
      end;
      if (NetRs.FieldByName('HAREKET_TURU').AsString='E')  And (NetRs.FieldByName('ALACAK').AsFloat<>0) then begin
          Senet:=Senet + NetRs.FieldByName('ALACAK').AsFloat;
          Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
      end;
      if (NetRs.FieldByName('HAREKET_TURU').AsString='D')  And (NetRs.FieldByName('ALACAK').AsFloat<>0) then begin
          Kasa:=Kasa + NetRs.FieldByName('ALACAK').AsFloat;
          Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
      end;
      if (NetRs.FieldByName('HAREKET_TURU').AsString='K')  And (NetRs.FieldByName('ALACAK').AsFloat<>0) then begin
          Dekont:=Dekont + NetRs.FieldByName('ALACAK').AsFloat;
          Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
      end;
      if (NetRs.FieldByName('HAREKET_TURU').AsString='L')  And (NetRs.FieldByName('ALACAK').AsFloat<>0) then begin
          Muhtelif:=Muhtelif + NetRs.FieldByName('ALACAK').AsFloat;
          Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
      end;
      if (NetRs.FieldByName('HAREKET_TURU').AsString='C')  And (NetRs.FieldByName('ALACAK').AsFloat<>0) then begin
          Iade:=Iade + NetRs.FieldByName('ALACAK').AsFloat;
          Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
      end;
    end
    else begin
      Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Bold:=True;
      Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clBlue;
      Excel.Cells[i,1].Value:=NetRs.FieldByName('TARIH').AsString;
      Excel.Cells[i,2].Value:=NetRs.FieldByName('BELGE_NO').AsString;
      Excel.Cells[i,3].Value:=NetRs.FieldByName('ACIKLAMA').AsString;
      Excel.Cells[i,4].Value:=NetRs.FieldByName('VADE_TARIHI').AsString;
      Excel.Cells[i,5].Value:=NetRs.FieldByName('BORC').AsFloat;
      BorcBakiye:=BorcBakiye + NetRs.FieldByName('BORC').AsFloat;
      Excel.Cells[i,6].Value:=NetRs.FieldByName('ALACAK').AsFloat;
      AlacakBakiye:=AlacakBakiye + NetRs.FieldByName('ALACAK').AsFloat;
      Bakiye:=BorcBakiye - AlacakBakiye;
      Excel.Cells[i,7].Value:=Bakiye;
      Excel.Cells[i,8].Value:=NetRs.FieldByName('DOVIZ_TUTAR').AsFloat;
      if NetRs.FieldByName('DOVIZ_TUTAR').AsString<>'0' then begin
        if  NetRs.FieldByName('BORC').AsFloat<>0 then
          Excel.Cells[i,9].Value:=Excel.Cells[i,5].Value / Excel.Cells[i,8].Value
        else
          Excel.Cells[i,9].Value:=Excel.Cells[i,6].Value / Excel.Cells[i,8].Value;
      end;
      if NetRs.FieldByName('BORC').AsFloat<>0 then begin
         DBorcBakiye:=DBorcBakiye + NetRs.FieldByName('DOVIZ_TUTAR').AsFloat;
      end
      else begin
        DAlacakBakiye:=DAlacakBakiye + NetRs.FieldByName('DOVIZ_TUTAR').AsFloat;
      end;
      DBakiye:=DBorcBakiye - DAlacakBakiye;
      Belge:=NetRs.FieldByName('BELGE_NO').AsString;
      NetRS2:=Kernel.yeniNetRS(Sirket);
      SQLCumle2 :='';
      SQLCumle2:='SELECT SH.STOK_KODU, ST.STOK_ADI, SH.STHAR_GCMIK, SH.STHAR_NF, SH.STHAR_BF, SH.STHAR_DOVFIAT FROM TBLSTHAR SH, TBLSTSABIT ST WHERE SH.STOK_KODU=ST.STOK_KODU AND SH.FISNO=''' + Belge + '''';
      NetRs2.Ac(SQLCumle2);
      inc(i);
      Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Italic:=True;
      Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clBlue;
      Excel.Cells[i,2].Value:='Stok Kodu';
      Excel.Cells[i,3].Value:='Stok İsmi';
      Excel.Cells[i,4].Value:='Miktar';
      Excel.Cells[i,5].Value:='Brüt Fiyat';
      Excel.Cells[i,6].Value:='Net Fiyat';
      Excel.Cells[i,7].Value:='Tutar';
      Excel.Cells[i,8].Value:='Döviz Fiyat';
      Excel.Cells[i,9].Value:='Döviz Tutar';
      Excel.Cells[i,10].Value:='Kur';
      while not NetRS2.EOF do begin
        inc(i);
        Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Italic:=True;
        Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clGreen;
        Excel.Cells[i,2].Value:=NetRs2.FieldByName('STOK_KODU').AsString;
        Excel.Cells[i,3].Value:=NetRs2.FieldByName('STOK_ADI').AsString;
        Excel.Cells[i,4].Value:=NetRs2.FieldByName('STHAR_GCMIK').AsFloat;
        Excel.Cells[i,5].Value:=NetRs2.FieldByName('STHAR_NF').AsFloat;
        Excel.Cells[i,6].Value:=NetRs2.FieldByName('STHAR_BF').AsFloat;
        Excel.Cells[i,7].Value:=(Excel.Cells[i,4].Value) * (Excel.Cells[i,5].Value);
        Excel.Cells[i,8].Value:=NetRs2.FieldByName('STHAR_DOVFIAT').AsFloat;
        if Excel.Cells[i,8].Value<>'0' then
          Excel.Cells[i,9].Value:=Excel.Cells[i,8].Value * Excel.Cells[i,4].Value;
        if Excel.Cells[i,8].Value<>'0' then
          Excel.Cells[i,10].Value:=Excel.Cells[i,5].Value / Excel.Cells[i,8].Value;
        NetRS2.SonrakiK;
      end;
    end;
    inc(i);
    NetRS.SonrakiK;
  end;
// YAŞLANDIRMA HESAPLANIYOR //
  SQLYaslandirma1:='';
  SQLYaslandirma1:='SELECT CM_BORCT,CM_ALACT FROM TBLCASABIT WITH(NOLOCK) WHERE CARI_KOD = ''' + Cari + '''';
  NetRSYas1:=Kernel.yeniNetRS(Sirket);
  NetRsYas1.Ac(SQLYaslandirma1);
  BorcToplami:=NetRSYas1.FieldByName('CM_BORCT').AsFloat;
  AlacakToplami:=NetRSYas1.FieldByName('CM_ALACT').AsFloat;
  SQLYaslandirma2:='';
  SQLYaslandirma2:='SELECT INC_KEY_NUMBER, CARI_KOD,TARIH, VADE_TARIHI, BELGE_NO, ACIKLAMA, BORC,ALACAK ';
  SQLYaslandirma2:= SQLYaslandirma2 + ' FROM TBLCAHAR WITH(NOLOCK) ';
  SQLYaslandirma2:= SQLYaslandirma2 + ' WHERE (CARI_KOD=''' + Cari + ''') AND (TARIH<=''2012-12-31'') AND BORC > 0 ';
  SQLYaslandirma2:= SQLYaslandirma2 + ' ORDER BY HKA DESC,TARIH,INC_KEY_NUMBER ASC ';
  NetRSYas2:=Kernel.yeniNetRS(Sirket);
  NetRSYas2.Ac(SQLYaslandirma2);
  for Ay:=1 to 12 do begin
    TmpBorc:=0;
    TMPAlacak:=0;
    TMPBakiye[Ay]:=0;
    NetRSYas2.IlkK;
    Tarih:=IntToStr(DaysInAMonth(CurrentYear, Ay));
    Tarih:=Tarih + '.' + IntToStr(Ay) + '.' + IntToStr(CurrentYear);
    if Ay=1 then
      Tarih1:='02.'+ IntToStr(Ay) + '.' + IntToStr(CurrentYear)
    else
      Tarih1:='01.'+ IntToStr(Ay) + '.' + IntToStr(CurrentYear);
    while not NetRSYas2.EOF do begin
      if (NetRSYas2.FieldByName('TARIH').AsDateTime>=StrToDate(Tarih1)) AND (NetRSYas2.FieldByName('TARIH').AsDateTime<=StrToDate(Tarih)) then begin
        TmpBorc:=NetRSYas2.FieldByName('BORC').AsFloat;
        TmpBakiye[Ay]:=TMPBakiye[Ay] + TmpBorc;
      end;
      NetRSYas2.SonrakiK;
    end;
    if Ay=1 then begin
      NetRsYas2.IlkK;
      while not NetRSYas2.EOF do begin
        if (NetRSYas2.FieldByName('TARIH').AsDateTime=StrToDate('01.01.'+IntToStr(CurrentYear))) then begin
          TmpBorc:=NetRSYas2.FieldByName('BORC').AsFloat;
          Devir:=Devir + TMPBorc;
        end;
        NetRSYas2.SonrakiK;
      end;
    end;
  end;
  Excel.Cells[i+2,7].Value:='BORÇ TOPLAMI';
  Excel.Cells[i+2,8].Value:=BorcBakiye;
  Excel.Cells[i+3,7].Value:='ALACAK TOPLAMI';
  Excel.Cells[i+3,8].Value:=AlacakBakiye;
  Excel.Cells[i+4,8].Value:='----------------';
  Excel.Cells[i+5,7].Value:='BAKİYE';
  Excel.Cells[i+5,8].Value:=Bakiye;
  Excel.Cells[i+6,8].Value:='----------------';
  Excel.Cells[i+7,7].Value:='ÇEK ÖDEMELERİ';
  Excel.Cells[i+7,8].Value:=Cek;
  Excel.Cells[i+8,7].Value:='SENET ÖDEMELERİ';
  Excel.Cells[i+8,8].Value:=Senet;
  Excel.Cells[i+9,7].Value:='NAKİT ÖDEMELER';
  Excel.Cells[i+9,8].Value:=Kasa;
  Excel.Cells[i+10,7].Value:='DEKONT ÖDEMELERİ';
  Excel.Cells[i+10,8].Value:=Dekont;
  Excel.Cells[i+11,7].Value:='İADE FATURALARI';
  Excel.Cells[i+11,8].Value:=Iade;
  Excel.Range['G'+ IntToStr(i+2),'H'+IntToStr(i+11)].Font.Bold:=True;
  Excel.Range['G'+IntToStr(i+2),'H'+IntToStr(i+11)].Font.Color:=clRed;
  Excel.Range['G'+IntToStr(i+7),'H'+IntToStr(i+11)].Font.Color:=clBlue;
  Excel.Range['G' + IntToStr(i+2),'H' + IntToStr(i+11)].NumberFormat:='#.##0,00';
  i:=i+9;
  Excel.Range['A'+ IntToStr(i+4),'M'+IntToStr(i+16)].Font.Bold:=True;
  Excel.Range['A'+IntToStr(i+4),'M'+IntToStr(i+16)].Font.Color:=clRed;
  Excel.Range['A'+IntToStr(i+4),'M'+IntToStr(i+3)].Font.Color:=clRed;
  Excel.Cells[i+4,1].Value:='DEVİR';
  Excel.Cells[i+4,2].Value:='OCAK';
  Excel.Cells[i+4,3].Value:='ŞUBAT';
  Excel.Cells[i+4,4].Value:='MART';
  Excel.Cells[i+4,5].Value:='NİSAN';
  Excel.Cells[i+4,6].Value:='MAYIS';
  Excel.Cells[i+4,7].Value:='HAZİRAN';
  Excel.Cells[i+4,8].Value:='TEMMUZ';
  Excel.Cells[i+4,9].Value:='AĞUSTOS';
  Excel.Cells[i+4,10].Value:='EYLÜL';
  Excel.Cells[i+4,11].Value:='EKİM';
  Excel.Cells[i+4,12].Value:='KASIM';
  Excel.Cells[i+4,13].Value:='ARALIK';
  Excel.Range['A'+ IntToStr(i+3),'M'+ IntToStr(i+16)].EntireColumn.AutoFit;
  TMPKalan:=AlacakToplami;
  if TMPKalan>=Devir then begin
    TMPKalan:=TMPKalan - Devir;
    Devir:=0;
  end;
  if TMPKalan<Devir then begin
    Devir:=Devir - TMPKalan;
    TMPKalan:=0;
  end;
  Excel.Cells[i+5,1].Value:=Devir;

  if TMPKalan<=0 then
    for z:= 1 to 12 do
      Excel.Cells[i+5,Z+1].Value:=TMPBakiye[z];

  if TMPKalan>0 then begin
    for z:=1 to 12 do begin
      if TMPKalan>=TMPBakiye[z] then begin
        TMPKalan:=TMPKalan - TMPBakiye[z];
        TMPBakiye[z]:=0;
        Excel.Cells[i+5,z+1].Value:=TMPBakiye[z];
      end
      else begin
        TMPBakiye[z]:=TMPBakiye[z] - TMPKalan;
        Excel.Cells[i+5,z+1].Value:=TMPBakiye[z];
        TMPKalan:=0;
      end;
    end;
  end;
  Excel.Range['A'+IntToStr(i+4) ,'M' + IntToStr(i+16)].NumberFormat:='#.##0,00';
  // YAŞLANDIRMA HESAPLANDI //
  Excel.ActiveWindow.SplitRow := 4;
  Excel.ActiveWindow.FreezePanes := True;
  Excel.ActiveSheet.Cells[i+5,1].Select;
Biraz ayıklama yapman gerekiyor.
Bildiğim tek şey, hiç bir şey bilmediğim.
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen sunye »

Bütün bunlara ilaveten genel olarak SQL tabanlı programların komutlarını yakalamak için SQL Profiler'ı kullanabilirsin, hangi sql kodlarını ve tablolarını anlaman için yeterli ipucu verir.

Netsis ile çalışacaksan NetOpenX'i öğrenmeni ve kullanmanı tavsiye ederim.
Bildiğim tek şey, hiç bir şey bilmediğim.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

sunye nasıl teşekkür etsem bilmiyorum Allah Razı olsun senden yardımlarından ilgilenmenden çok sağol.Gönderdiğinin çıktısını alıp tek tek bakacam takıldığım bir yer olursa yardımını beklerim.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

peki bu kod extend de mi hazırlanmış yoksa delphi demi çalıştırmalıyım?
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen sunye »

Delphi XE2 ile oluşturdum.

NETRS komuları NetOpenX ile geliyor onların yerine Query bileşenini kullanabilirsin. eğer NetOpenX'in varsa dosyayı göndereyim nasıl çalıştığını görürsün.
Bildiğim tek şey, hiç bir şey bilmediğim.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

Peki abi bunun kodun çalıştığı exe si varmı göndermen mümkün mü?Ben NETSSIS de çalıştırayım.
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen sunye »

NetOpenX lisansın yoksa çalışmaz.

http://www.tasarimbilgisayar.net/download/rapor.rar
Bildiğim tek şey, hiç bir şey bilmediğim.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen ozcank »

Abi çok güzel birebir aynısını yapmışsın harika... Ancak ben buna sadece fatura iskontolarını ve cek detaylarınıda eklemeliyim bu göndermiş olduğunuz kod ile bunu yapabilirmiyim? Yardımcı olurmusun bilemiyorum? Bende günlerdir bu iş için uğraşıyorum sadece amacım bu. Fatura detayına iskontoları eklemek birde senin sorgunda çek detaylandırması yok.
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: SQL 2005 VE NETSIS ILIŞKISI

Mesaj gönderen sunye »

if (NetRs.FieldByName('HAREKET_TURU').AsString='G') And (NetRs.FieldByName('ALACAK').AsFloat<>0) then begin
Cek:=Cek + NetRs.FieldByName('ALACAK').AsFloat;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
end;

programın bu kod satırlarının arasına ekle

Kod: Tümünü seç

SELECT SC_NO, SC_GIRTRH, VADETRH, SC_CIKTRH, SC_VERENK, SC,VERILENK, SC_SONDUR, SC_YERI, TUTAR FROM TBLMCEK WHERE SC_NO= NetRS.FieldByName('BELGE_NO')
daha sonra excel yada gride okuduğun bilgileri yazabilirsin.
Bildiğim tek şey, hiç bir şey bilmediğim.
Cevapla