Sayfayı Yazdır | Pencereyi Kapat

Sayim raporu

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: ERP Genel
Forum Adı: ERP Excel Entegrasyonları
Forum Tanımlaması: ERP Excel Entegrasyonları İle İlgili Bilgiler ve Sorular İçin...
URL: http://www.erpne.org/forum_posts.asp?TID=2885
Tarih: 03 Nisan 2025 Saat 04:10
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Sayim raporu
Mesajı Yazan: kuzey_yolcu
Konu: Sayim raporu
Mesaj Tarihi: 27 Aralık 2011 Saat 10:55
Herkese merhaba,
Extendde hazirladigim bir fark raporu var. Sayim miktarlarini getiriyorum. Daha sonra stokbakiye fonksiyonuyla sayim tarihindeki bakiyeyi getiriyorum. Daha sonra bu iki hücrenin farkini aliyorum Excelde. Fakat isin içine formül girince performans düsüyor. O yüzden ikisini birlestirmek istedim bir sorguda. Ama isin içinden çikamadim. Hata veriyor sürekli. Yardimci olur musunuz? Ise yarar mi bilmiyorum ama hata veren sorgu su:
 
SELECT SAYIMOTR.TARIH, STSABIT.GRUP_KODU, SAYIMOTR.STOK_KODU, SAYIMOTR.STOK_ADI, SAYIMOTR.MIKTAR, SUM(CASE WHEN STHAR.STHAR_GCMIK="G" THEN STHAR.STHAR_GCMIK ELSE 0 END) - SUM(CASE WHEN STHAR.STHAR_GCMIK="C" THEN STHAR.STHAR_GCMIK ELSE 0 END) FROM SAYIMOTR
INNER JOIN STSABIT ON SAYIMOTR.STOK_KODU=STSABIT.STOK_KODU
INNER JOIN STHAR ON SAYIMOTR.STOK_KODU=STHAR. STOK_KODU 
WHERE SAYIMOTR.DEPO_KODU=1 AND STHAR.STHAR_TARIH >= "01.01.2011" AND STHAR.STHAR_TARIH <= SAYIMOTR.TARIH
GROUP BY SAYIMOTR.TARIH, STSABIT.GRUP_KODU, SAYIMOTR.STOK_KODU
ORDER BY SAYIMOTR.TARIH DESC, STSABIT.GRUP_KODU DESC, SAYIMOTR.STOK_KODU DESC
 
Sayim yapilan depo kodu da 1 olmali, o sayim tarihindeki bakiyeyi getirmeye çalistigim depo kodu da 1 olmali.


-------------
Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.



Cevaplar:
Mesajı Yazan: Conari
Mesaj Tarihi: 27 Aralık 2011 Saat 15:20
hatayi yazsaydiniz.
 
Bakiyeyi bu sekilde al.
SUM(CASE WHEN STHAR.STHAR_GCMIK="G" THEN STHAR.STHAR_GCMIK ELSE - STHAR.STHAR_GCMIK END)
 
where kismindada STHAR.DEPO_KODU=1
Ekle


-------------
Netsisden vazgeçemiyorum. Beni engelliyor..


Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 27 Aralık 2011 Saat 16:09
Orjinalini yazan: Conari Conari Yazdı:

hatayi yazsaydiniz.
 
Bakiyeyi bu sekilde al.
SUM(CASE WHEN STHAR.STHAR_GCMIK="G" THEN STHAR.STHAR_GCMIK ELSE - STHAR.STHAR_GCMIK END)
 
where kismindada STHAR.DEPO_KODU=1
Ekle
Bu dediklerimi Extend'de yapiyorum. Hata mesaji detayli degil. Sadece, girilen SQL cümlesi hatali diyor. Nerde hata oldugunu da söylemiyor. Sizin yazdiginizi denedim, yine hata verdi.


-------------
Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.


Mesajı Yazan: taner
Mesaj Tarihi: 31 Aralık 2011 Saat 21:20

