Merhaba,
Aslında olay senin stok hareketlerinin tutuğun tablo yapısının nasıl olduğudur.
Bizim kullandığımız kabaca şöyle
cEvrakNo, cKodMal, dTarih, nMiktar, nIslemTuru, cDepo, nKaynakEvrakTip, ...
nIslemTuru = 0 ise giriş 1 ise çıkış anlamına gelir.
nKaynakEvrakTipi ise her evrak tipi için ayrı bir numaradır. Örneğin stok giriş fişi için 55, stok çıkış fişi için 56, transfer fişi için 57'dir.
Evrak numarası ve kaynak evrak tipi bir fişi temsil eder. Bu durumda transfer fişi için şu şekilde bir hareket olur
cEvrakNo, cKodMal, dTarih, nMiktar, nIslemTuru, cDepo, nKaynakEvrakTip, ...
T001, Mal001, 01.09.07, 10, 1, Merkez, 57
T001, Mal001, 01.09.07, 10, 0, Şube, 57
Bu fişi silerken,
Delete StokHareket Where cEvrakNo = 'T001' And nKaynakEvrakTipi = 57 gibi kullanabilirsin.
Transfer fişinin ekran tasarımını ise şöyle yapabilirsin.
Formun üst kısmında çıkan depo ile giren depoyu sorarsın.
formun orta kısmı ise grid koy ve mallar ile miktar girişlerini yapsınlar.
Kaydet düğmesine basınca griddeki her kayıt için yukarıda göstermiş olduğum iki kaydı yaparsın.
bu fişi tekrar yükleyip düzenleme yapılması için ise, kullanıcı evrağı seçtiğinde sen sadece çıkış hareketlerini alırsın.
Select * from StokHareket Where cEvrakNo = 'T001' And nKaynakEvrakTipi = 57 And nIslemTuru = 1 Into Cursor curKayitlar
Bu kayıtlar sana hangi depodan çıktığını söyler. Giren depoyu bulabilmek için ise herhangi bir giriş kaydının deposuna bakabilirsin.
Select Top 1 cDepo From StokHareket Where cEvrakNo = 'T001' And nKaynakEvrakTipi = 57 And nIslemTuru = 0 Into Cursor curGirenDepo
/o---------------------o\
www.haser.com\o---------------------o/