muhasebe fişi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

muhasebe fişi

Mesaj gönderen berken »

merhaba arkadaslar.. daha once bir çoğunuz eminim uğraşmıssınızdır..
(bu konuda ozellikle volkan kamadan hocamızın soyledikleri tam da yapmak istediklerim.).
muhasebe programlarında
fiştarihi numarası vs girilince , karşımıza bir grid geliyor..
hesapkodu açıklama borç alacak diye..
bunu yaparken dbgrid mi , string grid mi kullanışlı olur .. bir de fiş kontrolleri vardır..
mesela toplam borç ve toplam alacak eşit olmalı bir fişte..
değilse fişi kaydetme..
bunu kontrolu biraz kolay.. ama mesela bir çok kayıt girildi ve kullanıcı fişi kaydetmekten vazgeçti,, gibi gibi..
yanı kısaca bir muhasebe fişini nasıl yapabilirim..
ben normal dbedit gibi nesnelerle bir borca karşılık bir alacak kısmını hallediyorum..
ama her işlem iki satırda olacak şartı yok.. yanı

hkodu -----------borç-------------alacak-------
xxxxx -----------18-----------------0---------
xxxxx ----------100 ----------------0---------
xxxxx ------------0-----------------118--------

şeklinde olabilir.. o nedenle muhasebe programlarındaki fiş mantığını kullanmalıyım..
İnsanca.... Pek insanca....
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Grid kullanmak daha mantıklı.
Borç ve Alacak toplamlarını kaydet tuşuna basacağın zaman bir sorgu ile SUM aldırıp kontrol edebilirsin. select sum(borc), sum(alacak) from tablo ... vs.
Vazgeçme kısmını da veritabanı transaction olayı çözecektir :idea: Vazgeçtiğinde Rollback/RollbackRetaining yapman yeterli. Hangi vt kullandığını yazmamışsın :!:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

öyle bir yol düşündüm..
DBgrid yanı..
transaction u baslatıp gridde kayıtlar yapınca ve daha sonra rollback yapınca kayıtlar geri donmedi.. kafam karıştı açıkçası...
ve cxgridi string grid olarak kullanamadım.. edit olmuyor .. bir şey yazamıyorum içine.
cxgrid işimi çok iyi görür aslında
İnsanca.... Pek insanca....
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

sanırım cevap verecek kimse yok.. ben kendimce bir yol buldum..
temp bir tablo.. ve kullandığım dbgridi ona baglıyorum..
yansıt diyince tempteki kayıtları ana tabloma yansıtıyorum
İnsanca.... Pek insanca....
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba ,
Bahsettiğiniz fiziksel temp tablo olayı çoklu kullanıcılı sistemlerde ekstra önlemler almanızı gerektirebilir ve benzeri hız sorunları ortaya çıkabilir.
Bu gibi durumlar için Memory Tabloları kullanımanızı öneririm örneğin ben Rx in TRxMemoryData bileşeni ile bu işlemleri gerçekleştirebiliyorum.
Kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

evet benım de yazdığım çok kullanıcılı...
size ne kadar mantıklı gelecek bilmiyorum ama, bu temp dosya herkesin kendi localinde olacak bir access tablo..
normal veritabanı ise serverdaki mysql ..
İnsanca.... Pek insanca....
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

berken yazdı:transaction u baslatıp gridde kayıtlar yapınca ve daha sonra rollback yapınca kayıtlar geri donmedi..
Normal şartlarda bu imkansız!
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

dbgrid kullandım..
transactionu baslattım.. bir kaç kayıt girdim.. sonra rollback yaptım..
ama son değişiklikler kaldı...
kullandığın bağlantı nesnesi ile ilgili olabilir mi?
İnsanca.... Pek insanca....
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

berken yazdı:dbgrid kullandım..
transactionu baslattım.. bir kaç kayıt girdim.. sonra rollback yaptım..
ama son değişiklikler kaldı...
kullandığın bağlantı nesnesi ile ilgili olabilir mi?
bunun kodunu yazsa idin keşke
Siz hayal edin...Biz yapalım TuannaSoft...
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

kodunda bir şey yok...
iki buton koydum..
birinin onclickinde

myconnection.starttransaction;

diğerinde
myconnection.rollback..
ilk tuşa bastıktan sonra (yani transaction u baslatınca ) gridde elle kayıtlar giriyorum.. 3-5 tane..
sonra rollback butonuna basıyorum..
ama kayıt ediyor. .
geri gelmiyor..
İnsanca.... Pek insanca....
Cevapla