tablonuzu incelemek lazim



-------------
netsis ayna gibidir kim uyarlıyorsa o kadar cevap verir


Mesajı Yazan: mbaykan
Mesaj Tarihi: 31 Aralık 2011 Saat 22:09



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


Mesajı Yazan: mbaykan
Mesaj Tarihi: 31 Aralık 2011 Saat 22:15
1 no'lu depo ve 31.12.2011 tarihli sayim için su sorguyu yazdim

SELECT B.GRUP_KODU,ISNULL(A.STOK_KODU,X.STOK_KODU) STOK_KODU,B.STOK_ADI,A.MIKTAR,X.BAKIYE, ISNULL(A.MIKTAR,0)-ISNULL(X.BAKIYE,0) AS FARK
FROM TBLSAYIM A INNER JOIN
TBLSTSABIT B ON A.STOK_KODU=B.STOK_KODU FULL JOIN
(SELECT STOK_KODU,SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) BAKIYE
FROM TBLSTHAR
WHERE DEPO_KODU=1 AND STHAR_TARIH <= '2011-12-31'
GROUP BY STOK_KODU
HAVING SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) > 0
) X ON B.STOK_KODU = X.STOK_KODU
WHERE A.TARIH='2011-12-31' AND A.DEPO_KODU=1
ORDER BY B.GRUP_KODU,B.STOK_KODU

Having ile baslayan ifade >0 yerine <>0 olarak ta kullanilabilir. (-) stoklarinizda
bu raporda çikacaktir




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


Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 02 Ocak 2012 Saat 15:30

Mehmet Bey,

Peki bunu yalnizca 31.12.2011 tarihli sayim için degil de o ana kadar yapilan bütün sayimlari görecek sekilde düzenleyemez misiniz? Çünkü söyle bir sey oluyor. Sayimi girdikten sonra fark raporu aliyoruz. Bazen bir önceki sayimin farkina da bakmamiz gerekebiliyor, hatta çogu zaman desem daha dogru olur. Benim üstteki raporumda tüm sayimlar geliyor. Aslinda tam olarak istedigim o fakat onun da hizi çok kötü formüllerden dolayi. Sizin raporla benim raporu birlestibilirsek çok güzel olurdu.
Sorgunuz hatasiz ve çalisiyor bu arada.


-------------
Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.


Mesajı Yazan: mbaykan
Mesaj Tarihi: 02 Ocak 2012 Saat 18:50
SELECT ISNULL(A.TARIH,D.TARIH) TARIH,ISNULL(B.GRUP_KODU,D.GRUP_KODU) GRUP_KODU,ISNULL(A.STOK_KODU,D.STOK_KODU) STOK_KODU,
ISNULL(B.STOK_ADI,D.STOK_ADI) STOK_ADI,
ISNULL(A.MIKTAR,0) MIKTAR,ISNULL(D.BAKIYE,0) BAKIYE,ISNULL(A.MIKTAR,0) - ISNULL(D.BAKIYE,0) FARK
FROM TBLSAYIM A INNER JOIN
TBLSTSABIT B ON A.STOK_KODU=B.STOK_KODU FULL JOIN
(SELECT S.TARIH,K.GRUP_KODU,H.STOK_KODU,K.STOK_ADI,SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) BAKIYE
FROM TBLSTHAR H INNER JOIN
TBLSTSABIT K ON H.STOK_KODU=K.STOK_KODU INNER JOIN
(select DISTINCT TARIH FROM TBLSAYIM) S ON 1=1
WHERE STHAR_TARIH <= (SELECT DISTINCT TARIH FROM TBLSAYIM) --AND H.DEPO_KODU = --DEPOSU SECILEN STOK BAKIYELERI --NOT (A)
GROUP BY S.TARIH,K.GRUP_KODU,H.STOK_KODU,K.STOK_ADI
HAVING SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) <> 0) D --eksi stoklar istenmiyorsa <> yerine > koyun
ON D.TARIH=A.TARIH AND ISNULL(A.STOK_KODU,B.STOK_KODU)=D.STOK_KODU
--WHERE ISNULL(A.MIKTAR,0) - ISNULL(D.BAKIYE,0) <> 0 --FARK VERENLER --NOT (B)
--AND A.DEPO_KODU = x --DEPO'SU SECILEN SAYIMLAR --NOT (C)
ORDER BY TARIH,GRUP_KODU,STOK_KODU


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


