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
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 = x --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.
|
|