LOGO SQL CARI HESAP EXTRESI TABLE FUNCTION

/*
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
  
)
;








One thought on “LOGO SQL CARI HESAP EXTRESI TABLE FUNCTION

  1. osman's avatar osman

    cari hesap ekstresin de dövizli olarak ( tl, usd, euro ayrı ayrı sütun oluşturdum) her işlem sonrasında yürüyerek oluşan, cari hesap Bakiyesini satır sonuna almaya çalışıyorum.

    ama tanımlı alan için oluşturduğum, aşağıdaki işlemler, her satırda aynı şekilde cari hesabın son bakiyesini veriyor.

    IF([İşlem Dövizi]=”USD”,[İşlem Dövizi Bakiye],[İşlem Dövizi Bakiye]*0)
    veya
    _CLCALC([Firma No.],[Cari Hesap Kodu],DATE(01,01,YEAROF([Rapor Başlangıç Tarihi])),[Cari Hesap Hareket Tarihi],”CUR:[USD]”,3,3)

    yardımcı olmanızı rica ediyorum.

    Like

Leave a comment