Tip: INLINE TABLE FUNCTION · Şema: Reports · Modül: MOD-RAPOR · Temizlik sınıfı: ACTIVE (kategori A, güven 0) · Kapsam: ERPGOLD_CORE / ALL
Kullanım haritası (13.09.2026)
| Kategori | A — ERPGOLD CORE · A-STORED_SQL |
| Güven | 95 |
| Derinlik / kök | 0 · bu nesne (Seviye-0) |
| DependencyPath | ERPGOLD → AifaDev.Reports / Design (DB içi SQL) → Reports.BakiyeListesi |
| Uygulama kullanımı | REPORT_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 | WEAK |
| report | YES |
| config | NO |
| 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-RAPOR · Uzunluk: 128 satır
Özet
Bakiye ekstresi (pivot) — şube/tarih için tüm hesapların birim bazında (TAKOZ,HAS,GUM,TL,USD,EUR...) bakiyesini durum etiketleriyle ve HAS toplamıyla listeler.
Parametreler
| # | Parametre | Tip | Çıktı |
|---|---|---|---|
| 1 | @Tarih | date | |
| 2 | @SubeId | int |
Bağımlılıklar (bu nesne → hedef)
| İlişki | Hedef | Tip |
|---|---|---|
| READS | Cari.BakiyeIslem | TABLE |
| CALLS | Cari.BakiyeKodlari | VIEW |
| READS | Cari.Hesaplar | TABLE |
| CALLS | FN.BakiyeDurum | FUNCTION |
| CALLS | FN.Bol | FUNCTION |
| CALLS | Sistem.GetKurListesi | FUNCTION |
| READS | Sistem.Kasalar | TABLE |
İlgili iş kuralları
- Cari.BakiyeIslem'i şubenin kasalarıyla filtreleyip Bakiye*-1 ile birim pivotlar, FN.BakiyeDurum ile A/B etiketi üretir (Reports.BakiyeListesi.md)
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Function [Reports].[BakiyeListesi] (@Tarih date,@SubeId int)
returns table
as
return
--Select P.HesapId, H.HesapAdi,H.GrupKodu,H.Kategori ,H.Telefon1 as Telefon,
--FN.BakiyeDurum( P.TAKOZ) as TakozDurum,
--P.TAKOZ,
--FN.BakiyeDurum( P.HAS) as HasDurum,
--P.HAS,
--FN.BakiyeDurum( P.GUM) as GumusDurum,
--P.GUM,
--FN.BakiyeDurum( P.TL) as TLDurum,
--P.TL,
--FN.BakiyeDurum( P.USD) as UsdDurum,
--P.USD,
--FN.BakiyeDurum( P.Eur) as EurDurum,
--P.EUR,
--FN.BakiyeDurum( P.GBP ) as GBPDURUM,
--P.GBP,
--FN.BakiyeDurum( P.CHF) as CHFDURUM,
--P.CHF ,
--FN.BakiyeDurum( P.SEK) as SEKDURUM,
--P.SEK ,
--FN.BakiyeDurum( P.NOK) as NOKDURUM,
--P.NOK ,
--FN.BakiyeDurum( P.DKK) as DKKDURUM,
--P.DKK ,
--FN.BakiyeDurum( P.CAD) as CADDURUM,
--P.CAD ,
--FN.BakiyeDurum( P.SAR) as SARDURUM,
--P.SAR ,
--FN.BakiyeDurum( P.AUD) as AUDDURUM,
--P.AUD ,
--FN.BakiyeDurum( P.JPY) as JPYDURUM,
--P.JPY ,
--fN.bOL(P.NetBakiye,kUR.Alis ) as Toplam,
--H.LastDate as SonTarih
--From
--(
--Select HesapId,Sum([TAKOZ]) as Takoz, Sum([HAS]) as Has, Sum([GUM]) as Gum, Sum([TL]) as TL, Sum([USD]) as Usd, Sum([EUR]) as Eur, Sum( GBP) as GBP, Sum(CHF) as CHF,Sum([PND]) as Pnd,Sum([SEK]) as SEK,Sum([NOK]) as NOK,Sum([DKK]) as DKK,Sum([CAD]) as CAD, Sum([SAR]) as SAR, Sum([AUD]) as AUD, Sum([JPY]) as JPY , Sum(NET) as NetBakiye From
-- (
-- Select HesapId,br.Kodu as Birim,SUM(Bakiye*-1) as BakiyeX,Sum((Bakiye ) * Kur.Alis) as NET,MAX (B.Tarih) as Tarih
-- from Cari.BakiyeIslem B
-- Left Join Sistem.Birimler br on Br.Id=B.BirimId
-- Left Join Sistem.Kasalar K on K.Id =B.KasaId
-- Left Join Sistem.GetKurListesi (@Tarih) Kur on Kur.BirimId =B.BirimId
-- Where B.Tarih <=@Tarih And K.SubeId =@SubeId
-- Group by HesapId ,Br.Kodu Having SUM (Bakiye)<>0
-- ) A
-- PIVOT
-- (
-- Sum(BakiyeX)
-- FOR Birim IN ([TAKOZ], [HAS], [GUM], [TL], [USD], [EUR], [GBP], [CHF],[PND],[SEK],[NOK],[DKK],[CAD],[SAR],[AUD],[JPY])
-- ) AS P
-- Group by HesapId
--) P
--Left Join Sistem.GetKurListesi (@Tarih) Kur on Kur.Birim ='USD'
--Left Join Cari.Hesaplar H on H.Id=P.HesapId
--Where H.SubeId=@SubeId AND
--(
--IsNull([TAKOZ],0) + IsNull([HAS],0)+IsNull([GUM],0) +
--IsNull([TL],0) + IsNull([USD],0) + IsNull([EUR],0) +
--IsNull(GBP ,0) + IsNull(CHF,0) +IsNull( [PND],0))+ IsNull(SEK,0)+ IsNull(NOK,0)+ IsNull(DKK,0)+ IsNull(CAD,0)+ IsNull(SAR,0)+ IsNull(AUD,0)+ IsNull(JPY,0)<>0
Select P.HesapId as HesapId, H.HesapAdi,H.GrupKodu ,
FN.BakiyeDurum( P.TAKOZ) as TAKOZDurum,
P.TAKOZ,
FN.BakiyeDurum( P.HAS) as HASDurum,
P.HAS,
FN.BakiyeDurum( P.GUM) as GUMDurum,
P.GUM,
FN.BakiyeDurum( P.TL) as TLDurum,
P.TL,
FN.BakiyeDurum( P.USD) as UsdDurum,
P.USD,
FN.BakiyeDurum( P.Eur) as EurDurum,
P.EUR,
FN.BakiyeDurum( P.GBP ) as GBPDURUM,
P.GBP,
FN.BakiyeDurum( P.CHF) as CHFDURUM,
P.CHF ,
FN.BakiyeDurum( P.Pnd) as PNDDURUM, --8
P.Pnd AS PND,
((P.NetBakiye)*-1) as Toplam,
H.LastDate as SonTarih
From
(
Select
HesapId,Sum([TAKOZ]) as TAKOZ, Sum([HAS]) as HAS,Sum([GUM]) as GUM,
Sum([TL]) as TL, Sum([USD]) as Usd,
Sum([EUR]) as Eur, Sum([GBP]) as GBP,
Sum([CHF]) as CHF, Sum([PND]) as Pnd,
Sum(NetBakiye) as NetBakiye From
(
Select B.AnaBirim , B.HesapId ,B.Bakiye ,Fn.Bol( B.Bakiye * Kur.Alis,KurHAS.Alis )*-1 as NetBakiye From
(
select B.BirimId , B.HesapId,Kod.Kodu as AnaBirim , SUM(Bakiye)*-1 as Bakiye from Cari.BakiyeIslem B
Left Join cari.BakiyeKodlari Kod on Kod.Id =BirimId
Where HesapType=0 and (B.Tarih<=@Tarih or @Tarih is null) and B.KasaId in(Select Id From Sistem.Kasalar Where SubeId=@SubeId)
group by HesapId ,Kod.Kodu,B.BirimId
having Sum(NetBakiye)<>0
) B
Left Join Sistem.GetKurListesi (getdate()) Kur on Kur.BirimId =B.BirimId
Left Join Sistem.GetKurListesi (getdate()) KurHAS on KurHAS.Birim ='HAS'
) A
PIVOT
(
Sum(Bakiye)
FOR AnaBirim IN ([TAKOZ], [HAS], [GUM],[TL], [USD], [EUR], [GBP], [CHF],[PND])
) AS P Group by HesapId
) P
Left Join Cari.Hesaplar H on H.Id=P.HesapId
Where H.SubeId=@SubeId
Kaynaklar
- SRC-DB-MODULES —
sys.sql_modulestanımı (salt okunur); gizli sabitler[REDACTED_SECRET]ile değiştirildi.
Bilinmeyenler
- Hangi sürümde eklendiği:
createdDB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).
