Araç kabul formunda aktif araçları yani henüz faturalandırılmamış olan stokları ayrı kolonda listeler, Parametrelerde araç kabullerin entegrasyonu aktif parametresi açık ise bu sql i kullanmak mantıklı olmayacaktır.



ALTER function [dbo].[LST_STOK_1](@KULLANICI NVARCHAR(30), @FIRMA_KODU INT, @SUBE_KODU INT )
RETURNS TABLE AS
RETURN
(
SELECT TOP 100 PERCENT
KODU, ADI, ADI2,ACIKLAMA1,ACIKLAMA2,ACIKLAMA3,ACIKLAMA4,
(SELECT KODU FROM STOK_REYON SR WHERE SR.KODU=STOK.REYON)AS Reyon,

ISNULL(

(SELECT SUM(MIKTAR) FROM OTO_SERVIS OS INNER JOIN OTO_ARACKABUL AK ON OS.FCOUNTER=AK.COUNTER WHERE OS.STOKKODU=STOK.KODU AND ISNULL(OS.PERSONEL,'')<>''
AND OS.COUNTER NOT IN (SELECT EMSCOUNTER FROM FATURA_DT WHERE EMODUL='Araç Kabul') AND AK.SERVIS='Serviste')

,0) [Aktif İşlerdeki Miktar] ,

(ISNULL((SELECT SUM(MIKTAR) FROM STOK_HAR WITH(NOLOCK) WHERE GDEPO<>'' AND KODU=STOK.KODU),0) -
ISNULL((SELECT SUM(MIKTAR) FROM STOK_HAR WITH(NOLOCK) WHERE CDEPO<>'' AND KODU=STOK.KODU),0)) AS MIKTAR,
BIRIM1 AS [BIRIMI], FIYAT1 AS [FIYAT], DTURU1 AS [DVZ],
ISNULL((SELECT TOP 1 FIYAT FROM STOK_HAR WHERE STOK_HAR.KODU=STOK.KODU and GDEPO<>'' ORDER BY TARIH DESC),0) SonAlisFiyati
FROM STOK WITH(NOLOCK)
WHERE 1=1
AND FIRMA_KODU = @FIRMA_KODU
AND ( (SUBE_KODU = @SUBE_KODU) OR (ISNULL(SUBELERDE_AKTIF,1) = 1) )
AND ISNULL(YETKI_SEVIYESI,1) <= (SELECT ISNULL(YETKI_SEVIYESI,100) FROM BILNEXDB..KULLANICI WITH (NOLOCK) WHERE KODU = @KULLANICI)
AND ISNULL(AKTIF,1) = 1
)
/*
SELECT * FROM [dbo].[LST_STOK_1]('S',1,1)
*/