[SORGU] Masraf Takip Formu-Avans Kapatma Problemi
#1
Değerli arkadaşlar,
Sayın Taruz'un yardımıyla Basit Masraf Takip formu çalışır durum geldi. Ancak avans kapatma ile ilgili mantığı tam kuramadım, sizlerin değerli görüşlerine ihtiyacım var.

Ekteki örnekte Avans Kapatma formu açıldığında, seçilen Adnan isimli kullanıcıya ait;
Masraflar:
03.02.2012 600TL
03.02.2012 200TL
04.02.2012 500TL

Avanslar:
02.02.2012 750TL
03.02.2012 1000TL

şeklinde kayıtlar mevcut. Kayıtlar liste kutularında gösteriliyor ve çoklu seçim yapılabiliyor. Seçim yapıldıkça sağ tarafta toplam masraf ve toplam avanslar ile bakiye görüntüleniyor.

Gerekli seçimler yapıldığında, bu örnekte olduğu gibi tamamı seçildiğinde, 1300TL masraf, 1750TL avans oluşuyor. Avans Kapatma butonuna basıldığında olmasını istediğim;
seçili tüm masrafların DURUM kayıtları kapalı hale gelmeli, avansların ise ikisininde DURUM kayıları kapalı hale gelmesi bakiye olan 450TL için ise Avans türü: Avans-Bakiye, DURUM ise AÇIK olarak tam kapanmayan avans tarihi ile aynı tarihte olacak şekilde yeni bir kayıt oluşmasıdır.

Bu durumda masraflar avanslardan küçük olduğu için tamamen kapanmış, avanslar ise 450TL yeni avans kaydederek kapanmış olacaklar.

Normal mantıkta masraflar avanslardan fazla ise "alacak" kaydederek kapatma yapılması lazım ama bizim sistemde buna gerek olmadığı için avanslardan az olan masrafların kapatılması yeterli.

Umarım oluşturmak istediğim mantığı doğru ifade edebilmişimdir.

Saygılarımla.




Eklenti Dosyaları
.rar   masraftakipdb.rar (Boyut: 213,81 KB / İndirilme: 141)



  Alıntı
Bu mesajı beğenenler:
#2
Sn inova
Avans Her işyerinde farklı uygulamalara sahip bir uygulama.

Acizane düşüncem

1. Tablonuz personel bilgilerini içermeli
2. Tablonuz personel bilgileri ile ilişkilendirilmeli. Avans Tarihi ve avansın kapama tarihini hangi işler için alındığını göstermeli aynı zamanda Euro, Dolar, TL Gibi ayrıntıları olmalı.
3. Tablo harcama belgelerini siteme yükleyebileceğiniz aynı zamanda KDV matrahları içeren ve Yemek gideri yol gideri vb. bilgiler içeren aynı zamanda İşletme Masrafı, Sosyal gider, İletişim Gideri, parsonel Sağlık harcamalrı gibi masraf dağılımlarını yapabileceğiniz alanlar içermeli.

Gerisi sadece matematik halledilir.

Sizden ilham alarak bir avans takip çalışması yapabilirim Smile

Hatta bu akşam yapayım bir çalışma.
paylaşırım sizinilede.

Saygılarımla.



  Alıntı
Bu mesajı beğenenler:
#3
sayın inova
yazdıklarını anlayamadım. örnekleyerek izah ederseniz yardımcı olurum.ayrıca liste kutularındaki hesaplama işlerinde hatalar meydana geliyor onu düzelttim o hali ile ekliyorum


Eklenti Dosyaları
.rar   adnmasraftakipdb.rar (Boyut: 209,54 KB / İndirilme: 108)
Teşekküre gerek yok, Taş atın yeter!!!



  Alıntı
Bu mesajı beğenenler:
#4
Sayın omurozkan, ilginiz için teşekkür ederim.
Sizinde belirttiğiniz gibi masraf-avans kayıtları her işletme için farklılıklar içerir ve aslında çok ayrıntılı bir konudur. Benim paylaştığım program yaklaşık 2 senedir excel formatında tuttuğumuz kayıtlar sonrası ortaya çıktı. Kendi işletmem için gerekli bütün kayıt türlerini koydum. Daha fazla detaylandırmak istemedim. Aslında sadece kendi işime yönelik bir çözüm oldu.
Avans kapatma tarihi ve avansın hangi işlere istinaden kapatıldığı gerçekten önemli, haklısınız. Bunun için masraf tablosuna avans numarası alanı, avans tablosuna da avans kapatma tarihi ekliyorum. Önerileriniz için teşekkür ederim.

Sayın Adnanyurdakul,
Size de ilginiz ve düzeltmeniz için teşekkür ederim.
İlk mesajımda örnekle anlatmaya çalışmıştım. Biraz daha açacak olursam, Avans Kapatma formunda Avans Kapat butonuna basıldığında iki adet döngü kurulması lazım.
İlk döngü masraf alanları için. Seçili masrafları masraf tablosunda bularak DURUM alanlarını KAPALI hale getirmeli ve yeni eklenen AvansNo bölümüne hangi avans ile kapatma işlemi yapıldıysa bu avansa ait ID yi koymalı.

