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
toplu taksit ödemesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: toplu taksit ödemesi
merhaba probleminle ilgili aklıma ilk gelen yöntem şu oldu aşama aşama anlatmaya çalışacam umarım başarırım 
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
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.

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;
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
-
- Üye
- Mesajlar: 32
- Kayıt: 04 May 2014 02:23
Re: toplu taksit ödemesi
query ni açık tut derken tayipk ?
Re: toplu taksit ödemesi
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.
-
- Üye
- Mesajlar: 32
- Kayıt: 04 May 2014 02:23
Re: toplu taksit ödemesi
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
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
