AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Veritabanı › Functions › FN-MUHASEBE.MERKEZBANKASIRAPORU

Muhasebe.MerkezBankasiRaporu

FUNCTIONMOD-FATURAERPGOLD_COREACTIVEVERY_HIGH[SOURCE_IMPLEMENTED]
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Tip: INLINE TABLE FUNCTION · Şema: Muhasebe · Modül: MOD-FATURA · Temizlik sınıfı: ACTIVE (kategori A, güven 0) · Kapsam: ERPGOLD_CORE / ALL

Kullanım haritası (13.09.2026)

KategoriA — ERPGOLD CORE · A-STORED_SQL
Güven95
Derinlik / kök0 · bu nesne (Seviye-0)
DependencyPathERPGOLD → AifaDev.Reports / Design (DB içi SQL) → Muhasebe.MerkezBankasiRaporu
Uygulama kullanımıREPORT_SQL+CONFIG_SQL

Bkz. Database Usage Map · Direct Application Objects. Hiçbir DB değişikliği yapılmadı; SAFETY > CLEANUP.

Temizlik kanıtı

Kontrol Sonuç
app NO
report YES
config YES
dynamic NO
db_in NO
db_out YES
trigger NO
fk NO
computed NO
crossdb NO
runtime UNKNOWN
external NO

Gerekçe: REPORT (DB içi rapor/tasarım SQL'i)

KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)

Tür: FUNCTION (IF) · Modül: MOD-FATURA · Uzunluk: 76 satır

Özet

[GAP] Kaynakta açıklama yorumu yok; davranış aşağıdaki SQL tanımından ve ilişkilerden okunur.

Parametreler

# Parametre Tip Çıktı
1 @SubeId int
2 @BasTarih date
3 @SonTarih date

Bağımlılıklar (bu nesne → hedef)

İlişki Hedef Tip
READS Cari.Hesaplar TABLE
READS Cari.Islemler TABLE
CALLS FN.Bol FUNCTION
CALLS Muhasebe.StokHaraketleri FUNCTION
READS Sistem.Subeler TABLE

SQL tanımı (AS-IMPLEMENTED, örnek DB)