Mesajı Yazan: mbaykan
Mesaj Tarihi: 02 Ocak 2012 Saat 18:53
NOT A-B-C Duruma göre --'ler kaldirilarak ve x degeri girilerek sorgu çalistirilabilir
FARK verenler istenmiyorsa yani NOT (b) silinirse, Not (C) basina AND kelimesi yerine WHERE koymayi unutmayin



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


Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 03 Ocak 2012 Saat 11:34
Mehmet Bey, sorguyu çalistiramadim. Hata verdi. x yazan yerlere 1 yazdim. Sadece 1 nolu depoyu istiyorum zaten. 1 nolu depoda yapilan tüm sayimlar. Su -- isareti ne anlama geliyor sorgunun içinde. Isaretlerin içinde yazdiginiz notlar kalacak mi? Birkaç farkli sekilde denedim ama çalismadi. 1 nolu depoda yapilan tüm sayimlari listeleyecek sekilde sorguyu gönderebilirmisiniz? (eksi bakiyeler de dahil olacak)

-------------
Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.


Mesajı Yazan: mbaykan
Mesaj Tarihi: 03 Ocak 2012 Saat 11:44
SELECT ISNULL(A.TARIH,D.TARIH) TARIH,ISNULL(B.GRUP_KODU,D.GRUP_KODU) GRUP_KODU,ISNULL(A.STOK_KODU,D.STOK_KODU) STOK_KODU,
ISNULL(B.STOK_ADI,D.STOK_ADI) STOK_ADI,
ISNULL(A.MIKTAR,0) MIKTAR,ISNULL(D.BAKIYE,0) BAKIYE,ISNULL(A.MIKTAR,0) - ISNULL(D.BAKIYE,0) FARK
FROM TBLSAYIM A INNER JOIN
TBLSTSABIT B ON A.STOK_KODU=B.STOK_KODU FULL JOIN
(SELECT S.TARIH,H.DEPO_KODU,K.GRUP_KODU,H.STOK_KODU,K.STOK_ADI,SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) BAKIYE
FROM TBLSTHAR H INNER JOIN
TBLSTSABIT K ON H.STOK_KODU=K.STOK_KODU INNER JOIN
(select DISTINCT TARIH FROM TBLSAYIM) S ON 1=1
WHERE STHAR_TARIH <= (SELECT DISTINCT TARIH FROM TBLSAYIM) AND H.DEPO_KODU = 1  
GROUP BY S.TARIH,H.DEPO_KODU,K.GRUP_KODU,H.STOK_KODU,K.STOK_ADI
HAVING SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) <> 0) D --eksi stoklar istenmiyorsa <> yerine > koyun
ON D.TARIH=A.TARIH AND ISNULL(A.STOK_KODU,B.STOK_KODU)=D.STOK_KODU
--WHERE ISNULL(A.MIKTAR,0) - ISNULL(D.BAKIYE,0) <> 0 --FARK VERENLER
WHERE ISNULL(A.DEPO_KODU,D.DEPO_KODU) = 1
ORDER BY TARIH,GRUP_KODU,STOK_KODU


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


Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 03 Ocak 2012 Saat 13:34
Aynen kopyaladim, hata verdi.

-------------
Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.


Mesajı Yazan: mbaykan
Mesaj Tarihi: 03 Ocak 2012 Saat 14:45
nasil bir hata veriyor?
Tek tirnak'lari siz Extend'e göre Çift yapiyorsunuz herhalde

