KDV Matrah Raporu - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: KDV Matrah Raporu (/showthread.php?tid=3627) |
KDV Matrah Raporu - OZCANK - 09-05-2019 Arkadaşlar Merhaba; Bir rapor yapmaya çalıştım fakat sonuç yanlış döndürüyor yardımcı olabilir misiniz? Rapor sonucun da çift kayıt dönüyor ve biri doğru diğeri yanlış. Kod şöyle; --ALTER VIEW [dbo].[_FATURAKDV_MATRAH] AS SELECT CASE WHEN STHAR_HTUR IN ('J','L') THEN 'Fatura' ELSE 'BOS' END AS FATURA_TIPI, CASE STHAR_FTIRSIP WHEN '2' THEN ('Alış') WHEN '1' THEN ('Satış') END AS TIPI, CASE FT.TIPI WHEN '1' THEN ('Kapalı Fatura') WHEN '2' THEN ('Açık Fatura') WHEN '3' THEN ('Muhtelif Fatura') WHEN '4' THEN ('İade Fatura') WHEN '5' THEN ('Zayi İade Fatura') END AS FaturaTipi, FT.BRUTTUTAR,CS.CARI_ISIM AS CARI_UNVAN, VERGI_NUMARASI,FISNO AS FUTURA_NO,FT.GENELTOPLAM, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='1' THEN STHAR_GCMIK * STHAR_NF ELSE 0 END) AS MATRAH_KDV1, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='1' THEN (STHAR_GCMIK * STHAR_NF)*0.01 ELSE 0 END) AS TUTAR_KDV1, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='1' THEN 1 ELSE 1 END) AS KDV_ORAN1, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='8' THEN STHAR_GCMIK * STHAR_NF ELSE 0 END) AS MATRAH_KDV8, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='8' THEN (STHAR_GCMIK * STHAR_NF)*0.08 ELSE 0 END) AS TUTAR_KDV8, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='8' THEN 8 ELSE 8 END) AS KDV_ORAN2, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='18' THEN STHAR_GCMIK * STHAR_NF ELSE 0 END) AS MATRAH_KDV18, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='18' THEN (STHAR_GCMIK * STHAR_NF)*0.18 ELSE 0 END) AS TUTAR_KDV18, (CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='18' THEN 18 ELSE 18 END) AS KDV_ORAN3, CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='1' THEN STHAR_GCMIK * STHAR_NF ELSE 0 END + CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='8' THEN STHAR_GCMIK * STHAR_NF ELSE 0 END + CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='18' THEN STHAR_GCMIK * STHAR_NF ELSE 0 END AS TOPLAM FROM TBLSTHAR SH INNER JOIN TBLCASABIT CS ON (SH.STHAR_ACIKLAMA = CS.CARI_KOD) INNER JOIN TBLFATUIRS FT ON (SH.FISNO = FT.FATIRS_NO) WHERE STHAR_HTUR IN ('J','L') AND SH.FISNO='000000000000006' AND STHAR_ACIKLAMA='270' GOdönen sonuc bu şekilde; Fatura Satis Açik Fatura 1107.64000000 ALMALI GIDA 000000000000006 1307.02000000 1370.160000 13.701600 -Yanlış Fatura Satis Açik Fatura 1557.00000000 ALMALI GIDA 000000000000006 1383.86000000 1370.160000 13.701600 -Doğru KDV Matrah Raporu - Abdullah ILGAZ - 09-05-2019 TBLCASABIT tablosundaki açıklama alanında tuttuğunuz değerlerden kaynaklı olabilir mi? Kullandığınız tüm tablolardan ilgili select cümleciği ile verileri toplayıp paylaşırsanız daha sağlıklı olur. Gözüken 2 detay olan bir query sub-query oluşturuyor, formülün ilk seferde hataya düşme sebebi de bu olmalı. Cvp: KDV Matrah Raporu - OZCANK - 10-05-2019 (09-05-2019, Saat: 19:01)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: TBLCASABIT tablosundaki açıklama alanında tuttuğunuz değerlerden kaynaklı olabilir mi? Kullandığınız tüm tablolardan ilgili select cümleciği ile verileri toplayıp paylaşırsanız daha sağlıklı olur. Gözüken 2 detay olan bir query sub-query oluşturuyor, formülün ilk seferde hataya düşme sebebi de bu olmalı. Teşekkür ederim. Not : Bu kodu SQL de deniyorum sonra VIEW yapıp rapor da kullanacam. Aslında STHAR_ACIKLAMA da CARI_KOD tutuluyor onuda değiştirdim; Kod: INNER JOIN TBLCASABIT CS ON (SH.STHAR_CARIKOD = CS.CARI_KOD) KDV Matrah Raporu - FiRewaLL - 10-05-2019 (CASE WHEN STHAR_GCKOD IN ('C','G') Burası yanlış zaten GCKOD da hem 'G' hemde 'C' olmaz ya 'G' olur yada 'C' olur şimdi CASE De 'G' bakacak varsa Onu bir satır yazacak sonra 'C' ye bakacak o da var ona da bir satır yazacak doğal olarak iki satır dönecek. Mantıkta şöyle olur (CASE WHEN STHAR_GCKOD IN ('G') ............ KDV_1 Matrah L Tipi iade tipidir Orada GCKOD 'G' olup HTUR 'L' olursa Satıştan iadeyi TEmsil eder Eğer GCKOD 'C' olup HTUR 'L' olursa Alıştan İadeyi Temsil eder. KDV Matrah Raporu - Tuğrul HELVACI - 10-05-2019 Bana kalırsa join'lerinize bakın. Kaydı çoklayan bir şeyler var. Select ifadesindeki tüm alanları remarklayın ve durumu yeniden paylaşın bizimle. Eğer hâla kayıt birden fazla ise; bu durumda join yaptığınız tabloları join koşullarına göre tek tek incelemeniz gerekiyor. Cvp: KDV Matrah Raporu - OZCANK - 11-05-2019 (09-05-2019, Saat: 19:01)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: TBLCASABIT tablosundaki açıklama alanında tuttuğunuz değerlerden kaynaklı olabilir mi? Kullandığınız tüm tablolardan ilgili select cümleciği ile verileri toplayıp paylaşırsanız daha sağlıklı olur. Gözüken 2 detay olan bir query sub-query oluşturuyor, formülün ilk seferde hataya düşme sebebi de bu olmalı. Üstadım Netsis de kümüle ettiriyorum. Tek kayıt geliyor, bu sefer de % kdv lerin sadece bir tanesini hesaplıyor. Sonuç Beceremedim Cvp: KDV Matrah Raporu - OZCANK - 12-05-2019 Arkadaşlar Merhaba ; SQL Kodunu bu şekilde revize ettim fakat bir türlü ORAN ları eklediğimde tek satırda gösteremedim. Oran kısımları devre dışı bıraktığım da tek satır gösteriyor, Oran ları devreye alınca üç satır a çıkıyor. Nerde yanlışlık yapıyorum bir bakabilir misiniz? SELECT a.KOD2,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,c.VERGI_DAIRESI,c.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T) AS GENEL_ISKonto, a.TIPI,a.GENELTOPLAM, sum(CASE WHEN b.STHAR_KDV='1'THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END ) AS Matrah_KDV1, --(CASE WHEN b.STHAR_KDV='1' THEN '1' ELSE 0 END) AS ORAN1, Sum(CASE WHEN b.STHAR_KDV='8' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV8, --(CASE WHEN b.STHAR_KDV='8' THEN '8' ELSE 0 END) AS ORAN8, Sum(CASE WHEN b.STHAR_KDV='18' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV18, --(CASE WHEN b.STHAR_KDV='18' THEN '18' ELSE 0 END) AS ORAN18, CASE a.TIPI WHEN '1' THEN ('Kapalı Fatura') WHEN '2' THEN ('Açık Fatura') WHEN '3' THEN ('Muhtelif Fatura') WHEN '4' THEN ('İade Fatura') WHEN '5' THEN ('Zayi İade Fatura') End As FATURATIPI, CASE WHEN ozk.OZELKOD=a.KOD2 THEN (ozk.ACIKLAMA) END AS Aciklama FROM (TBLFATUIRS as a inner join TBLSTHAR as b on a.FATIRS_NO = b.FISNO Left Join TBLOZELKOD2 AS ozk on ozk.OZELKOD=a.KOD2) Inner Join TBLCASABIT as c on a.cari_kodu = c.cari_kod Inner Join TBLCASABITEK as CaSek on CaSek.Cari_Kod = c.Cari_Kod WHERE a.FTIRSIP='1' AND b.FISNO='000000000001470' AND STHAR_ACIKLAMA='00098' Group by ozk.ACIKLAMA,ozk.OZELKOD,a.KOD2,a.TIPI,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,C.VERGI_DAIRESI,C.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T), a.geneltoplam --,b.STHAR_KDV KDV Matrah Raporu - FiRewaLL - 13-05-2019 (12-05-2019, Saat: 10:16)OZCANK Adlı Kullanıcıdan Alıntı: Arkadaşlar Merhaba ; SQL Kodunu bu şekilde revize ettim fakat bir türlü ORAN ları eklediğimde tek satırda gösteremedim. Cümleyi Bu Şekilde Değiştirin. Yazdığınız sorguda zaten birden fazla gelmeme gibi bir durum olmaz ama ben bir üstte bu kez aslında 1 satırda kdv si gelip diğer satırda sıfır gelenleri topladım toplamda değişim olmaz SELECT TUM.FATIRS_NO,TUM.KOD2,TUM.GIB_FATIRS_NO,TUM.TARIH,TUM.CARI_ISIM,TUM.VERGI_DAIRESI,TUM.VERGI_NUMARASI ,TUM.TCKIMLIKNO,TUM.BRUTTUTAR,TUM.SAT_ISKT,TUM.GENEL_ISKonto,TUM.TIPI,TUM.GENELTOPLAM,SUM(TUM.Matrah_KDV1) AS Matrah_KDV1 ,SUM(TUM.ORAN1) AS ORAN1,SUM(TUM.Matrah_KDV8) AS Matrah_KDV8 ,SUM(TUM.Matrah_KDV18) AS Matrah_KDV18 ,SUM(TUM.ORAN8) AS ORAN8 ,SUM(TUM.ORAN18) AS ORAN18,TUM.FATURATIPI,TUM.Aciklama FROM ( SELECT a.KOD2,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,c.VERGI_DAIRESI,c.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T) AS GENEL_ISKonto, a.TIPI,a.GENELTOPLAM, sum(CASE WHEN b.STHAR_KDV='1'THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END ) AS Matrah_KDV1, (CASE WHEN b.STHAR_KDV='1' THEN '1' ELSE 0 END) AS ORAN1, Sum(CASE WHEN b.STHAR_KDV='8' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV8, (CASE WHEN b.STHAR_KDV='8' THEN '8' ELSE 0 END) AS ORAN8, Sum(CASE WHEN b.STHAR_KDV='18' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV18, (CASE WHEN b.STHAR_KDV='18' THEN '18' ELSE 0 END) AS ORAN18, CASE a.TIPI WHEN '1' THEN ('Kapalı Fatura') WHEN '2' THEN ('Açık Fatura') WHEN '3' THEN ('Muhtelif Fatura') WHEN '4' THEN ('İade Fatura') WHEN '5' THEN ('Zayi İade Fatura') End As FATURATIPI, CASE WHEN ozk.OZELKOD=a.KOD2 THEN (ozk.ACIKLAMA) END AS Aciklama FROM (TBLFATUIRS as a WITH(NOLOCK) inner join TBLSTHAR as b WITH(NOLOCK) on a.FATIRS_NO = b.FISNO Left Join TBLOZELKOD2 AS ozk on ozk.OZELKOD=a.KOD2) Inner Join TBLCASABIT as c on a.cari_kodu = c.cari_kod Inner Join TBLCASABITEK as CaSek on CaSek.Cari_Kod = c.Cari_Kod WHERE a.FTIRSIP='1' AND b.FISNO='000000000029892' --AND STHAR_ACIKLAMA='00098' Group by ozk.ACIKLAMA ,ozk.OZELKOD,a.KOD2,a.TIPI,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,C.VERGI_DAIRESI,C.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T), a.geneltoplam ,b.STHAR_KDV) AS TUM GROUP BY TUM.FATIRS_NO,TUM.KOD2,TUM.GIB_FATIRS_NO,TUM.TARIH,TUM.CARI_ISIM,TUM.VERGI_DAIRESI,TUM.VERGI_NUMARASI ,TUM.TCKIMLIKNO,TUM.BRUTTUTAR,TUM.SAT_ISKT,TUM.GENEL_ISKonto,TUM.TIPI,TUM.GENELTOPLAM ,TUM.FATURATIPI,TUM.Aciklama Cvp: KDV Matrah Raporu - OZCANK - 13-05-2019 (13-05-2019, Saat: 03:36)FiRewaLL Kardeşim Allah senden razı olsun.Yüreğine sağlık şu ramazan da çok dua aldın benden 3 gündür buna uğraşıyordum. Kod değiştirdiğin gibi çalıştı. Adlı Kullanıcıdan Alıntı:(12-05-2019, Saat: 10:16)OZCANK Adlı Kullanıcıdan Alıntı: Arkadaşlar Merhaba ; SQL Kodunu bu şekilde revize ettim fakat bir türlü ORAN ları eklediğimde tek satırda gösteremedim. KDV Matrah Raporu - FiRewaLL - 13-05-2019 Allah Sizden de razı olsun. İyi Çalışmalar |