Aşağıdaki sorgu genel Database içerisinde olmaması gereken veya bir şekilde oluşmuş olan çiftleyen kayıtları gösterir.
Buradan itibaren kopyalayabilirsizini. Fakat kopyalama işleminde bazı karakterler sorun oluşturabilir. Bu durumda ekteki dosyayı indirerek kopyalama işlemini yapabilirsiniz.
/*
{2TOPLAMLAR.[Depo Kodu]”Depo Kodu”}
{5STOK.KODU”Stok Kodu”}
{5STOK.CINSI”Stok Cinsi”}
{5STOK.BIRIM1″Birim”}
{5STOK.ANAGRUP”Ana Grup”}
{5STOK.ALTGRUP”Alt Grup”}
{5STOK.URETICI”Üretici”}
{5STOK.REYON”Reyon”}
{5STOK.SORUMLU”Sorumlu”}
{5STOK.TEDARIKCI”Tedarikçi”}
{8STOK.OZEL_TANIM01″Özel Tanım 1″}
{8STOK.OZEL_TANIM02″Özel Tanım 2″}
{8STOK.OZEL_TANIM03″Özel Tanım 3″}
{8STOK.OZEL_TANIM04″Özel Tanım 4″}
{8STOK.OZEL_TANIM05″Özel Tanım 5″}
{8STOK.OZEL_TANIM06″Özel Tanım 6″}
{8STOK.OZEL_TANIM07″Özel Tanım 7″}
{8STOK.OZEL_TANIM08″Özel Tanım 8″}
{8STOK.OZEL_TANIM09″Özel Tanım 9″}
{8STOK.OZEL_TANIM10″Özel Tanım10″}
*/
SET NOCOUNT ON
DECLARE @ILKTARIH DATETIME
DECLARE @SONTARIH DATETIME
DECLARE @KDVDAHIL NVARCHAR(80)
DECLARE @RAPORLA NVARCHAR(80)
DECLARE @STOKMIKTAR NVARCHAR(80)
DECLARE @BIRIMALIYET NVARCHAR(80)
DECLARE @KAYITDURUMU NVARCHAR(80)
DECLARE @DEVIRTARIH DATETIME
DECLARE @SATILAN NVARCHAR(100)
DECLARE @GRUPLAMA NVARCHAR(11)
DECLARE @KALANENVANTER NVARCHAR(100)
DECLARE @IADESATINALMA NVARCHAR(100)
DECLARE @IADESATIS NVARCHAR(100)
DECLARE @KONTROL NVARCHAR(100)
SET @ILKTARIH = :”İlk Tarih”
SET @SONTARIH = :”Son Tarih”
SET @KDVDAHIL = :”Kdv Şekli”
SET @RAPORLA = :”Raporlama Dövizi”
SET @STOKMIKTAR= :”Stok Miktarı” — <Hepsi,Pozitif,Negatif,Mıktarsız
SET @BIRIMALIYET=:”Birim Maliyet” — <Hepsi,Maliyetli,Maliyetsiz
SET @KAYITDURUMU =:”Kullanım Durumu” —-<Hepsi,Aktif,Pasif
SET @SATILAN = :”Çıkış Maliyet Hesaplansın” —-<Evet,Hayır
SET @GRUPLAMA =:”Depolara Göre Grupla”
SET @KALANENVANTER =:”Kalan Envanter Hesaplama Şekli”
SET @IADESATINALMA =:”Karlılıkta İade Satınalma Düşülsün”
SET @IADESATIS =:”Karlılıkta İade Satışlar Eklensin”
SET @KONTROL =:”Giriş Toplamı İle Çıkış Maliyeti Fark Kontrolü Yapılsın” —<Evet,Hayır
DECLARE @MALIYET NVARCHAR(100)
SET @MALIYET=:Yontem
If(OBJECT_ID(‘tempdb..#KALANDEVIR’) Is Not Null)
Begin
Drop Table #KALANDEVIR
End;
CREATE TABLE #KALANDEVIR
(
ID INT,
FIRMA_KODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
SUBE_KODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
DEPO NVARCHAR(30) COLLATE TURKISH_CI_AS,
STOKKODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
STOKADI NVARCHAR(500) COLLATE TURKISH_CI_AS,
KDVHARICTLMALIYET FLOAT,
KDVDAHILTLMALIYET FLOAT,
KDVHARICRDMALIYET FLOAT,
KDVDAHILRDMALIYET FLOAT,
USDKUR FLOAT,
EUROKUR FLOAT
);
CREATE CLUSTERED INDEX IX_#KALANDEVIR_01 ON #KALANDEVIR (ID)
CREATE NONCLUSTERED INDEX IX_#KALANDEVIR_02 ON #KALANDEVIR(STOKKODU,SUBE_KODU,DEPO,FIRMA_KODU)
If(OBJECT_ID(‘tempdb..#KALANENVANTER’) Is Not Null)
Begin
Drop Table #KALANENVANTER
End;
CREATE TABLE #KALANENVANTER
(
ID INT,
FIRMA_KODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
SUBE_KODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
DEPO NVARCHAR(30) COLLATE TURKISH_CI_AS,
STOKKODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
STOKADI NVARCHAR(500) COLLATE TURKISH_CI_AS,
KDVHARICTLMALIYET FLOAT,
KDVDAHILTLMALIYET FLOAT,
KDVHARICRDMALIYET FLOAT,
KDVDAHILRDMALIYET FLOAT,
USDKUR FLOAT,
EUROKUR FLOAT
);
CREATE CLUSTERED INDEX IX_#KALANENVANTER_01 ON #KALANENVANTER (ID)
CREATE NONCLUSTERED INDEX IX_#KALANENVANTER_02 ON #KALANENVANTER(STOKKODU,SUBE_KODU,DEPO)
If(OBJECT_ID(‘tempdb..#IADEMALIYET’) Is Not Null)
Begin
Drop Table #IADEMALIYET
End;
CREATE TABLE #IADEMALIYET
(
COUNTER INT,
FCOUNTER INT,
ECOUNTER INT,
FIRMA_KODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
SUBE_KODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
DEPO NVARCHAR(30) COLLATE TURKISH_CI_AS,
STOKKODU NVARCHAR(50) COLLATE TURKISH_CI_AS,
KDVHARICTLMALIYET FLOAT,
KDVDAHILTLMALIYET FLOAT,
KDVHARICRDMALIYET FLOAT,
KDVDAHILRDMALIYET FLOAT,
MODUL NVARCHAR(100) COLLATE TURKISH_CI_AS,
ISLEM NVARCHAR(100) COLLATE TURKISH_CI_AS,
MIKTAR FLOAT,
NORMALIADE INT
);
CREATE CLUSTERED INDEX IX_#KALANDEVIR_01 ON #IADEMALIYET (COUNTER)
CREATE NONCLUSTERED INDEX IX_#KALANDEVIR_02 ON #IADEMALIYET(STOKKODU,SUBE_KODU,DEPO,FIRMA_KODU)
INSERT INTO #IADEMALIYET
SELECT
COUNTER,FCOUNTER,ECOUNTER,FIRMA_KODU,SUBE_KODU,DEPO,KODU,KDVHARICTLMALIYET,KDVDAHILTLMALIYET,KDVHARICRDMALIYET,KDVDAHILRDMALIYET,MODUL,ISLEM,MIKTAR,NORMALIADE
FROM BV_IADE
WHERE TARIH BETWEEN @ILKTARIH AND @SONTARIH AND ISLEM LIKE ‘%Satınalma%’
SET @MALIYET=(select TOP 1 KISAAD FROM MALIYETYONTEM WHERE UZUNAD=@MALIYET)
DECLARE @DEGER INT
INSERT INTO RAPOR_CALISMA (BASLANGIC)
VALUES (cast(GETDATE() as SmallDateTime))
SELECT @DEGER=SCOPE_IDENTITY()
INSERT INTO FILTER_STOK (NEWID_,KODU)
SELECT @DEGER,KODU
FROM
(
SELECT STOKKODU AS KODU,
(SELECT STOK.CINSI FROM STOK WHERE STOK.KODU =TMP.STOKKODU)CINSI,
(SELECT STOK.BIRIM1 FROM STOK WHERE STOK.KODU =TMP.STOKKODU)BIRIM1,
(SELECT STOK.ANAGRUP FROM STOK WHERE STOK.KODU =TMP.STOKKODU)ANAGRUP,
(SELECT STOK.ALTGRUP FROM STOK WHERE STOK.KODU =TMP.STOKKODU)ALTGRUP,
(SELECT STOK.URETICI FROM STOK WHERE STOK.KODU =TMP.STOKKODU)URETICI,
(SELECT STOK.REYON FROM STOK WHERE STOK.KODU =TMP.STOKKODU)REYON,
(SELECT STOK.SORUMLU FROM STOK WHERE STOK.KODU =TMP.STOKKODU)SORUMLU,
(SELECT STOK.TEDARIKCI FROM STOK WHERE STOK.KODU =TMP.STOKKODU)TEDARIKCI
FROM StokHareketDetay TMP
WHERE TMP.TARIH<=@SONTARIH
) AS STOK
WHERE 5=5
GROUP BY KODU
SET @DEVIRTARIH = DATEADD(DAY,-1,@ILKTARIH)
—- Devir Bilgilerini Alma
INSERT INTO #KALANDEVIR
EXECUTE Sp_Envanter_Lıstele @DEVIRTARIH,@MALIYET,@DEGER,’Özet’
—- Kalan Bilgilerini Alma
INSERT INTO #KALANENVANTER
EXECUTE Sp_Envanter_Lıstele @SONTARIH,@MALIYET,@DEGER,’Özet’
If(OBJECT_ID(‘tempdb..#STOK_MALIYET’) Is Not Null) Begin Drop Table #STOK_MALIYET End
CREATE TABLE #STOK_MALIYET
(
NEWID_ INT,
STOKHAR INT,
FCOUNTER INT,
ECOUNTER INT,
MODUL NVARCHAR(60) COLLATE TURKISH_CI_AS,
FIRMA_KODU INT,
SUBE_KODU INT,
DEPO NVARCHAR(60) COLLATE TURKISH_CI_AS,
STOKKODU NVARCHAR(60) COLLATE TURKISH_CI_AS,
KDVHARICTLMALIYET FLOAT,
KDVDAHILTLMALIYET FLOAT,
KDVHARICRDMALIYET FLOAT,
KDVDAHILRDMALIYET FLOAT,
USDKUR FLOAT,
EUROKUR FLOAT,
CIKISMODUL NVARCHAR(50) COLLATE TURKISH_CI_AS,
CIKISISLEM NVARCHAR(100) COLLATE TURKISH_CI_AS,
MIKTAR FLOAT,
NORMALIADE INT
)
CREATE CLUSTERED INDEX IX_#STOK_MALIYET_01 ON #STOK_MALIYET (NEWID_)
CREATE NONCLUSTERED INDEX IX_#STOK_MALIYET_02 ON #STOK_MALIYET (FCOUNTER,ECOUNTER)
CREATE NONCLUSTERED INDEX IX_#STOK_MALIYET_03 ON #STOK_MALIYET (MODUL)
IF @SATILAN=’Evet’
BEGIN
INSERT INTO #STOK_MALIYET
EXECUTE dbo.Sp_Maliyet_Al @ILKTARIH,@SONTARIH,@MALIYET,@DEGER ,’Özet’
END
If(OBJECT_ID(‘tempdb..#CIKIS_HASILAT’) Is Not Null) Begin Drop Table #CIKIS_HASILAT End
SELECT STOKKODU,DEPO,sum(MIKTAR*
CASE WHEN @KDVDAHIL = ‘Hariç’ and @RAPORLA = ‘Hayır’ then KDVHARICTLMALIYET
WHEN @KDVDAHIL = ‘Hariç’ and @RAPORLA = ‘Evet’ then KDVHARICRDMALIYET
WHEN @KDVDAHIL = ‘Dahil’ and @RAPORLA = ‘Hayır’ then KDVDAHILTLMALIYET
WHEN @KDVDAHIL = ‘Dahil’ and @RAPORLA = ‘Evet’ then KDVDAHILRDMALIYET
END
) CIKISMALIYET ,CIKISISLEM,NORMALIADE
INTO #CIKIS_HASILAT
FROM #STOK_MALIYET
GROUP BY STOKKODU,DEPO,CIKISISLEM,NORMALIADE
CREATE CLUSTERED INDEX IX_#CIKIS_HASILAT ON #CIKIS_HASILAT (STOKKODU,DEPO,CIKISISLEM)
SELECT [Depo Kodu],
[Depo Adı],
[Ana Grup Kodu],
[Ana Grup Adı],
ISNULL(SUM([Devir Miktar]),0) AS [Devir Miktar],
DBO.fn_bolme(SUM([Devir Tutarı]),SUM([Devir Miktar])) [Devir Birim Maliyet],
SUM([Devir Tutarı]) [Devir Tutarı],
SUM([Giren Miktar]) [Giren Miktar],
SUM([Giren Tutar]) [Giren Tutar],
SUM([Satınalma Miktarı]) [Satınalma Miktarı],
SUM([Satınalma Tutarı]) [Satınalma Tutarı],
SUM([İade Satış Miktarı]) [İade Satış Miktarı],
SUM([İade Satış Tutarı]) [İade Satış Tutarı],
SUM([İade Satış Maliyeti]) [İade Satış Maliyeti],
SUM([Net Satınalma Miktarı]) [Net Satınalma Miktarı],
SUM([Net Satınalma Tutarı]) [Net Satınalma Tutarı],
SUM([Giriş Fişi Miktarı]) [Giriş Fişi Miktarı],
SUM([Giriş Fişi Tutarı]) [Giriş Fişi Tutarı],
SUM([Çıkış Fişi Miktarı]) [Çıkış Fişi Miktarı] ,
SUM([Çıkış Fişi Tutarı]) [Çıkış Fişi Tutarı],
SUM([Çıkış Fişi Maliyeti]) [Çıkış Fişi Maliyeti],
SUM([Tüketim Fişi Miktarı])[Tüketim Fişi Miktarı],
SUM([Tüketim Fişi Tutarı]) [Tüketim Fişi Tutarı],
SUM([Tüketim Fişi Maliyeti]) [Tüketim Fişi Maliyeti],
SUM([Fire Fişi Miktarı]) [Fire Fişi Miktarı],
SUM([Fire Fişi Tutarı]) [Fire Fişi Tutarı],
SUM([Fire Fişi Maliyeti]) [Fire Fişi Maliyeti],
SUM([Depo Sevk Giriş Fişi Miktarı]) [Depo Sevk Giriş Fişi Miktarı] ,
SUM([Depo Sevk Giriş Fişi Tutar]) [Depo Sevk Giriş Fişi Tutar],
SUM([Depo Sevk Çıkış Fişi Miktarı]) [Depo Sevk Çıkış Fişi Miktarı],
SUM([Depo Sevk Çıkış Fişi Tutarı]) [Depo Sevk Çıkış Fişi Tutarı],
SUM([Satış Miktarı]) [Satış Miktarı],
SUM([Satış Tutarı]) [Satış Tutarı],
SUM([Satış Maliyeti]) [Satış Maliyeti],
SUM([İade Satınalma Miktarı]) [İade Satınalma Miktarı],
SUM([İade Satınalma Tutarı]) [İade Satınalma Tutarı],
SUM([İade Satınalma Maliyeti]) AS [İade Satınalma Maliyeti],
SUM([Net Satış Miktarı]) AS [Net Satış Miktarı],
SUM([Net Satış Tutarı]) AS [Net Satış Tutarı],
SUM([Çıkan Miktar]) AS [Çıkan Miktar],
SUM([Çıkan Tutar]) AS [Çıkan Tutar],
SUM([Çıkış Maliyeti]) AS [Çıkış Maliyeti],
SUM([Envanter Miktar]) AS [Envanter Miktar] ,
dbo.fn_Bolme(SUM([Envanter Maliyeti]),SUM([Envanter Miktar])) AS [Envanter Brim Maliyet],
SUM([Envanter Maliyeti]) [Envanter Maliyeti],
SUM([Satış Maliyeti Net]) [Satış Maliyeti Net],
SUM([Satış Karı]) [Satış Kar(+) / Zarar(-)]
FROM (
SELECT
TOPLAMLAR.[Depo Kodu] as [Depo Kodu],
TOPLAMLAR.[Depo Adı],
STOK.KODU AS [Stok Kodu],
CASE WHEN ISNULL(stok.AKTIF,0)=1 THEN ‘Aktif’ ELSE ‘Pasif’ end [Aktif / Pasif],
STOK.ADI AS [Adı 1],
STOK.ADI2 AS [Adı 2],
STOK.ACIKLAMA1 AS [Açıklama 1],
STOK.ACIKLAMA2 AS [Açıklama 2],
STOK.ACIKLAMA3 AS [Açıklama 3],
STOK.ACIKLAMA4 AS [Açıklama 4],
STOK.BIRIM1 AS [Ana Birim],
CASE WHEN ISNULL(STOK.ANAGRUP,”)=” THEN ‘Tanımsız’ else ISNULL(STOK.ANAGRUP,”) END AS [Ana Grup Kodu],
ISNULL((SELECT ANAGRUP.ADI FROM STOK_ANA_GRUP AS ANAGRUP WITH(NOLOCK) WHERE ANAGRUP.KODU = STOK.ANAGRUP),”) AS [Ana Grup Adı],
CASE WHEN ISNULL(STOK.ALTGRUP,”)= ” THEN ‘Tanımsız’ else ISNULL(STOK.ALTGRUP,”) end AS [Alt Grup Kodu],
ISNULL((SELECT ALTGRUP.ADI FROM STOK_ALT_GRUP AS ALTGRUP WITH(NOLOCK) WHERE ALTGRUP.KODU = STOK.ALTGRUP AND STOK.ANAGRUP=ALTGRUP.ANAGRUP) ,”) AS [Alt Grup Adı],
CASE WHEN ISNULL(STOK.URETICI,”)=” THEN ‘Tanımsız’ else ISNULL(STOK.URETICI,”) end AS [Üretici Kodu],
ISNULL((SELECT URETICI.ADI FROM STOK_URETICI AS URETICI WITH(NOLOCK) WHERE URETICI.KODU = STOK.URETICI ) ,”) AS [Üretici Adı],
case WHEN ISNULL(STOK.REYON,”)=” THEN ‘Tanımsız’ else ISNULL(STOK.REYON,”) end AS [Reyon Kodu],
ISNULL((SELECT REYON.ADI FROM STOK_REYON AS REYON WITH(NOLOCK) WHERE REYON.KODU = STOK.REYON),”) AS [Reyon Adı],
case when ISNULL(STOK.SORUMLU,”)=” then ‘Tanımsız’ else ISNULL(STOK.SORUMLU,”) end AS [Personel Kodu],
ISNULL((SELECT TOP 1 PERSONEL.ADI FROM PERSONEL WITH(NOLOCK) WHERE PERSONEL.KODU = STOK.SORUMLU) ,”) AS [Personel Adı],
case when ISNULL(STOK.TEDARIKCI,”)=” then ‘Tanımsız’ else ISNULL(STOK.TEDARIKCI,”) end AS [Cari Kodu],
ISNULL((SELECT TOP 1 CARI.ADI FROM CARI WITH(NOLOCK) WHERE CARI.KODU = STOK.TEDARIKCI ) ,”) AS [Cari Adı],
case when ISNULL(STOK.SEZON,”)=” then ‘Tanımsız’ else ISNULL(STOK.SEZON,”) end AS [Sezon Kodu],
ISNULL((SELECT TOP 1 SEZON.ADI FROM SEZON WITH(NOLOCK) WHERE SEZON.KODU = STOK.SEZON),”) AS [Sezon Adı],
ISNULL((SELECT TOP 1 BARKOD.BARKODNO FROM STOK_BARKOD AS BARKOD WITH(NOLOCK) WHERE BARKOD.STOK = STOK.KODU ORDER BY BARKOD.BARKODNO DESC),”)AS [Barkod],
ISNULL(STOK.OZELKOD1,”) AS [Özel Kod 1],
ISNULL(STOK.OZELKOD2,”) AS [Özel Kod 2],
ISNULL(STOK.OZELKOD3,”) AS [Özel Kod 3],
ISNULL(STOK.OZELKOD4,”) AS [Özel Kod 4],
ISNULL(STOK.OZEL_TANIM01,”) AS [Özel Tanım 1 Kodu],
ISNULL((SELECT TANIM1.ADI FROM OZEL_TANIM AS TANIM1 WITH(NOLOCK) WHERE TANIM1.KODU = STOK.OZEL_TANIM01 AND TANIM1.MODUL = ‘STOK’ AND TANIM1.SIRA=1 ),”) AS [Özel Tanım 1 Adı],
ISNULL(STOK.OZEL_TANIM02,”) AS [Özel Tanım 2 Kodu],
ISNULL((SELECT TANIM2.ADI FROM OZEL_TANIM AS TANIM2 WITH(NOLOCK) WHERE TANIM2.KODU = STOK.OZEL_TANIM02 AND TANIM2.MODUL = ‘STOK’ AND TANIM2.SIRA=2 ) ,”) AS [Özel Tanım 2 Adı],
ISNULL(STOK.OZEL_TANIM03,”) AS [Özel Tanım 3 Kodu],
ISNULL((SELECT TANIM3.ADI FROM OZEL_TANIM AS TANIM3 WITH(NOLOCK) WHERE TANIM3.KODU = STOK.OZEL_TANIM03 AND TANIM3.MODUL = ‘STOK’ AND TANIM3.SIRA=3 ) ,”) AS [Özel Tanım 3 Adı],
ISNULL(STOK.OZEL_TANIM04,”) AS [Özel Tanım 4 Kodu],
ISNULL((SELECT TANIM4.ADI FROM OZEL_TANIM AS TANIM4 WITH(NOLOCK) WHERE TANIM4.KODU = STOK.OZEL_TANIM04 AND TANIM4.MODUL = ‘STOK’ AND TANIM4.SIRA=4 ) ,”) AS [Özel Tanım 4 Adı],
ISNULL(STOK.OZEL_TANIM05,”) AS [Özel Tanım 5 Kodu],
ISNULL((SELECT TANIM5.ADI FROM OZEL_TANIM AS TANIM5 WITH(NOLOCK) WHERE TANIM5.KODU = STOK.OZEL_TANIM05 AND TANIM5.MODUL = ‘STOK’ AND TANIM5.SIRA=5 ) ,”)AS [Özel Tanım 5 Adı],
ISNULL(STOK.OZEL_TANIM06,”) AS [Özel Tanım 6 Kodu],
ISNULL((SELECT TANIM6.ADI FROM OZEL_TANIM AS TANIM6 WITH(NOLOCK) WHERE TANIM6.KODU = STOK.OZEL_TANIM06 AND TANIM6.MODUL = ‘STOK’ AND TANIM6.SIRA=6 ) ,”) AS [Özel Tanım 6 Adı],
ISNULL(STOK.OZEL_TANIM07,”) AS [Özel Tanım 7 Kodu],
ISNULL((SELECT TANIM7.ADI FROM OZEL_TANIM AS TANIM7 WITH(NOLOCK) WHERE TANIM7.KODU = STOK.OZEL_TANIM07 AND TANIM7.MODUL = ‘STOK’ AND TANIM7.SIRA=7 ) ,”) AS [Özel Tanım 7 Adı],
ISNULL(STOK.OZEL_TANIM08,”) AS [Özel Tanım 8 Kodu],
ISNULL((SELECT TANIM8.ADI FROM OZEL_TANIM AS TANIM8 WITH(NOLOCK) WHERE TANIM8.KODU = STOK.OZEL_TANIM08 AND TANIM8.MODUL = ‘STOK’ AND TANIM8.SIRA=8 ) ,”) AS [Özel Tanım 8 Adı],
ISNULL(STOK.OZEL_TANIM09,”) AS [Özel Tanım 9 Kodu],
ISNULL((SELECT TANIM9.ADI FROM OZEL_TANIM AS TANIM9 WITH(NOLOCK) WHERE TANIM9.KODU = STOK.OZEL_TANIM09 AND TANIM9.MODUL = ‘STOK’ AND TANIM9.SIRA=9 ) ,”) AS [Özel Tanım 9 Adı],
ISNULL(STOK.OZEL_TANIM10,”) AS [Özel Tanım 10 Kodu],
ISNULL((SELECT TANIM10.ADI FROM OZEL_TANIM AS TANIM10 WITH(NOLOCK) WHERE TANIM10.KODU = STOK.OZEL_TANIM10 AND TANIM10.MODUL = ‘STOK’ AND TANIM10.SIRA=10 ) ,”) AS [Özel Tanım 10 Adı],
TOPLAMLAR.[Devir Miktar],
TOPLAMLAR.[Devir Birim Maliyet],
CASE WHEN TOPLAMLAR.[Devir Miktar]>0 THEN TOPLAMLAR.[Devir Tutarı] ELSE 0 END AS [Devir Tutarı],
TOPLAMLAR.[Giren Miktar],
TOPLAMLAR.[Giren Tutar],
TOPLAMLAR.[Satınalma Miktarı],
TOPLAMLAR.[Satınalma Tutarı],
TOPLAMLAR.[İade Satış Miktarı],
TOPLAMLAR.[İade Satış Tutarı],
TOPLAMLAR.[İade Satış Maliyeti],
TOPLAMLAR.[Satınalma Miktarı]-TOPLAMLAR.[İade Satış Miktarı] as [Net Satınalma Miktarı],
TOPLAMLAR.[Satınalma Tutarı]-TOPLAMLAR.[İade Satış Tutarı] as [Net Satınalma Tutarı],
TOPLAMLAR.[Giriş Fişi Miktarı],
TOPLAMLAR.[Giriş Fişi Tutarı],
TOPLAMLAR.[Çıkış Fişi Miktarı],
TOPLAMLAR.[Çıkış Fişi Tutarı],
TOPLAMLAR.[Çıkış Fişi Maliyeti],
TOPLAMLAR.[Tüketim Fişi Miktarı],
TOPLAMLAR.[Tüketim Fişi Tutarı],
TOPLAMLAR.[Tüketim Fişi Maliyeti],
TOPLAMLAR.[Fire Fişi Miktarı],
TOPLAMLAR.[Fire Fişi Tutarı],
TOPLAMLAR.[Fire Fişi Maliyeti],
TOPLAMLAR.[Depo Sevk Giriş Fişi Miktarı],
TOPLAMLAR.[Depo Sevk Giriş Fişi Tutar],
TOPLAMLAR.[Depo Sevk Çıkış Fişi Miktarı],
TOPLAMLAR.[Depo Sevk Çıkış Fişi Tutarı],
TOPLAMLAR.[Satış Miktarı],
TOPLAMLAR.[Satış Tutarı],
TOPLAMLAR.[Satış Maliyeti],
TOPLAMLAR.[İade Satınalma Miktarı],
TOPLAMLAR.[İade Satınalma Tutarı],
TOPLAMLAR.[İade Satınalma Maliyeti],
TOPLAMLAR.[Net Satış Miktarı],
TOPLAMLAR.[Net Satış Tutarı],
TOPLAMLAR.[Çıkan Miktar],
TOPLAMLAR.[Çıkan Tutar],
CASE WHEN @KALANENVANTER = ‘Hareketlerden’ THEN TOPLAMLAR.[Çıkış Maliyeti]
WHEN @KALANENVANTER = ‘Toplamlardan’ THEN ((ISNULL(TOPLAMLAR.[Devir Tutarı],0)+ISNULL(TOPLAMLAR.[Giren Tutar],0))-ISNULL(TOPLAMLAR.[Envanter Maliyeti],0))
ELSE 0 END AS [Çıkış Maliyeti],
TOPLAMLAR.[Envanter Miktar],
TOPLAMLAR.[Envanter Brim Maliyet] AS [Envanter Brim Maliyet],
CASE WHEN TOPLAMLAR.[Envanter Miktar]>0 THEN TOPLAMLAR.[Envanter Maliyeti] ELSE 0 END [Envanter Maliyeti],
ISNULL(TOPLAMLAR.[Satış Maliyeti],0)-ISNULL(TOPLAMLAR.[İade Satınalma Maliyeti],0)AS [Satış Maliyeti Net],
((TOPLAMLAR.[Satış Tutarı]-ISNULL(TOPLAMLAR.[Satış Maliyeti],0))+ (CASE WHEN @IADESATIS= ‘Evet’ then (TOPLAMLAR.[İade Satış Tutarı]-ISNULL(TOPLAMLAR.[İade Satış Maliyeti],0)) else 0 end ))- (case when @IADESATINALMA = ‘Evet’ then (ISNULL(TOPLAMLAR.[İade Satınalma Maliyeti],0)-TOPLAMLAR.[İade Satınalma Tutarı]) else 0 end ) [Satış Karı]
FROM STOK WITH(NOLOCK)
INNER JOIN
(
SELECT
[Stok Kodu],
case when @GRUPLAMA = ‘Hayır’ then [Depo Kodu] else ‘Tüm Depo’ end as [Depo Kodu],
case when @GRUPLAMA = ‘Hayır’ then [Depo Adı] else ‘Tüm Depo’ end as [Depo Adı],
SUM(TMP.[Devir Miktar]) AS [Devir Miktar],
DBO.FN_BOLME(SUM(TMP.[Devir Miktar]*TMP.[Devir Birim Maliyet]),SUM(TMP.[Devir Miktar])) [Devir Birim Maliyet],
SUM(TMP.[Devir Miktar]*TMP.[Devir Birim Maliyet])[Devir Tutarı],
SUM(TMP.[Giren Miktar]) [Giren Miktar],
SUM(TMP.[Giren Tutar]) [Giren Tutar],
SUM(TMP.[Satınalma Miktarı]) [Satınalma Miktarı],
SUM(TMP.[Satınalma Tutarı]) [Satınalma Tutarı],
SUM(TMP.[İade Satış Miktarı]) [İade Satış Miktarı],
SUM(TMP.[İade Satış Tutarı]) [İade Satış Tutarı],
SUM([İade Satış Maliyeti]) [İade Satış Maliyeti],
SUM(TMP.[Satınalma Miktarı]-TMP.[İade Satış Miktarı]) as [Net Satınalma Miktarı],
SUM(TMP.[Satınalma Tutarı]-TMP.[İade Satış Tutarı]) as [Net Satınalma Tutarı],
SUM(TMP.[Giriş Fişi Miktarı]) [Giriş Fişi Miktarı],
SUM(TMP.[Giriş Fişi Tutarı]) [Giriş Fişi Tutarı],
SUM(TMP.[Çıkış Fişi Miktarı]) [Çıkış Fişi Miktarı],
SUM(TMP.[Çıkış Fişi Tutarı]) [Çıkış Fişi Tutarı],
SUM(TMP.[Çıkış Fişi Maliyeti]) AS [Çıkış Fişi Maliyeti],
SUM(TMP.[Tüketim Fişi Miktarı]) [Tüketim Fişi Miktarı],
SUM(TMP.[Tüketim Fişi Tutarı]) [Tüketim Fişi Tutarı],
SUM(TMP.[Tüketim Fişi Maliyeti]) AS [Tüketim Fişi Maliyeti],
SUM(TMP.[Fire Fişi Miktarı]) [Fire Fişi Miktarı],
SUM(TMP.[Fire Fişi Tutarı])[Fire Fişi Tutarı],
SUM(TMP.[Fire Fişi Maliyeti]) AS [Fire Fişi Maliyeti],
SUM(TMP.[Depo Sevk Giriş Fişi Miktarı]) [Depo Sevk Giriş Fişi Miktarı],
SUM(TMP.[Depo Sevk Giriş Fişi Tutar]) [Depo Sevk Giriş Fişi Tutar],
SUM(TMP.[Depo Sevk Çıkış Fişi Miktarı]) [Depo Sevk Çıkış Fişi Miktarı],
SUM(TMP.[Depo Sevk Çıkış Fişi Tutarı]) [Depo Sevk Çıkış Fişi Tutarı],
SUM(TMP.[Satış Miktarı]) [Satış Miktarı],
SUM(TMP.[Satış Tutarı]) [Satış Tutarı],
SUM(TMP.[Satış Maliyeti]) [Satış Maliyeti],
SUM(TMP.[İade Satınalma Miktarı]) [İade Satınalma Miktarı],
SUM(TMP.[İade Satınalma Tutarı]) [İade Satınalma Tutarı] ,
SUM(TMP.[İade Satınalma Maliyeti]) AS [İade Satınalma Maliyeti],
SUM(TMP.[Satış Miktarı]- TMP.[İade Satınalma Miktarı]) as [Net Satış Miktarı],
SUM(TMP.[Satış Tutarı]- TMP.[İade Satınalma Maliyeti]) as [Net Satış Tutarı],
SUM(TMP.[Çıkan Miktar]) [Çıkan Miktar],
SUM(TMP.[Çıkan Tutar]) [Çıkan Tutar],
SUM(TMP.[Çıkış Maliyeti]) [Çıkış Maliyeti],
SUM(TMP.[Envanter Miktar]) [Envanter Miktar],
dbo.fn_bolme(SUM(TMP.[Envanter Miktar]*TMP.[Envanter Brim Maliyet]),SUM(TMP.[Envanter Miktar])) [Envanter Brim Maliyet],
SUM(TMP.[Envanter Miktar]*TMP.[Envanter Brim Maliyet]) [Envanter Maliyeti]
FROM
(
SELECT
[Stok Kodu],
[Depo Kodu],
[Depo Adı],
SUM(TOPLAMLAR.[Devir Miktar]) AS [Devir Miktar],
(
SELECT CASE WHEN @KDVDAHIL = ‘Hariç’ and @RAPORLA = ‘Hayır’ then ISNULL(KDVHARICTLMALIYET,0)
WHEN @KDVDAHIL = ‘Hariç’ and @RAPORLA = ‘Evet’ then ISNULL(KDVHARICRDMALIYET,0)
WHEN @KDVDAHIL = ‘Dahil’ and @RAPORLA = ‘Hayır’ then ISNULL(KDVDAHILTLMALIYET,0)
WHEN @KDVDAHIL = ‘Dahil’ and @RAPORLA = ‘Evet’ then ISNULL(KDVDAHILRDMALIYET,0)
END BIRIMMALIYET
FROM #KALANDEVIR AS DEVIRENVANTER WHERE DEVIRENVANTER.STOKKODU =TOPLAMLAR.[Stok Kodu] AND DEVIRENVANTER.DEPO =TOPLAMLAR.[Depo Kodu] ) AS [Devir Birim Maliyet],
SUM(TOPLAMLAR.[Giren Miktar]) [Giren Miktar],
SUM(TOPLAMLAR.[Giren Tutar]) [Giren Tutar],
SUM(TOPLAMLAR.[Satınalma Miktarı]) [Satınalma Miktarı],
SUM(TOPLAMLAR.[Satınalma Tutarı]) [Satınalma Tutarı],
SUM(TOPLAMLAR.[İade Satış Miktarı]) [İade Satış Miktarı],
SUM(TOPLAMLAR.[İade Satış Tutarı]) [İade Satış Tutarı],
ISNULL((SELECT SUM(CIKISMALIYET) FROM #CIKIS_HASILAT T WHERE CIKISISLEM LIKE ‘%Satış%’ and T.STOKKODU = TOPLAMLAR.[Stok Kodu] and T.DEPO = TOPLAMLAR.[Depo Kodu] and NORMALIADE=1),0) [İade Satış Maliyeti],
SUM(TOPLAMLAR.[Satınalma Miktarı]-TOPLAMLAR.[İade Satış Miktarı]) as [Net Satınalma Miktarı],
SUM(TOPLAMLAR.[Satınalma Tutarı]-TOPLAMLAR.[İade Satış Tutarı]) as [Net Satınalma Tutarı],
SUM(TOPLAMLAR.[Giriş Fişi Miktarı]) [Giriş Fişi Miktarı],
SUM(TOPLAMLAR.[Giriş Fişi Tutarı]) [Giriş Fişi Tutarı],
SUM(TOPLAMLAR.[Çıkış Fişi Miktarı]) [Çıkış Fişi Miktarı],
SUM(TOPLAMLAR.[Çıkış Fişi Tutarı]) [Çıkış Fişi Tutarı],
ISNULL((SELECT SUM(CIKISMALIYET) FROM #CIKIS_HASILAT T WHERE CIKISISLEM = ‘Çıkış Fişi’ and T.STOKKODU = TOPLAMLAR.[Stok Kodu] and T.DEPO = TOPLAMLAR.[Depo Kodu] ),0) [Çıkış Fişi Maliyeti],
SUM(TOPLAMLAR.[Tüketim Fişi Miktarı]) [Tüketim Fişi Miktarı],
SUM(TOPLAMLAR.[Tüketim Fişi Tutarı]) [Tüketim Fişi Tutarı],
ISNULL((SELECT SUM(CIKISMALIYET) FROM #CIKIS_HASILAT T WHERE CIKISISLEM LIKE ‘%Tüketim Fişi%’ and T.STOKKODU = TOPLAMLAR.[Stok Kodu] and T.DEPO = TOPLAMLAR.[Depo Kodu] ),0) [Tüketim Fişi Maliyeti],
SUM(TOPLAMLAR.[Fire Fişi Miktarı]) [Fire Fişi Miktarı],
SUM(TOPLAMLAR.[Fire Fişi Tutarı])[Fire Fişi Tutarı],
ISNULL((SELECT SUM(CIKISMALIYET) FROM #CIKIS_HASILAT T WHERE CIKISISLEM LIKE ‘%Fire Fişi%’ and T.STOKKODU = TOPLAMLAR.[Stok Kodu] and T.DEPO = TOPLAMLAR.[Depo Kodu] ),0) [Fire Fişi Maliyeti],
SUM(TOPLAMLAR.[Depo Sevk Giriş Fişi Miktarı]) [Depo Sevk Giriş Fişi Miktarı],
SUM(TOPLAMLAR.[Depo Sevk Giriş Fişi Tutar]) [Depo Sevk Giriş Fişi Tutar],
SUM(TOPLAMLAR.[Depo Sevk Çıkış Fişi Miktarı]) [Depo Sevk Çıkış Fişi Miktarı],
SUM(TOPLAMLAR.[Depo Sevk Çıkış Fişi Tutarı]) [Depo Sevk Çıkış Fişi Tutarı],
SUM(TOPLAMLAR.[Satış Miktarı]) [Satış Miktarı],
SUM(TOPLAMLAR.[Satış Tutarı]) [Satış Tutarı],
ISNULL((SELECT SUM(CIKISMALIYET) FROM #CIKIS_HASILAT T WHERE CIKISISLEM LIKE ‘%Satış%’ and T.STOKKODU = TOPLAMLAR.[Stok Kodu] and T.DEPO = TOPLAMLAR.[Depo Kodu] and NORMALIADE=0),0) [Satış Maliyeti],
SUM(TOPLAMLAR.[İade Satınalma Miktarı]) [İade Satınalma Miktarı],
SUM(TOPLAMLAR.[İade Satınalma Tutarı]) [İade Satınalma Tutarı] ,
SUM(TOPLAMLAR.[İade Satınalma Maliyeti]) [İade Satınalma Maliyeti],
SUM(TOPLAMLAR.[Satış Miktarı]- TOPLAMLAR.[İade Satınalma Miktarı]) as [Net Satış Miktarı],
SUM(TOPLAMLAR.[Satış Tutarı]- TOPLAMLAR.[İade Satınalma Maliyeti]) as [Net Satış Tutarı],
SUM(TOPLAMLAR.[Çıkan Miktar]) [Çıkan Miktar],
SUM(TOPLAMLAR.[Çıkan Tutar]) [Çıkan Tutar],
ISNULL((SELECT SUM(CIKISMALIYET) FROM #CIKIS_HASILAT T WHERE T.STOKKODU = TOPLAMLAR.[Stok Kodu] and T.DEPO = TOPLAMLAR.[Depo Kodu] ),0) [Çıkış Maliyeti],
SUM(TOPLAMLAR.[Envanter Miktar]) [Envanter Miktar],
(
SELECT CASE WHEN @KDVDAHIL = ‘Hariç’ and @RAPORLA = ‘Hayır’ then ISNULL(KDVHARICTLMALIYET,0)
WHEN @KDVDAHIL = ‘Hariç’ and @RAPORLA = ‘Evet’ then ISNULL(KDVHARICRDMALIYET,0)
WHEN @KDVDAHIL = ‘Dahil’ and @RAPORLA = ‘Hayır’ then ISNULL(KDVDAHILTLMALIYET,0)
WHEN @KDVDAHIL = ‘Dahil’ and @RAPORLA = ‘Evet’ then ISNULL(KDVDAHILRDMALIYET,0)
END BIRIMMALIYET
FROM #KALANENVANTER AS KALANENVANTER WHERE KALANENVANTER.STOKKODU =TOPLAMLAR.[Stok Kodu] AND KALANENVANTER.DEPO = TOPLAMLAR.[Depo Kodu]) AS [Envanter Brim Maliyet]
from [dbo].[BF_ENVANTER] (@ILKTARIH,@SONTARIH,@KDVDAHIL,@RAPORLA) as TOPLAMLAR
WHERE 2=2
GROUP BY [Stok Kodu],[Depo Kodu],[Depo Adı]
) AS TMP
GROUP BY [Stok Kodu],
case when @GRUPLAMA = ‘Hayır’ then [Depo Kodu] else ‘Tüm Depo’ end,
case when @GRUPLAMA = ‘Hayır’ then [Depo Adı] else ‘Tüm Depo’ end
) AS TOPLAMLAR ON TOPLAMLAR.[Stok Kodu] = STOK.KODU
WHERE 8=8 AND 5=5
) as t
WHERE (
((@STOKMIKTAR=’Hepsi’) or (@STOKMIKTAR=’Pozitif’ and ISNULL(t.[Envanter Miktar],0)>0 ) or ((@STOKMIKTAR=’Negatif’ and ISNULL(T.[Envanter Miktar],0)<0 )) or ((@STOKMIKTAR=’Mıktarsız’ and ISNULL(T.[Envanter Miktar],0)=0)))
and
((@BIRIMALIYET=’Hepsi’)or (@BIRIMALIYET=’Maliyetli’ and ISNULL(T.[Envanter Maliyeti],0)>0) or (@BIRIMALIYET=’Maliyetsiz’ and ISNULL(T.[Envanter Maliyeti],0)=0))
and
((@KAYITDURUMU=’Aktif’ and T.[Aktif / Pasif]=’Aktif’) OR (@KAYITDURUMU = ‘Pasif’ and T.[Aktif / Pasif]=’Pasif’) or (@KAYITDURUMU = ‘Hepsi’ AND T.[Aktif / Pasif] IN (‘Pasif’,’Aktif’)))
)
AND T.[Stok Kodu] IN (SELECT KODU FROM STOK_HAR WHERE TARIH<=@SONTARIH)
AND
((@KONTROL = ‘Hayır’ and 100=100) or (@KONTROL = ‘Evet’ and (cast(((([Devir Tutarı]+[Giren Tutar])-[Çıkış Maliyeti])-[Envanter Maliyeti]) as decimal(38,2))>2)))
group by [Depo Kodu],
[Depo Adı],
[Ana Grup Kodu],
[Ana Grup Adı]
ORDER BY [Ana Grup Kodu],
[Ana Grup Adı]
DELETE FILTER_STOK WHERE NEWID_= @DEGER