Tip: INLINE TABLE FUNCTION · Şema: Reports · Modül: MOD-RAPOR · Temizlik sınıfı: ACTIVE (kategori A, güven 0) · Kapsam: ERPGOLD_CORE / ALL
BASE künyesi ve kullanım haritası (v1.5 · 13.09.2026)
| BASE Durumu | BASE dışı — BASE Status: CANDIDATE_CANONICAL (Runtime Certification tamamlanmadı) · CTR-BASE-0107 |
| BASE Sınıfı | REPORT-ONLY (BASE MASTER) · Wiki önerisi: REPORT-ONLY (Kullanım Haritası: A-STORED_SQL) · Action: EXCLUDE_REPORT_ONLY · Güven: HIGH |
| Runtime Certification | N/A — BASE üyesi değil |
| Kodda Kullanılıyor mu? | EVET — doğrudan (Seviye-0) · BASE: UsedByApplication=NO (çelişki — CTR) |
| Kod Referans Sayısı | BASE taraması: 0 (uygulama kodunda string literal referansı yok) · Kullanım Haritası kanıtı: 1 kayıt (REPORT_SQL) |
| Kullanan Ekranlar | — |
| Kullanan Class/Method | — |
| Incoming Dependency (bunu kullanan nesneler) | — |
| Outgoing Dependency (bunun kullandığı nesneler) | Cari.BakiyeIslem, Cari.BakiyeKodlari, Cari.Hesaplar, FN.BakiyeDurum, FN.Bol, Sistem.GetKurListesi, Sistem.Kasalar |
| Trigger İlişkisi | yok |
| Ticket Problem Aileleri | PF-004, PF-030, PF-071 |
| Bilinen Hatalar | ERR-OBS-004, ERR-OBS-030, ERR-OBS-071, ERR-OBS-208 (Hata Bilgi Bankası; Gözlemlendi durumu kayıtta) |
| Bilinen SQL Riskleri | — |
| Health Check Kuralı | — |
| Müşteri Özel mi? | HAYIR |
| Opsiyonel Modül mü? | HAYIR |
| Legacy mi? | HAYIR |
| Son Doğrulama Tarihi | 13.09.2026 — statik analiz (katalog 2026-09-10 + kaynak kod taraması). Çalışma zamanı doğrulaması: PENDING |
Kullanım haritası
| Kullanım Haritası kategorisi | 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 |
| Uzlaştırma | 07_Report_Only_Farklari — Yöntem farkı: Kullanım Haritası DB içi rapor/tasarım SQL'ini (AifaDev.Reports/PopupGrid) çalışma zamanı kullanımı saydı; BASE rapor SQL'ini CORE kanıtı saymaz (kurulum bazlı veri). İş nesnesi yalnız rapor hedefi → REPORT-ONLY |
Bkz. ERPGOLD BASE · Uzlaştırma · Database Usage Map · Kullanım Haritası Direct · Hata Bilgi Bankası. BASE Status: CANDIDATE_CANONICAL · Runtime Certification: PENDING · 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).