İkinci döngü Avanslar için.
Aynı şekilde seçili avansları bulup DURUM alanını KAPALI hale getirmeli ve yeni eklenecek AvansKapatmaTarihi alanına güncel tarihi yazmalı.

Aslında şimdi aklıma gelen bu döngülerin iç içe olması. ilk giren ilk çıkar mantığıyla, masrafları toplayarak gitmeli, masraflar tarih olarak ilk girilen avans tutarını yakaladığında veya geçtiğinde ikinci avans döngüsü çalışıp avansı kapatmalı sonra ilk döngü tekrar çalışmalı gibi.

ilk mesajdaki örnekte olduğu şekliyle;
İlk döngü;
600>750
hayır->
600+200>750
evet-> 750tl lik avansı kapat. Avans kapatma tarihini ekle. 600 ve 200 lük masrafların alanına 750 tl lik avansın ID'sini koy.

50TL arttı

50+500>1000
hayır-> kayıt sonu-> evet-> 1000TL lik avansı kapat, 450TL yeni avans yarat (türü:Avans Bakiye)

Döngüden çık.

Biraz karışık farkındayım, amaç seçili avansları seçili masraflar ile doğru şekilde kapatabilmek. Daha basit bir mantıkla çözülebilirse ne mutlu Smile

Saygılarımla.



  Alıntı
Bu mesajı beğenenler:
#5
seciliden maksadınız nedir? Döngü olduğunda tüm kayıtları yapar. Siz tüm kayıtları değil sadece form üzerinden seçtiğiniz kayıtı mı yaptırmak istiyorsunuz
Teşekküre gerek yok, Taş atın yeter!!!



  Alıntı
Bu mesajı beğenenler:
#6
(06-02-2012, 23:05)adnanyurdakul demiş ki: seciliden maksadınız nedir? Döngü olduğunda tüm kayıtları yapar. Siz tüm kayıtları değil sadece form üzerinden seçtiğiniz kayıtı mı yaptırmak istiyorsunuz

Evet, Avans kapatma formunu açıp, Adnan kullanıcısını seçtiğimde Adnan'a ait masraflar ve Adnan'a verilmiş avanslar liste kutularında geliyor.
Adnan'a ait bu kayıtlar içinde;
Sadece 500TL lik masrafı ve sadece 750TL lik avansı seçip Avans Kapat dediğimde her iki kaydın tabloarındaki DURUM alanlarını KAPALI olarak değiştirmeli, 250TL bakiye için Avans tablosuna 250TL lik türü Avans-Bakiye olan, tarihi ise 750TL lik avansın giriş tarihi ile aynı olan yeni bir kayıt oluşturmalı.

Seçili masraf toplamı, seçili avans toplamını geçmemeli, yoksa Adnan'a ait alacak oluşur, bu şekilde kayıt olmasına gerek yok. Yani ya tam olarak avans kadar masraf seçilip avans ve masraflar kapanacak ya da masraflar avansdan küçük olacak, bakiye için yeni avans kaydı oluşturulacak.

Bu işlem tek bir avans kaydı ve bunu kapatacak masraflar seçildiğinde yapılacak. Eğer birden fazla avans seçilirse:
Öncelikle tarih olarak önce verilmiş avans kapanana kadar seçili masraflar kapatılacak, sonra oluşan fark ve diğer seçilmiş masraflar toplanacak, ikinci avansın tamamı kapanırsa avans ve masraflar KAPALI duruma getirilecek, şayet masraf toplamı avanstan küçükse yine bakiye kadar yeni avans yaratılacak.

Benim düşünebildiğim mantık bu. Farklı çözümlerde olabilir. Tek olay seçili avanslar ile seçili masrafları kapatabilmek, tam kapanmıyorsa bakiye ile yeni avans oluşturabilmek.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [SORGU] Dsum Yavaslik Problemi Serdarcann 1 211 10-10-2025, 01:08
Son Mesaj: dsezgin
  [FORM] Mouse Ile Açık Formu Kapatmak hmuratg 1 320 06-11-2024, 16:08
Son Mesaj: kahramanselim
  [TABLO] Formu Tabloda Filtreleme soss 2 475 27-03-2024, 20:04
Son Mesaj: soss
  Formu Pdf Olarak Kaydetme snapper 8 882 01-11-2023, 22:59
Son Mesaj: dsezgin
  [FORM] Gezinti Formu Ile Alt Form Oluşturmak abahceci 2 532 09-08-2023, 15:09
Son Mesaj: abahceci
  [FORM] Diğer Kullanıcılar Programı Kullanıyorken Kapatma snapper 9 1.021 11-07-2023, 21:09
Son Mesaj: dsezgin
  Access Formu üzerinde Biçimlendirme Hakkında OGUZTURKYILMAZ 9 854 08-04-2023, 15:35
Son Mesaj: OGUZTURKYILMAZ
  [FORM] Içinde Başka Form Olan Formu Gizli Açma hedefkaya 8 818 27-03-2023, 17:05
Son Mesaj: hedefkaya

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi