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.
Müşteri Takip Programı.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Müşteri Takip Programı.
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...
-
- Üye
- Mesajlar: 121
- Kayıt: 10 Ara 2015 10:39
Re: Müşteri Takip Programı.
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.
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.
Re: Müşteri Takip Programı.
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.
-
- Üye
- Mesajlar: 121
- Kayıt: 10 Ara 2015 10:39
Re: Müşteri Takip Programı.
Rica ederim. Yardımcı olabildiysem ne mutlu