Sayfayı Yazdır | Pencereyi Kapat

günlük stok bakiye raporu

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: ERP Genel
Forum Adı: ERP Rapor Hazırlama
Forum Tanımlaması: ERP Rapor Hazırlama
URL: http://www.erpne.org/forum_posts.asp?TID=4595
Tarih: 28 Mart 2024 Saat 13:05
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: günlük stok bakiye raporu
Mesajı Yazan: emelB
Konu: günlük stok bakiye raporu
Mesaj Tarihi: 07 Ocak 2021 Saat 16:54
Merhabalar;
günlük bazda stoktaki bakiye raporuna ihtiyacım bulunmaktadır. Netsis stok hareketlerindeki tabloya benzer, gün sonundaki stok kodu, tarih, toplam giriş miktarı, toplam çıkış miktarı ve toplam bakiye miktarı başlıkları olması yeterli.
SQL kodu ile ilgili yardımlarınızı rica ederim.




Cevaplar:
Mesajı Yazan: mbaykan
Mesaj Tarihi: 10 Ocak 2021 Saat 12:13
Stok (yani bakiye, yani kalan) değeri günlük bazda olmaz.
Günlük baz ilgili stoğun ogünkü giriş toplamı - ogünkü çıkış toplamı = bakiye (kalan,stok) diye 
hesaplanamaz. sizin istediğiniz Verilen bir tarih itibariyle stokların  durumu olabilir. Stok durumu için stok hareketleri dökümünde kümüle serbest rapor yapılabilir.

sorunuzu ben bir örnekle göstereyim

Stok_kodu  Tarih         Giriş    Çıkış  Bakiye
STOK1       02.01.21        0       10       -10
STOK1       04.01.21      30         6       17  ? ilgili tarih sonunda kalan stok olabilir
STOK2       03.01.21     100      50        48  ?  ilgili tarih sonunda kalan stok olabilir
STOK2       05.01.21       30      80         1

burada tarih sütununa 2 anlam verilebilir. Bakiye açısından.
siz hangisini istiyorsunuz
SQL sorgusu VIEW olarak hantal olur. Verimli çalışacak ise Stored Procedure veya Function olarak kodlanmalı.
çalıştırken 
Prosedür: EXEC dbo.GUNLUK_BAKIYE '2021-01-09'
Function: SELECT * FROM dbo.FN_GUNLUK_BAKIYE('2021-01-09') şeklinde yazılır.
(GUNLUK_BAKIYE ismini verdiğim kodlar örnek)

-------------
Mehmet Baykan


Mesajı Yazan: emelB
Mesaj Tarihi: 11 Ocak 2021 Saat 11:11
cevabınız için teşekkür ederim.
aslında amacım, 1 ay boyunca geriye dönük olarak hangi stok anlık olarak eksiye düşmüş hangi tarihte düşmüş kısa yoldan görmekti. 



Mesajı Yazan: mbaykan
Mesaj Tarihi: 11 Ocak 2021 Saat 16:17
WITH TMP AS (SELECT STOK_KODU,STHAR_TARIH,SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE 0 END) GIRIS,
SUM(CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK ELSE 0 END) CIKIS
FROM TBLSTHAR
WHERE STHAR_HTUR NOT IN ('E','N')
GROUP BY STOK_KODU,STHAR_TARIH
)
SELECT STOK_KODU,STHAR_TARIH,GIRIS,CIKIS,
SUM(GIRIS-CIKIS) OVER (PARTITION BY STOK_KODU ORDER BY STOK_KODU,STHAR_TARIH) AS BAKIYE
FROM TMP
GROUP BY STOK_KODU,STHAR_TARIH,GIRIS,CIKIS
--HAVING SUM(GIRIS-CIKIS)<0   --SADECE STOĞUN EKSİYE DUSTÜGÜ TARİHLERİ LİSTELEMEK
ORDER BY 1,2

yukarıdaki sorgu işinizi görür


-------------
Mehmet Baykan



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net