CREATE Function [Muhasebe].[MerkezBankasiRaporu](@SubeId int,@BasTarih Date,@SonTarih Date)
returns Table
as
return
Select  
KATEGORI ,
CASE WHEN ISLEM='A' THEN 'AY ICINDE ALINAN' WHEN ISLEM ='S' THEN 'AY ICINDE SATILAN' END AS ISLEM,
USD,USDTL ,
EUR,EURTL ,
DIGER ,DIGERTL ,
R.*,UN.Unvan,
CASE WHEN ISLEM='A' THEN 'ALISLAR' WHEN ISLEM ='S' THEN 'SATISLAR' END AS BASLIK, 
CONVERT(VARCHAR(7), @BasTarih, 126) as DONEM from 
(
Select Y.KATEGORI ,Y.ISLEM ,SUM(T.USD) AS USD ,ABS(SUM(T.USDTL)) AS USDTL ,SUM(T.EUR) AS EUR ,ABS(SUM(T.EURTL)) AS EURTL ,SUM(T.DIGER) AS DIGER ,ABS(SUM(T.DIGERTL)) AS  DIGERTL  from
(
Select '1.MERKEZ BANKASI' AS KATEGORI,'A' as ISLEM
UNION ALL
Select '2.BANKA' AS KATEGORI,'A' as ISLEM
UNION ALL
Select '3.YETKILI MUESSESE' AS KATEGORI,'A' as ISLEM
UNION ALL
Select '4.DIGER' AS KATEGORI,'A' as ISLEM
UNION ALL
Select '1.MERKEZ BANKASI' AS KATEGORI,'S' as ISLEM
UNION ALL
Select '2.BANKA' AS KATEGORI,'S' as ISLEM
UNION ALL
Select '3.YETKILI MUESSESE' AS KATEGORI,'S' as ISLEM
UNION ALL
Select '4.DIGER' AS KATEGORI,'S' as ISLEM
) Y 
Left Join

(
Select  Case When  H.HesapTuru =1 Then '3.YETKILI MUESSESE' WHEN H.HesapTuru =2 Then '2.BANKA' WHEN H.HesapTuru =5 Then '1.MERKEZ BANKASI' ELSE '4.DIGER' END AS GroupKodu
, Islem,Case When  X.Kodu ='USD' or X.Kodu ='EUR' Then  X.Kodu Else 'DIGER' End as Kodu, Sum(X.Adet) as Adet,Sum(X.Miktar) as Miktar,Sum(X.TLTutar) as TLTutar ,Sum(X.UsdTutar) as UsdTutar  from 
(
Select IslemId , Islem,Kodu  ,COUNT(*) as Adet, abs(Sum(Miktar)) as Miktar ,FN.Bol ( Sum(TLTutar ),Sum(Abs(Miktar))) as Fiyat ,Sum(TLTutar ) as TLTutar,Sum(UsdTutar) as UsdTutar   from Muhasebe .StokHaraketleri (@SubeId,2,@BasTarih ,@SonTarih) group by Islem,Kodu  ,IslemId 
) X 
Left Join Cari.Islemler I on I.Id=X.IslemId 
Left Join Cari.Hesaplar H on H.Id =I.HesapId 
Where X.Kodu <>'TL'
group by H.HesapTuru ,Islem,Case When  X.Kodu ='USD' or X.Kodu ='EUR' Then  X.Kodu Else 'DIGER' End 
) X ON Y.KATEGORI =X.GroupKodu and x.Islem =y.ISLEM 
CROSS APPLY (VALUES(
                  GroupKodu,
                  x.Islem ,
                  case When Kodu ='USD' then  Miktar Else 0 End,
                  case When Kodu ='USD' then  TLTutar  Else 0 End,
                  case When Kodu ='EUR' then  Miktar Else 0 End,
                  case When Kodu ='EUR' then  TLTutar  Else 0 End,
                  case When Kodu ='DIGER' then  Miktar Else 0 End,
                  case When Kodu ='DIGER' then  TLTutar  Else 0 End
                  )
                  ) t(KATEGORI,ISLEM,USD,USDTL,EUR,EURTL,DIGER,DIGERTL) 
                   GROUP BY Y.KATEGORI ,Y.ISLEM 
) X

Left Join
(
Select S.Id,Unvan FROM Sistem.Subeler S 
Left join Cari.Islemler I2 on S.Id=I2.SubeId group by S.Id,Unvan) UN on UN.Id=@SubeId 

Left Join
(
Select SUM(Case When Islem ='D' Then USD Else 0 End) as DUSD,sUM(Case When Islem ='B' Then USD Else 0 End) as BUSD,SUM(Case When Islem ='D' Then EUR Else 0 End) as DEUR,sUM(Case When Islem ='B' Then EUR Else 0 End) as BEUR
From
(
Select 'B' as Islem,SUM(Case When Kodu ='USD' Then Miktar Else 0 End) AS USD ,0 AS USDTL ,SUM(Case When Kodu ='EUR' Then Miktar Else 0 End) AS EUR ,0 AS EURTL ,0 AS DIGER ,0 AS  DIGERTL   from Muhasebe .StokHaraketleri (@SubeId,2,NULL,@SonTarih)  Where Kodu ='USD' or Kodu ='EUR'
UNION ALL
Select 'D' as Islem,SUM(Case When Kodu ='USD' Then Miktar Else 0 End) AS USD ,0 AS USDTL ,SUM(Case When Kodu ='EUR' Then Miktar Else 0 End) AS EUR ,0 AS EURTL ,0 AS DIGER ,0 AS  DIGERTL   from Muhasebe .StokHaraketleri (@SubeId,2,NULL,DATEADD (DAY,-1,@BasTarih))  Where Kodu ='USD' or Kodu ='EUR'
) z)r on 1=1

Kaynaklar

  • SRC-DB-MODULES — sys.sql_modules tanımı (salt okunur); gizli sabitler [REDACTED_SECRET] ile değiştirildi.

Bilinmeyenler

  • Hangi sürümde eklendiği: created DB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).