SQL 2005 VE NETSIS ILIŞKISI
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: SQL 2005 VE NETSIS ILIŞKISI
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.
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.
Re: SQL 2005 VE NETSIS ILIŞKISI
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;
[Error] Menu.pas(50): String literals may have at most 255 elements
Yardımcı olurmusunuz?
Kod: Tümünü seç
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;
Kod: Tümünü seç
Re: SQL 2005 VE NETSIS ILIŞKISI
Arkadaşlar bu şekilde çözdüm;
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?
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+'''');
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?
Re: SQL 2005 VE NETSIS ILIŞKISI
Arkadaşlar Merhaba;
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?
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;
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?
Re: SQL 2005 VE NETSIS ILIŞKISI
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)
Ö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.
Re: SQL 2005 VE NETSIS ILIŞKISI
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 .
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 .
Re: SQL 2005 VE NETSIS ILIŞKISI
Elimde tam istediğin bir şey var 
Biraz ayıklama yapman gerekiyor.

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;
Bildiğim tek şey, hiç bir şey bilmediğim.
Re: SQL 2005 VE NETSIS ILIŞKISI
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.
Netsis ile çalışacaksan NetOpenX'i öğrenmeni ve kullanmanı tavsiye ederim.
Bildiğim tek şey, hiç bir şey bilmediğim.
Re: SQL 2005 VE NETSIS ILIŞKISI
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.
Re: SQL 2005 VE NETSIS ILIŞKISI
peki bu kod extend de mi hazırlanmış yoksa delphi demi çalıştırmalıyım?
Re: SQL 2005 VE NETSIS ILIŞKISI
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.
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.
Re: SQL 2005 VE NETSIS ILIŞKISI
Peki abi bunun kodun çalıştığı exe si varmı göndermen mümkün mü?Ben NETSSIS de çalıştırayım.
Re: SQL 2005 VE NETSIS ILIŞKISI
Bildiğim tek şey, hiç bir şey bilmediğim.
Re: SQL 2005 VE NETSIS ILIŞKISI
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.
Re: SQL 2005 VE NETSIS ILIŞKISI
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
daha sonra excel yada gride okuduğun bilgileri yazabilirsin.
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')
Bildiğim tek şey, hiç bir şey bilmediğim.