Herkese Selam Öncelikle yapmak istediğim olayı kısaca anlatayım.Benim 2 ad. kasam var 1.Günlük kasa 2.Anakasa
Şimdi Günlük kasamda yapılan işlemler sistem tarihine bağlı.yani sistem tarihi diyelim bugun 12.12.05 ve bu kasaya ait işlemler yapıldı.Yarın yani 13.12.05oluduğunda ise kasa işlemleri boş bir sayfa açıldı.
Buraya kadar tamam.Yabi SQL ile where koşulu iletarihi çekiphallettim. Fakat asıl sorun şu
Benim bu kasa işlemlerini yapığım en üstte
Önceki günden devir Anakasadan Devir Günlük Giriş Günlük Çıkış
YTL
USD
EURO
Anakasaya Devir ve Gün sonu bakiyesi
Şimdi yapmak istediğim de
ben
Gün sonu bakiyes:=Önceki Günden devir+Anakasadan Devir+Günlük Giriş-(Günlük Çıkış+Anakasaya Devir)
Şeklinde bulup ve sistem tarihi değiştirdiğinden
yani bir sonraki günde Gün sonu bakiyesi Önceki gündendevire geçiçek bunu yapamaddım.Veya nasıl biryol izlemeliyim.
Not:=Sistem tarihi ile otomatik kasayı kapatmak hiç de hoş değil aslında.Ama müşterinin istediği şekildeyapmalıyım.
herkese iyi çalışmalar....
kasa işlemleri Ve gün sonu bakiyesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Benim kullandığım mantığı anlatayım sana,
Öncelikle kasa kapatmak bence yanlış, çünkü 3 gün öncesinde bir şey değiştirilirse 3 günlük kasa işlemlerini tekrar güncellemen gerek. e müşterilerde herzaman geriye dönük işlem yapmak isterler.
forumun üstüne bir DateTimepicker koy bunun onchange i değil çünkü her değişiklikte tetiklenir, onexit inde query yi refresh ettir.
Query inde ise ya forma 2 tane Query koyup istenen ilki devir deyip girilmiş tarihin 1 önceki güne kadar olanlarını getiricek, ikinci ise sadece o tarihi alıcak. burda dikkat etmen gereken eğer saat de varsa xx.xx.xxxx 23:59:59 şeklinde vermek gerekir.
Ama bu işlemi bir SP içindede yapabilirsin ve sonuçları tek bir query ilede alabilirsin
dövizler içinde group by kullanırsan tek SQL ile sonuçalrı alabilirsin
Kolay gele
Öncelikle kasa kapatmak bence yanlış, çünkü 3 gün öncesinde bir şey değiştirilirse 3 günlük kasa işlemlerini tekrar güncellemen gerek. e müşterilerde herzaman geriye dönük işlem yapmak isterler.
forumun üstüne bir DateTimepicker koy bunun onchange i değil çünkü her değişiklikte tetiklenir, onexit inde query yi refresh ettir.
Query inde ise ya forma 2 tane Query koyup istenen ilki devir deyip girilmiş tarihin 1 önceki güne kadar olanlarını getiricek, ikinci ise sadece o tarihi alıcak. burda dikkat etmen gereken eğer saat de varsa xx.xx.xxxx 23:59:59 şeklinde vermek gerekir.
Ama bu işlemi bir SP içindede yapabilirsin ve sonuçları tek bir query ilede alabilirsin
dövizler içinde group by kullanırsan tek SQL ile sonuçalrı alabilirsin
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Selam
freeman35 üstadım öncelikle cevap için ök tşkederim.Ben Normalde sistem tarihine göre aldığım için kasayı adam windowsun tarihini geri alarak önceki kasada zaten hataları düzeltebilecek.Ben zaten sistem tarihine ağlı olarak şu şekilde bir yol izledim.
böyle bir kod yazarak formun on show olayından kontrol ediyorum.Benim tek sorunum
Gün sonu bakiyesini Önceki Günden Devire atmak istiyorum.Yukarıdaki mesajımdada Günsonu bakiyesini nasıl bulduğumu söylemiştim.
Kolay gele...
freeman35 üstadım öncelikle cevap için ök tşkederim.Ben Normalde sistem tarihine göre aldığım için kasayı adam windowsun tarihini geri alarak önceki kasada zaten hataları düzeltebilecek.Ben zaten sistem tarihine ağlı olarak şu şekilde bir yol izledim.
Kod: Tümünü seç
procedure Tkasa.FormShow(Sender: TObject);
begin
RzDateTimePicker2.Date:=now;
Rzdatetimepicker1.Date:=now;
datamodule3.kasa.Close;
datamodule3.kasa.SelectSQL.Clear;
datamodule3.kasa.SelectSQL.Text:='select* from kasa where tarih='''+datetostr(RzDateTimePicker1.Date)+'''';
datamodule3.kasa.Open;
datamodule3.adevir.Close;
datamodule3.adevir.SelectSQL.Clear;
datamodule3.adevir.SelectSQL.Text:='select* from adevir where tarih='''+datetostr(RzDateTimePicker1.Date)+'''';
datamodule3.adevir.Open;
datamodule3.kasagirtop.Close;
datamodule3.kasagirtop.ParamByName('ilk').AsDateTime:=now;
datamodule3.kasagirtop.ParamByName('son').AsDatetime:=now;
datamodule3.kasagirtop.Open;
datamodule3.kasagirtopusd.Close;
datamodule3.kasagirtopusd.ParamByName('ilk').AsDateTime:=now;
datamodule3.kasagirtopusd.ParamByName('son').AsDatetime:=now;
datamodule3.kasagirtopusd.Open;
datamodule3.kasagirtopytl.Close;
datamodule3.kasagirtopytl.ParamByName('ilk').AsDateTime:=now;
datamodule3.kasagirtopytl.ParamByName('son').AsDatetime:=now;
datamodule3.kasagirtopytl.Open;
datamodule3.kasaciktop.Close;
datamodule3.kasaciktop.ParamByName('ilk').AsDateTime:=now;
datamodule3.kasaciktop.ParamByName('son').AsDatetime:=now;
datamodule3.kasaciktop.Open;
datamodule3.kasaciktopusd.Close;
datamodule3.kasaciktopusd.ParamByName('ilk').AsDateTime:=now;
datamodule3.kasaciktopusd.ParamByName('son').AsDatetime:=now;
datamodule3.kasaciktopusd.Open;
datamodule3.kasaciktopytl.Close;
datamodule3.kasaciktopytl.ParamByName('ilk').AsDateTime:=now;
datamodule3.kasaciktopytl.ParamByName('son').AsDatetime:=now;
datamodule3.kasaciktopytl.Open;
datamodule3.adevirler.Close;
datamodule3.adevirler.ParamByName('ilk').AsDateTime:=now;
datamodule3.adevirler.ParamByName('son').AsDatetime:=now;
datamodule3.adevirler.Open;
datamodule3.adevirlerusd.Close;
datamodule3.adevirlerusd.ParamByName('ilk').AsDateTime:=now;
datamodule3.adevirlerusd.ParamByName('son').AsDatetime:=now;
datamodule3.adevirlerusd.Open;
datamodule3.adevirlerytl.Close;
datamodule3.adevirlerytl.ParamByName('ilk').AsDateTime:=now;
datamodule3.adevirlerytl.ParamByName('son').AsDatetime:=now;
datamodule3.adevirlerytl.Open;
datamodule3.kdevirler.Close;
datamodule3.kdevirler.ParamByName('ilk').AsDateTime:=now;
datamodule3.kdevirler.ParamByName('son').AsDatetime:=now;
datamodule3.kdevirler.Open;
datamodule3.kdevirlerusd.Close;
datamodule3.kdevirlerusd.ParamByName('ilk').AsDateTime:=now;
datamodule3.kdevirlerusd.ParamByName('son').AsDatetime:=now;
datamodule3.kdevirlerusd.Open;
datamodule3.kdevirlerytl.Close;
datamodule3.kdevirlerytl.ParamByName('ilk').AsDateTime:=now;
datamodule3.kdevirlerytl.ParamByName('son').AsDatetime:=now;
datamodule3.kdevirlerytl.Open;
datamodule3.kasabakiyeler.Close;
datamodule3.kasabakiyeler.ParamByName('ilk').AsDateTime:=RzDateTimePicker2.Date;
datamodule3.kasabakiyeler.ParamByName('son').AsDatetime:=RzDateTimePicker2.Date;
datamodule3.kasabakiyeler.Open;
datamodule3.kasabakiyelerusd.Close;
datamodule3.kasabakiyelerusd.ParamByName('ilk').AsDateTime:=RzDateTimePicker2.Date;
datamodule3.kasabakiyelerusd.ParamByName('son').AsDatetime:=RzDateTimePicker2.Date;
datamodule3.kasabakiyelerusd.Open;
datamodule3.kasabakiyelerytl.Close;
datamodule3.kasabakiyelerytl.ParamByName('ilk').AsDateTime:=RzDateTimePicker2.Date;
datamodule3.kasabakiyelerytl.ParamByName('son').AsDatetime:=RzDateTimePicker2.Date;
datamodule3.kasabakiyelerytl.Open;
Gün sonu bakiyesini Önceki Günden Devire atmak istiyorum.Yukarıdaki mesajımdada Günsonu bakiyesini nasıl bulduğumu söylemiştim.
Kolay gele...