Cari hesap ekstresi oluşturmak istiyorum

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
kurthan
Üye
Mesajlar: 49
Kayıt: 29 Kas 2004 06:05
Konum: İstanbul
İletişim:

Cari hesap ekstresi oluşturmak istiyorum

Mesaj gönderen kurthan »

Selamun aleyküm arkadaşlar

programım içerisinde cari hesap ekstresi oluşturmak istiyorum.

Şu an için ödemelerin peşin alınıp verildiğini düşünüyor,fatura ( giriş veya çıkış ) kesilmiş ise ödemesinin hemen o anda yapıldığını varsayıyorum.

Yani burda işim sadece fatura tablosu ile.Faturaları 2 tablo halinde tutuyorum.1. tablom faturaların üst bilgilerini tutuyor.

Fatura (otofcode,fkod,ikod,chesapkod,tarih,htip)

Htip faturanın alşı veya satış olduğunu belirtiyor.'G' alış 'C' satış

ikinci tablom ise fatura adımlarını tutuyor.Yani hangi üründen ne kadar ne tutarlık işlem yapılmış.Buna bağlı olarak faturaalt tablousnda bir fatura için birden fazla satır olabiliyor.

faturaalt(otofcode,stkkod,adet,bfiyat,tutar,kdvtutar,gtoplam)

her iki tablodada olan otofcode ile tabloları birleştiriyorum.

Stok tutarlarını ve cari hesap bilgilerinide bu bilgiler ile buluyorum.Yani hangi stoktan ne kadar var veya cari hesap durumları nedir gibi sorular için herhangi bir tablom yok.

Durum böyle olunca hangi hareketten sonra kişinin ne kadarlık borcu veya alacağı olduğunu bilmiyorum ve bunu bir sql ile tayin etmem gerekiyor.

Şöyle ki:

Resim

yapmak istediğim şu.Örneğin 13.11.2005 tarihinden önceki tarihlerde bakiye türünün b ve tutarının 350 olduğunu bilmek ve 13.11.2004 tarihindeki 150 lik hareketi bununla toplatıp yeni bakiyeyi vermek istiyorum.

Yani eksteyi verirken her fatura hareketinden önceki borç alacak durumunu bularak ekstre içerisinde aktif fatura hareketine nasıl aktarırım.
Bunun için nasıl bir sql yazmam gerekiyor ?

Teşekkür ediyor,iyi çalışmalar diliyorum.
Tarihtir adil hakem
Sen kadar mende Türk'em
Sense hür Türkiyemsin
Mense esir Kerkük'em


Atilla Yılmaz 2005 - Vaktidir
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

ben soyle yapıyorum....

Kod: Tümünü seç

fatura no  tutar      bakiye
1          350        350
2          150        500
3          250        750
4         -100        650
ozet alanlar kullandım.... Burada bakiye alanını sql cümlesinden almıyorum cunku bu tarz bir sonucu sql cümlesinden üretmek bence çok zor. Teorik olarak yöntemler olabilir ama pratik degil... Bunun yerine rapor tarafında o sutunu tutar alanının toplamı olarak gosteriyorum her satırda gerekli toplamı yaptıgı icin bakiye sutunu olusmakta.. Eger borc degil de alacak durumu var ise o zaman tutar alanını negatif olarak sql cumlesinden select ettiniz mi isi gormus oluruz. Tabi tutar alanını sadece bu hesaplama amacli olarak select edebilir ve sizdeki gibi borc ve alacak sutunlarını yine ayrı ayrı olarak ekleyebilirsiniz.
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
kurthan
Üye
Mesajlar: 49
Kayıt: 29 Kas 2004 06:05
Konum: İstanbul
İletişim:

Çok teşekkür ederim.

Mesaj gönderen kurthan »

Fahrettin abi Allah razı olsun çok teşekkür ederim.Rapor ekranında çözüme kavuşturdum.

Saygılar sunuyorum.
Tarihtir adil hakem
Sen kadar mende Türk'em
Sense hür Türkiyemsin
Mense esir Kerkük'em


Atilla Yılmaz 2005 - Vaktidir
Kullanıcı avatarı
tsamim
Üye
Mesajlar: 76
Kayıt: 19 Ağu 2004 03:08
Konum: izmir

sayın fahrettin bey

Mesaj gönderen tsamim »

fahrettin yazdı:ben soyle yapıyorum....

Kod: Tümünü seç

fatura no  tutar      bakiye
1          350        350
2          150        500
3          250        750
4         -100        650
ozet alanlar kullandım.... Burada bakiye alanını sql cümlesinden almıyorum cunku bu tarz bir sonucu sql cümlesinden üretmek bence çok zor. Teorik olarak yöntemler olabilir ama pratik degil... Bunun yerine rapor tarafında o sutunu tutar alanının toplamı olarak gosteriyorum her satırda gerekli toplamı yaptıgı icin bakiye sutunu olusmakta.. Eger borc degil de alacak durumu var ise o zaman tutar alanını negatif olarak sql cumlesinden select ettiniz mi isi gormus oluruz. Tabi tutar alanını sadece bu hesaplama amacli olarak select edebilir ve sizdeki gibi borc ve alacak sutunlarını yine ayrı ayrı olarak ekleyebilirsiniz.
benzer bir sorunla bende karşılaştım sitede arama yaparken sizin böyle bir soruna ilişkin cavabınız karşıma geldi;

ancak ben fastraport kullanıyorum fastreportun masterdata kısmında queryden gelen bakiye'yi toplatamadım umarım bu konuda siz veya böyle bir deneyimi olan bir arkadaş yardımcı olabilir teşekkürler.
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

sanırım bu sorunu yasamayan yok..
raporlamada halletmek daha kolay.
ama gridde nasıl olacak..
mesela üsste benım hesapplanı gridim var
altta ona ait hesap dökümü... hesapplanına tıklayınca dökümü filterliyıroum .
ordaki bakıye alanı ilk değerde sapıtıyor gerisini sağlıklı yapıyor ... yanı yanlışa devam ediyor ama hesaplama doğru..
nasıl olacak gridde bu olay ??
İnsanca.... Pek insanca....
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

neyse hallettim
.. bilmeyenler için yazıyorum

bakiye diye bir calcfield var

oncaclcfileds a

Kod: Tümünü seç

if fislerq.RecNo = 1 then toplam :=0;

toplam := toplam + fislerqborc.AsCurrency-fislerqalacak.AsCurrency;//:=kal+query1kalan.value;
fislerqbakiye.AsCurrency := toplam;
yazdım
İnsanca.... Pek insanca....
Cevapla