Update

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ı
macsonfor
Üye
Mesajlar: 118
Kayıt: 14 Haz 2004 04:59

Update

Mesaj gönderen macsonfor »

Tüpgaz diye bi proje üstünde çalışıyorum ve veritabanım İnterbase...

veritbanında stok,abone,sipariş.......tablolarım var

Stok Tablosunun Alanları
-----------------------------
Stokcinsi
Stokfiyatı
Stokmiktarı
......

Abone Tablosunun Alanları
-------------------------------
Abone No
Abone Adı
Abone Soyadı
.......

Sipariş Tablosunun alanları
-------------------------------
İşlem Tarihi
Abone Adı
Abone Soyadı
Tüp Cinsi
Tüp Miktarı
Tüp Fiyatı
Toplam Tutar
Ödenen Tutar
Kalan Tutar
Ödeme Tarihi
-----------------------------
-----------------------------
bu tablolar ve alanlar yazdıklarımla sınırlı değil ama bunlar üzerinde işlem yapılacağı için sadece bunları yazdım.
Şimdi Farz edelim bi abone geldi 5 Adet 12kg tüp siparişi verdi bu tüpün satış fiyatı 25.000.000 TL bu abone bu tüplerin 3 tanesinin parasını ödedi geriye kaldı 2 adet tüp...
sonra tüpe zam geldi 12kg tüp fiyatı 26.000.000 TL oldu
ben bu zammı nasıl ödemesi olan abonelere nasıl yansıtabilirim bunu için bi fikri olan varmı.
Kolay gelsin...
Bilgi Paylaşıldıkça Çoğalır
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
sana iki önerim oalcak.

1. Sanırım vt ni biraz değiştirmen gerekecek. Sipari tablosunu parçalaman siparişleri ve sipariş edilen mazlemeleri ayrı ayrı girdirme (bir nevi fatura gibim) gerekecek. Biraz araştırma ile vt yi nasıl yapacağın hakkında bilgi sahibi olabilirsin.

2. Gördüğüm kadarı ile Tüp Miktarı, Tüp Fiyatı, Toplam Tutar, Ödenen Tutar, Kalan Tutar alanların var.
Kalan Tutarı Tüp fiyatına böldürüp kaç tüpün parasının ödenmediğini bulursun. Parası ödenmeyen tüpler için Toplam Tutar alanına gerekli ilaveyi yaparsın.
Yalnız ikinci çözüm biraz havada kaldı. binaenaleyh vt nin tam yapısını bilemediğim (şu an için öyle bir niyetim olduğu anlaşılmasın) için böyle oldu. Sana şiddetle 1. önerimi incelemeni, onun üzerinde düşünmeni tavsiye ediyorum.
Birde sormak istediğim birşey.
Ben vatandaştan tüp aldım. benim borcum belli. tüpe zam gelmesi beni ilgilendirmemeli ben im borcum atıyorum 50 milyon sa elli milyondur. ben onu bilirim yok zamgeldi develüasyon oldu beni ilgilendirmez. Yani olayın işleyişini tam bilmediğim için böyle diyorum yanlış anlaşılmasın. Bak şimdi aklıma geldi
Vatandaşın yaptığı ödemeleri ayrı bir tabloda tut
ODEMELER
SIPARISID
ABONEID
ODENENMIKTAR

Tğplerin Fiyatınıda ayrı bir tabloda tuutuğumuzu varsayıyorum
TUPFIYAT
TUPTURU
FIYATI

şimdi vatandaşın siparişine göre borcunu gösterirken verdiği sipariş sonucunda vatandaşın borcunu hesaplarken (calc alan olacak) tupuntürüne göre fiyatı ile siparisler tablosundaki miktarını çarpıp göstersin. ödediği kısımı da ödemeler tablosunda alırsın.
Bu seferde zam geldiği zaman eski kayıtlarda etkilenir onu engellemek içinse tupfiyat tablosuna tarih alanı eklenir. o tarihten soraki kayıtları etkileceyek şekilde ayarlanabilr.

Biraz uzun oldu kafanı şişirdiysem kusura bakma. neden sebeb bilmiyorum ama keyfim yerinde değil. Neyse
Sana iyi çalşmalar kolay gelsin diyorum.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
macsonfor
Üye
Mesajlar: 118
Kayıt: 14 Haz 2004 04:59

Mesaj gönderen macsonfor »

aslında ben vt tam yazsam iyi olacak :
---------------------------------------------

Kod: Tümünü seç

    Abone Tablosu
    ----------------------------------
    SIRANO VARCHAR (5) ,
    ADI VARCHAR (25) ,
    SOYADI VARCHAR (25) ,
    ABONETIPI VARCHAR (20),
    MAHALLE VARCHAR (15),
    EVADRESI VARCHAR (70),
    EVTEL VARCHAR (15) ,
    ISADRESI VARCHAR (70),
    ISTEL VARCHAR (15),
    GSM VARCHAR (20),
    VDAIRESI VARCHAR (20),
    VNO VARCHAR (20),
    TARIHI VARCHAR (10));
   
    Sipariş Tablosu
    ---------------------------------
    ABONE_SIRA_NO VARCHAR (5) ,
    ABONE_ADI VARCHAR (25),
    ABONE_SOYADI VARCHAR (25),
    ISLEM_TARIHI VARCHAR (10),
    CINSI VARCHAR (20),
    MIKTARI VARCHAR (5),
    FIYATI VARCHAR (20),
    TTUTAR VARCHAR (20),
    ODENEN VARCHAR (20),
    KALAN VARCHAR (20),
    ODEMETARIHI VARCHAR (10));

    Stok Tablosu
    ---------------------------------
    SIRANO VARCHAR (3),
    CINSI VARCHAR (20) ,
    FIYATI FLOAT,
    KDV FLOAT,
    GIREN FLOAT,
    CIKAN FLOAT,
    KALAN FLOAT);
-------------------------------------------------------------------------------------
Birde geçici bir tablo kullanıyorum alanları sipariş tablosuyla aynı işlemi geçici tablo üzerinden yapıp sipariş tablosuna atıyorum...
yanlız burda tüp zammı yansıtılcak müşterim bu konuda hiç taviz vermedi...
Bilgi Paylaşıldıkça Çoğalır
Cevapla