Müşteri Takip Programı.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Bulutiib
Üye
Mesajlar: 41
Kayıt: 13 Ara 2013 12:45

Müşteri Takip Programı.

Mesaj gönderen Bulutiib »

Merhaba Arkadaşlar Ben Müşteri Takip Programı Yapıyorum Ama Bir Yerde Takıldım.
Alış Satış Tahsilat Ödeme Tablolarım Var Ve Birde Bakiye Tablom Var.Kayıt Ederken Bunlarda Sıkıntı Yok. Ama 1 Tana Satış Kaydını Sil dediğim Zaman Oradaki Mantık Nasıl Olacak Acaba. Yardımlarınız İçin Şimdiden Teşekkür Ederim.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Müşteri Takip Programı.

Mesaj gönderen brs »

Bulutiib yazdı:Merhaba Arkadaşlar Ben Müşteri Takip Programı Yapıyorum Ama Bir Yerde Takıldım.
Alış Satış Tahsilat Ödeme Tablolarım Var Ve Birde Bakiye Tablom Var.Kayıt Ederken Bunlarda Sıkıntı Yok. Ama 1 Tana Satış Kaydını Sil dediğim Zaman Oradaki Mantık Nasıl Olacak Acaba. Yardımlarınız İçin Şimdiden Teşekkür Ederim.

Oradaki mantık kararını sen vereceksin yani neyi silmek istiyorsan onu sil diyeceksin, ama ben olsam id numarasına göre sil derim nedeni ise id numarasını başka bir kayıt için oluşturamadığından sadece o kayıt silinir...

Kolay gelsin...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: Müşteri Takip Programı.

Mesaj gönderen ihalilcoban »

Veri tabanın bağlantıların vs. nasıl bilemediğim için tam olarak istediğin cevap olmayabilir ama kullandığım yöntemi anlatayım.
Bir cari tablom var ve buna bağlı işlem tablom var. İşlem tablom içerisinde alış, satış, ödeme ve tahsilat işlemlerini tutuyorum. İşlem tablom cari tabloma, benim belirlemiş olduğun ID ile detay olarak bağlı.

Örneğin A isimli carinin hesabına girip hareketlerine bakıyorum ve falanca tarihli satış işlemini yanlışlıkla girdiğimi görüyorum veya başka bir neden. O satış kaydını silmek istediğimde yürüttüğüm kod;

ISLEM_TBL.DELETE;

Bu şekilde seçili olan kaydı siliyorum. Tabi kullanıcı sil butonuna basınca önce mesajla uyarıyoum kaydı silmek istiyor musunuz diye. Evet cevabı gelince yukarıdaki kodumu işleme alıyorum. Silme işleminden sonra da carinin bakiyesini tekrardan hesaplatıp işlemi tamamlıyorum.

Bakiyeyi tekrar hesaplamayı nasıl yapıyorsun dersen SP kullanıyorum. Bu SP yi tetiklemek için de bir Trigger. SP ve Trigger olayı karışık dersen ayrı bir datasette Sql SUM ile yapabilirsin. Bu dataseti de AfterDelete ve AfterPost işlemlerinden sonda Close Open yaparak her işlemden sonra bakiyeyi hesaplatmış olursun.

Bir de bütün tabloları neden ayrı ayrı tutuyorsun ki. Bir tane cari tablosu yap içerisine carinin bilgilerini(Ad, Soyad, Tel, Adres vs.), bakiyesini ve bakiye durumunu yaz. Bir tane de işlem tablosu yap içerisine alış, satış, tahsilat ve bunlarla ilgili bilgileri yaz. Sonra işlem tablosunu cariye bağla.

Senin yaptığın gibi olursa ilerleyen zamanlarda tabloları kontol etmen de zor olur. Kodlamayı bir şekilde halledersin. Kendin yazarsın internetten bulup düzenlersin vs. Önemli olan kısmı veritabanı kısmı. Veritabanı kısmında mantığı düzgün kurmazsan dönüp dolaşıp veritabanını düzenlemek zorunda kalırsın. O yüzden tavsiyem öncelikle veritabanını ve tablolarını sade, anlaşılır ve sağlam bir şekilde hazırla. Sonra kodlama kısmına geç.
Biraz uzun oldu ama umarım anlatabilmişimdir.
Bulutiib
Üye
Mesajlar: 41
Kayıt: 13 Ara 2013 12:45

Re: Müşteri Takip Programı.

Mesaj gönderen Bulutiib »

ihalilcoban kardeşim cevabın için çok teşekkür ederim. Tamda anlatmak istediğimi yazmışsın eline sağlık. Dediklerini yapacam çok teşekkür ederim.
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: Müşteri Takip Programı.

Mesaj gönderen ihalilcoban »

Rica ederim. Yardımcı olabildiysem ne mutlu :)
Cevapla