-- ile olanlar açiklama satirlari bunlar Extend'te sorun oluyorsa satir sonuna kadar silin


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


Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 03 Ocak 2012 Saat 16:43

Hata kirmizi renkle belirttigim sekilde:

Serbest Veri Girisi
Girilen SQL cümlesi hatali.
SELECT ISNULL(A.TARIH,D.TARIH) TARIH,ISNULL(B.GRUP_KODU,D.GRUP_KODU) GRUP_KODU,ISNULL(A.STOK_KODU,D.STOK_KODU) STOK_KODU,
ISNULL(B.STOK_ADI,D.STOK_ADI) STOK_ADI,
ISNULL(A.MIKTAR,0) MIKTAR,ISNULL(D.BAKIYE,0) BAKIYE,ISNULL(A.MIKTAR,0) - ISNULL(D.BAKIYE,0) FARK
 
Oldugu gibi kopyaladim, çift tirnak denedim, açiklamalari sildim. Hepsinde de hata verdi. Tirnakla ilgisi olmamali. Çünkü yukarida tek bir sayim için hazirladiginiz sorguyu da oldugu gibi almistim. Onda da tek tirnak vardi ama çalismisti. 
Hata mesaji açiklayici degil pek.


-------------
Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.


Mesajı Yazan: mbaykan
Mesaj Tarihi: 03 Ocak 2012 Saat 17:53
sadelestirdim dener misiniz?

SELECT A.TARIH,B.GRUP_KODU,A.STOK_KODU,B.STOK_ADI,
ISNULL(A.MIKTAR,0) MIKTAR,ISNULL(D.BAKIYE,0) BAKIYE,ISNULL(A.MIKTAR,0) - ISNULL(D.BAKIYE,0) FARK
FROM TBLSAYIM A INNER JOIN
TBLSTSABIT B ON A.STOK_KODU=B.STOK_KODU FULL JOIN
(SELECT S.TARIH,K.GRUP_KODU,H.STOK_KODU,K.STOK_ADI,SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) BAKIYE
FROM TBLSTHAR H INNER JOIN
TBLSTSABIT K ON H.STOK_KODU=K.STOK_KODU INNER JOIN
(select DISTINCT TARIH FROM TBLSAYIM) S ON 1=1
WHERE STHAR_TARIH <= (SELECT DISTINCT TARIH FROM TBLSAYIM) AND H.DEPO_KODU = 1 
GROUP BY S.TARIH,H.DEPO_KODU,K.GRUP_KODU,H.STOK_KODU,K.STOK_ADI
HAVING SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) <> 0) D
ON D.TARIH=A.TARIH AND B.STOK_KODU=D.STOK_KODU
WHERE A.DEPO_KODU = 1
ORDER BY TARIH,GRUP_KODU,STOK_KODU


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


Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 04 Ocak 2012 Saat 16:17
Merhaba, maalesef bu da çalismadi. Extend kullaniyorsaniz, dosyayi gönderebilirim.

-------------
Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.


Mesajı Yazan: mbaykan
Mesaj Tarihi: 04 Ocak 2012 Saat 17:05
extend'i en son 2004 veya 2005 te kullandim.
bana dosya gönderseniz de Netsis kurulu olmadigi için yardimci olamam,
sorgu'yu Netsis kurulu bir sirket'te SQL'den çalistirmayi deneyebilirsiniz.
Ev'deki bilgisayarimda sadece Test Sirketi database'i var sorgum orada çalisiyor.
Girilmis tek sayim var. 2 tane (farkli tarihli) sayimda nasil sonuç verecek
emin degilim.



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


Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 04 Ocak 2012 Saat 17:16

Anliyorum. Ben de sadece Extend'de deneyebiliyorum malesef. Ilgilendiginiz için çok tesekkür ederim. Bir sekilde sonuca ulasabilirsem, dönüs yaparim.

Iyi çalismalar.


-------------
Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.



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