Merhaba.Programımla ilgili mantıkta bir sıkıntım var. Siz olsanız nasıl yaparsınız. veya nasıl çözdünüz.
depolarım var ve bu depolar üzerinde fatura,giriş cıkış vs fişi, sarf fişi vs ile hareketler yapılıyor. tipik stok ve depo tanımları var. fişler fiş tablosunda işlem tipi ile saklanıyor. fişkalemdede fiş kalemleri var. hangi depoda hangi ürün ne kadar var bunuda depostok tablosunda depoidx,stok idx ve miktarla saklıyorum.Benim sıkıntım ürünlerin raf ömürlerini takip edebilmek. bu güne kadar hiç öyle bir işlem yapmamıştım. bir arkadaşım depostok tablosunda birde tarih alanı oluştur ve stoğu arttırır veya azaltırken bunuda hesaba kat dedi. ama fiş silme veya düzeltme kısmında (ben düzelte için bütün fişi silip tekrar yeni kayıtmış gibi kayıt ediyorum.) işin içinden çıkamadım.
database yapım aşağıda:
DEPOTANIM: idx,depo kodu,depo adı yapısında bir tabloda.
STOKKART: idx,stokkodu, urunadi,Rafomru,kritik stok vs. isimli bir tabloda.
FIS: idx,TARIH,DEPO,ISLEM
FISKALEM: idx,FISIDX,STOKIDX,GIRENM,CIKANM,vs.
DEPOSTOK:IDX,DEPOIDX,STOKIDX,GIRENM,CIKANM
depodaki ürünün raf ömrü
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: depodaki ürünün raf ömrü
DEPOTANIM: idx,depo kodu,depo adı yapısında bir tabloda.
STOKKART: idx,stokkodu, urunadi,Rafomru,kritik stok vs. isimli bir tabloda.
FIS: idx,TARIH,DEPO,ISLEM
FISKALEM: idx,FISIDX,STOKIDX,GIRENM,CIKANM,vs.
DEPOSTOK:IDX,DEPOIDX,STOKIDX,GIRENM,CIKANM --> Bu tabloya gerek yok.
Fis lerin tek depoya göre giriş yapıldıgını varsayarsak, oradaki tarih bölümü raf ömrü için kullanılabilir.
Bu sql satırı istedigin bilgiyi almanı saglar.
5 nolu depoya giren stokları listeler
Bütün depolardaki rafomru geçmiş stokları listeler. Tarih kısmını kullandıgın sql servera göre ayarlaman gerekebilir.
STOKKART: idx,stokkodu, urunadi,Rafomru,kritik stok vs. isimli bir tabloda.
FIS: idx,TARIH,DEPO,ISLEM
FISKALEM: idx,FISIDX,STOKIDX,GIRENM,CIKANM,vs.
DEPOSTOK:IDX,DEPOIDX,STOKIDX,GIRENM,CIKANM --> Bu tabloya gerek yok.
Fis lerin tek depoya göre giriş yapıldıgını varsayarsak, oradaki tarih bölümü raf ömrü için kullanılabilir.
Kod: Tümünü seç
select * from fis f left join fiskalem k on f.idx-=k.fisidx left join stok s on f.stokidx = s.idx left join depo d on d.idx=f.depo
Kod: Tümünü seç
where d.idx =5 and k.girenm > 0
Kod: Tümünü seç
where dk.girenm > 0 and (f.tarih - now) > s.rafomru