Fatura Stok HareketindeSorun?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
hedefbusiness

Fatura Stok HareketindeSorun?

Mesaj gönderen hedefbusiness »

Stok Hareket satırları eklendkten sonra FATURA kaydedildikten sonra
Stok hareket gridindeki ilk satır haricindeki stok kartları haricinde diger kartlarda degisiklik olmuyor Kod Şöyle

ibtable16:Stokhareket tablosu
ibtable5: stokkart tablosu
ibtable7: stokdurum(ambaragore) tablosu

FATURA KAYDET CLICK //
if (dbedit15.Text='(0) Toptan Satış Faturası') Then
Begin
Begin
datamodule21.IBTable16.Last;
datamodule21.IBTable16.First;
while not datamodule21.IBTable16.eof do
Begin
if datamodule21.ibtable7.Locate('stokadi',datamodule21.IBTable16stokadi.Text,[lopartialkey]) then
Begin
datamodule21.IBTable5.Edit;
//datamodule21.IBTable7.Edit;
//datamodule21.IBTable7durum.Value:=datamodule21.IBTable7durum.Value-datamodule21.IBTable16adet.Value;
datamodule21.ibtable5toplamcikis.Value:=datamodule21.ibtable5toplamcikis.Value+datamodule21.IBTable16adet.Value;
datamodule21.ibtable5gercekstok.Value:=datamodule21.IBTable5toplamgiris.Value-datamodule21.IBTable5toplamcikis.Value;
datamodule21.IBTable5.Post;
//datamodule21.IBTable7.Post;
datamodule21.IBTable16.Next;
end;
end;

end;
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba;

Kod: Tümünü seç

FATURA KAYDET CLICK // 
if (dbedit15.Text='(0) Toptan Satış Faturası') Then 
Begin 
Begin  
datamodule21.IBTable16.Last; 
datamodule21.IBTable16.First; 
while not datamodule21.IBTable16.eof do 
Begin 
if datamodule21.ibtable7.Locate('stokadi',datamodule21.IBTable16stokadi.Text,[lopartialkey]) then 
Begin 
datamodule21.IBTable5.Edit; 
//datamodule21.IBTable7.Edit; 
//datamodule21.IBTable7durum.Value:=datamodule21.IBTable7durum.Value-datamodule21.IBTable16adet.Value; 
datamodule21.ibtable5toplamcikis.Value:=datamodule21.ibtable5toplamcikis.Value+datamodule21.IBTable16adet.Value; 
datamodule21.ibtable5gercekstok.Value:=datamodule21.IBTable5toplamgiris.Value-datamodule21.IBTable5toplamcikis.Value; 
datamodule21.IBTable5.Post; 
//datamodule21.IBTable7.Post; 
datamodule21.IBTable16.Next; 
end; 
end; 

end; 
 
* alt alta iki tane begin kullanmışssın hatalı bi tane olmalı
* datamodule21.IBTable16.Last; datamodule21.IBTable16.First;
bu kod ne işe yarıyor.gerek yok
* kod sağlıklı değil biraz daha düşün
* post ların altına IBTransaction1.Commitretaining koy
bu interbase/firebird böyledir bi işlem yaptığında bunu kullanman gerekir

iyi günler..........
Cevapla