/*
SELECT CARI_KODU, CARI_ADI, TARIH, FIS_TUR,
OZEL_KOD, BELGE, ACIKLAMA, BORC,
ALACAK, EKLEME_TARIH, EKLEYEN, DEGISTIREN_TARIH, DEGISTIREN,
0.00 TUTAR
FROM [dbo].[BM_Fnc_133_CARIEKSTRE]('00000264615', '01.01.2013', '12.31.2019')
UNION ALL
SELECT '','','','','','','',0,0,'','','','TOPLAM:',
CONVERT(DECIMAL(38,2),SUM(BORC-ALACAK)) FROM
[dbo].[BM_Fnc_133_CARIEKSTRE]('00000264615','01.01.2013','12.31.2019')
*/
USE [TURKIYE]
GO
/****** Object: UserDefinedFunction [dbo].[fn_2017_ogrenci_acikhesap] Script Date: 18.12.2019 13:48:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[BM_Fnc_133_CARIEKSTRE](
@CARIKOD VARCHAR(17),
@TARIH_ILK DATETIME,
@TARIH_SON DATETIME
)
RETURNS TABLE
AS
RETURN
(
SELECT * FROM (
SELECT
CARI_KODU,
CARI_ADI,
TARIH,
FIS_TUR,
OZEL_KOD,
BELGE,
ACIKLAMA,
BORC,
ALACAK,EKLEME_TARIH,EKLEYEN,DEGISTIREN_TARIH,DEGISTIREN
FROM (
SELECT
MAX(CLNTC.CODE) CARI_KODU,
MAX(CLNTC.DEFINITION_) CARI_ADI ,
NULL TARIH,
'-' FIS_TUR,
'-' OZEL_KOD,
'-' BELGE,
'Devir Eden Bakiye' ACIKLAMA,
ISNULL(sum(ROUND((1-CTRNS.SIGN)*AMOUNT,2)),0) BORC,
ISNULL(sum(ROUND(CTRNS.SIGN*AMOUNT,2)),0) ALACAK,null EKLEME_TARIH,'-' EKLEYEN,null DEGISTIREN_TARIH,'-' DEGISTIREN
FROM LG_133_CLCARD CLNTC LEFT OUTER JOIN
LG_133_01_CLFLINE CTRNS ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF )WHERE CTRNS.CANCELLED=0 AND CTRNS.PAIDINCASH=0 AND CLNTC.CODE=@CARIKOD AND CTRNS.DATE_< CONVERT(DATETIME,@TARIH_ILK,104) ) AS T
UNION ALL
SELECT * FROM (
SELECT
CLNTC.CODE CARI_KODU ,CLNTC.DEFINITION_ CARI_ADI ,
CONVERT(datetime, CTRNS.DATE_, 104)TARIH,
case WHEN CTRNS.TRCODE=1 THEN 'Nakit Tahsilat'
WHEN CTRNS.TRCODE=2 THEN 'Nakit Ödeme'
WHEN CTRNS.TRCODE=3 THEN 'Borç Dekontu'
WHEN CTRNS.TRCODE=4 THEN 'Alacak Dekontu'
WHEN CTRNS.TRCODE=5 THEN 'Virman İşlemi'
WHEN CTRNS.TRCODE=6 THEN 'Kur Farkı İşlemi'
WHEN CTRNS.TRCODE=12 THEN 'Özel İşlem'
WHEN CTRNS.TRCODE=14 THEN 'Açılış Fişi'
WHEN CTRNS.TRCODE=20 THEN 'Gelen Havaleler'
WHEN CTRNS.TRCODE=21 THEN 'Gönderilen Havaleler'
WHEN CTRNS.TRCODE=31 THEN 'Mal Alım Faturası'
WHEN CTRNS.TRCODE=32 THEN 'Perakende Satış İade Faturası'
WHEN CTRNS.TRCODE=33 THEN 'Toptan Satış İade Faturası'
WHEN CTRNS.TRCODE=34 THEN 'Alınan Hizmet Faturası'
WHEN CTRNS.TRCODE=35 THEN 'Alınan Proforma Faturası'
WHEN CTRNS.TRCODE=36 THEN 'Alım İade Faturası'
WHEN CTRNS.TRCODE=37 THEN 'Perakende Satış Faturası'
WHEN CTRNS.TRCODE=38 THEN 'Toptan Satış Faturası'
WHEN CTRNS.TRCODE=39 THEN 'Verilen Hizmet Faturası'
WHEN CTRNS.TRCODE=40 THEN 'Verilen Proforma Faturası'
WHEN CTRNS.TRCODE=41 THEN 'Verilen Vade Farkı Faturası'
WHEN CTRNS.TRCODE=42 THEN 'Alınan Vade Farkı Faturası'
WHEN CTRNS.TRCODE=43 THEN 'Alınan Fiyat Farkı Faturası'
WHEN CTRNS.TRCODE=44 THEN 'Verilen Fiyat Farkı Faturası'
WHEN CTRNS.TRCODE=45 THEN 'Verilen Serbest Meslek Makbuzu'
WHEN CTRNS.TRCODE=46 THEN 'Alınan Serbest Meslek Makbuzu'
WHEN CTRNS.TRCODE=56 THEN 'Müstahsil Makbuzu'
WHEN CTRNS.TRCODE=70 THEN 'Kredi Kartı Fişi'
WHEN CTRNS.TRCODE=71 THEN 'Kredi Kartı Fişi İade'
WHEN CTRNS.TRCODE=72 THEN 'Firma Kredi Kartı Fişi'
WHEN CTRNS.TRCODE=73 THEN 'Firma Kredi Kartı Fişi İade'
WHEN CTRNS.TRCODE=81 THEN 'Satış Siparişi'
WHEN CTRNS.TRCODE=61 THEN 'Çek Girişi'
WHEN CTRNS.TRCODE=62 THEN 'Senet Girişi'
WHEN CTRNS.TRCODE=63 THEN 'Çek Çıkış Cari Hesaba'
WHEN CTRNS.TRCODE=64 THEN 'Senet Çıkış Cari Hesaba'
WHEN CTRNS.TRCODE=75 THEN 'Özel Dekont'
end as FIS_TUR,
CTRNS.DOCODE OZEL_KOD,
CTRNS.SPECODE AS BELGE,
CTRNS.LINEEXP AS ACIKLAMA,
ISNULL(ROUND((1-CTRNS.SIGN)*AMOUNT,2),0) AS BORC,
ISNULL(ROUND(CTRNS.SIGN*AMOUNT,2),0) AS ALACAK,
CONVERT(DATETIME,CTRNS.CAPIBLOCK_CREADEDDATE,104) AS EKLEME_TARIH,
EKLEYEN.NAME EKLEYEN,
CONVERT(DATETIME,CTRNS.CAPIBLOCK_MODIFIEDDATE,104) AS DEGISTIREN_TARIH,
DEGISTIREN.NAME DEGISTIREN
FROM
LG_133_01_CLFLINE CTRNS LEFT OUTER JOIN
LG_133_CLCARD CLNTC ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF)
LEFT OUTER JOIN L_CAPIUSER EKLEYEN ON EKLEYEN.NR=CTRNS.CAPIBLOCK_CREATEDBY
LEFT OUTER JOIN L_CAPIUSER DEGISTIREN ON DEGISTIREN.NR=CTRNS.CAPIBLOCK_MODIFIEDBY
WHERE CTRNS.CANCELLED=0 AND CTRNS.PAIDINCASH=0 AND CLNTC.CODE=@CARIKOD AND CTRNS.DATE_ BETWEEN CONVERT(DATETIME,@TARIH_ILK,104) AND CONVERT(DATETIME,@TARIH_SON,104)) VEDAT_OZER
--ORDER BY CARI_KODU,TARIH
) AS EKSTRE
)
;