toplu taksit ödemesi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
digitdigitman
Üye
Mesajlar: 32
Kayıt: 04 May 2014 02:23

toplu taksit ödemesi

Mesaj gönderen digitdigitman »

merhabalar arkadaşlar
taksitlendirilmiş bir satış için mesela 10 taksit.
herhangi ayında kalan taksitlerin tamamını bir seferde ödeme durumunda yapılan ödemeyi bir seferde tahsilat tabloma atıyorum ama. taksitler tablosunda ödenen_tutar,ödendi(E),ödeme_tarihi gibi alamlarımı bir deferde update edemiyorum. malum ödenen tutar kaç taksiti karşılıyo ve bunun taksitler tablosuna update edilmesi gibi

taksitlendirme işlemini for do ile yapıyorum
bu sorunuda onunla halledebilir diye düşündüm ama çıkamadım içinden
bu konu ile ilgili bilgisi olan varsa yardımlarını bekliyorum. teşekkürler
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: toplu taksit ödemesi

Mesaj gönderen tayipk »

merhaba probleminle ilgili aklıma ilk gelen yöntem şu oldu aşama aşama anlatmaya çalışacam umarım başarırım :D
1 - alınan ödemeyi bir değişkene at ör. odeme sonra kalan diye başka bir değişken tanımla
2 - o müşteriye ait kalan taksitleri sorgula ve query ni açık tut
3 - olay burda başlıyor buraya dikkat

Kod: Tümünü seç

while not adoquery1.eof do
begin
adoquey1.fieldbyname('odeme_durum').asstring:='E';
kalan:=odeme-adoquery1.fieldbyname('taksit_tutarı').asfloat;
end;
tabi bu kodun başında kalan değişkenindeki tutarın taksit tutarına yetip yetmediğini kontrol etmen ve yetmiyorsada kendine göre bir ibare belirleyip kontrol ettirmen gerekmektedir.umarım anlatımımla san birazda olsa fikir verebilmişimdir. kolay gelsin.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
digitdigitman
Üye
Mesajlar: 32
Kayıt: 04 May 2014 02:23

Re: toplu taksit ödemesi

Mesaj gönderen digitdigitman »

query ni açık tut derken tayipk ?
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: toplu taksit ödemesi

Mesaj gönderen tayipk »

while döngüsüne gireceğin için döngü içerisinde query ni kapatma anlamında yazmıştım
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
digitdigitman
Üye
Mesajlar: 32
Kayıt: 04 May 2014 02:23

Re: toplu taksit ödemesi

Mesaj gönderen digitdigitman »

procedure TFrm_Tahsilat.RzToolButton1Click(Sender: TObject);
var
OdenmesiGereken:Currency;
ODenen:Currency;
kalan:Currency;

begin
Odenmesigereken:=Strtocurr(cxdbLabel6.Caption);
ODenen:=StrtoCurr(cxTextEdit2.Text);
kalan:=Odenen-ODenmesigereken;
if (nakit.Checked=true) and (odenen>ODenmesi_gereken) then
begin
try

Ana_Form.Con_btkurs.BeginTrans;

qry_odenmeyen_taksitler.close;
qry_odenmeyen_taksitler.sql.clear;
qry_odenmeyen_taksitler..sql.add('Select sum(tutar) AS toplamkalan From Taksitler where islem_no=:ITN');
qry_odenmeyen_taksitler.parameters.parambyname(ITN).value:=strtoint(cxDBLabel4.caption);
qry_odenmeyen_taksitler.open;
-----burada ödenmeyen taksit toplamını alıyorum----------

if Odenen>qry_odenmeyen_taksitler..fieldvalues['toplamkalan'] then
begin
while not qry_taksitler.eof do
begin
qry_taksitler.fieldbyname('odeme').asstring:='E';
qry_taksitler.fieldbyname('Odenen_tutar').Currency:=???????
kalan:=Odenen-qry_taksitler.fieldbyname('taksit_tutarı').asfloat;
end;

end
else
end;

bu döngü içinde yapılanları anlamadım döngü içinde bulunan
qry_taksitler.fieldbyname('odeme').asstring:='E'; vs
satırlar taksitler tablosundaki alanları değiştirmek içinmi.

Sanki mantık yetmiyo gibi daha doğrusu mantığı anladımda koda dökmekte sıkıntı çekiyorum birazdaha kodlarla örnekleyebilirmiyiz :(
Cevapla