USE [FSYONETIM]
GO
/****** Object:  StoredProcedure [dbo].[BELGE_IPTAL]    Script Date: 26.05.2023 15:53:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER    PROCEDURE [dbo].[BELGE_IPTAL]
@aktif_kullanici varchar(25)='',
@magaza_no_liste StringList READONLY,
@baslangic_tarih dateTime,
@bitis_tarih datetime
AS
-- ==========================================================================================
-- Evrak Tipleri:	--1:FİŞ 2:SATIŞ FAT 3:İADE 4:FİŞ IPTAL  5:ALIŞ FATURASI 
--			          6:TAHSİLAT MAKBUZU 7:TEDIYE MAKBUZU 8:FATURA IPTAL 9:DEPO SEVK 10:ALIŞ IADE 
--				     11:CARI BORÇ DEKONTU 12:SAYIM EVRAĞI 13:DEPO GİRİŞ 14:DEPO ÇIKIŞ
-- ==========================================================================================
SELECT
	evr_belge_no_seri as EvrakSeri,
	evr_belge_no_sira as EvrakSira,
	(select TOP 1 mgz_isim FROM MAGAZA_TANIMLARI WHERE mgz_kod=evr_magaza_kod) as Magaza,
	(SELECT  TOP 1 ksa_isim FROM KASA_TANIMLARI WHERE ksa_no=evr_kasa_no and ksa_magaza_no=evr_magaza_kod) as Kasa,
	ISNULL((SELECT TOP 1 kln_isim FROM KULLANICILAR WHERE kln_no=evr_kasiyer_no),'') as Kasiyer,
	sto_kod as StokKod,
	sto_isim as StokIsim,
	har_miktar as Miktar,
	har_yekun as Yekun,
	evr_belge_iptal_aciklama as Açıklama
	FROM EVRAK_UST_BILGI WITH(NOLOCK)
	LEFT OUTER JOIN EVRAK_HAREKET_BILGI WITH(NOLOCK) ON evr_RECno=har_evrak_rec_id 
	LEFT OUTER JOIN STOKLAR WITH(NOLOCK) ON sto_kod=har_stok_kodu
	WHERE evr_belge_tur in (8,4) and 
	(((select COUNT(Item) from @magaza_no_liste)>0 AND evr_magaza_kod IN (select Item from @magaza_no_liste)) OR (select Count(Item) from @magaza_no_liste)<=0) AND  
	 CONVERT(DATE,@baslangic_tarih)<=CONVERT(DATE,evr_evrak_tarih) and CONVERT(DATE,evr_evrak_tarih)<=CONVERT(DATE,@bitis_tarih)
	  AND (evr_magaza_kod=dbo.fn_AktifKullaniciMagazaGetir(@aktif_kullanici) OR @aktif_kullanici=0)