Tip: INLINE TABLE FUNCTION · Şema: Bilanco · 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'e dahil — BASE Status: CANDIDATE_CANONICAL |
| BASE Sınıfı | BASE-CORE (BASE MASTER) · Wiki önerisi: BASE-CORE · Action: INCLUDE_IN_BASE · Güven: HIGH |
| Runtime Certification | PENDING — BASE ile açılış/işlem testi yapılmadı; otomatik PASS yazılmadı |
| Kodda Kullanılıyor mu? | EVET — doğrudan (Seviye-0) |
| Kod Referans Sayısı | BASE taraması: 1 SQL_LITERAL (= 1) · Kullanım Haritası kanıtı: 2 kayıt (APP_CODE) |
| Kullanan Ekranlar | — |
| Kullanan Class/Method | Bilanco.BilancoDetay |
| Incoming Dependency (bunu kullanan nesneler) | Bilanco.SaveAll, Pozisyon.GetPozisyonV3 |
| Outgoing Dependency (bunun kullandığı nesneler) | Cari.BakiyeIslem, Cari.Hesaplar, Cari.Islemler, FN.Bol, Sistem.Birimler, Sistem.GetKurListesi, Sistem.Kasalar, Sistem.Subeler, Stok.GetCesniStoklari, Stok.GetEmtiaStoklari … (+7) |
| Trigger İlişkisi | yok |
| Ticket Problem Aileleri | PF-023 |
| Bilinen Hatalar | ERR-SIL-063, ERR-SIL-070 (Hata Bilgi Bankası; Gözlemlendi durumu kayıtta) |
| Bilinen SQL Riskleri | — |
| Health Check Kuralı | OBJ-01, INV-19 |
| 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-APP_CODE · güven 100 |
| Derinlik / kök | 0 · bu nesne (Seviye-0) |
| DependencyPath | ERPGOLD → Bilanco.BilancoDetay → Bilanco.OzetBilanco |
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 |
YES |
| report |
NO |
| config |
NO |
| dynamic |
NO |
| db_in |
YES |
| db_out |
YES |
| trigger |
NO |
| fk |
NO |
| computed |
NO |
| crossdb |
NO |
| runtime |
UNKNOWN |
| external |
NO |
Gerekçe: APP
KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)
Tür: FUNCTION (IF) · Modül: MOD-RAPOR · Uzunluk: 65 satır
Özet
Şube/tarih için özet bilanço — bakiye, stok (maden/nakit/emtia), işçilik, çeşni, pırlanta, taş ve takoz kalemlerini tarihin alış kuruyla bilanço birimine çevirip döner.
Parametreler
| # |
Parametre |
Tip |
Çıktı |
| 1 |
@SubeId |
int |
|
| 2 |
@Tarih |
date |
|
Bağımlılıklar (bu nesne → hedef)
Bu nesneyi kullananlar
İlgili iş kuralları
- Cari.BakiyeIslem (HesapTuru<>4) + Stok.GetStoklari + GetStoklari fonksiyonlarını birleştirir, @Tarih'in kuruyla Net hesaplar (Bilanco.OzetBilanco.md)
- Bilanço alış kuruyla çevrilir; kur girilmemişse toplamlar 0 gelir (az/02-hesaplama.md 2.14)
- TAKOZ has'ı Carpan 0.6 ile hesaba katılır (Bilanco.OzetBilanco.md)
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Function [Bilanco].[OzetBilanco] (@SubeId int,@Tarih Date)
returns Table
as
return
Select Sb.Id as SubeId, Sb.Kodu as Sube,Cinsi,env.Birim as Kodu,Bakiye,K1.Alis as Kur1,K2.Alis as Kur2,cASE wHEN Cinsi <>'GIDER' and Cinsi<>'GELIR' Then fn.Bol ( Bakiye * K1.Alis,K2.alis) end as Net,Brm.Kodu as Birim From
(
Select Cinsi,SubeId,Birim,Sum(Bakiye) as Bakiye From
(
Select 'BAKIYE' as Cinsi, @SubeId AS SubeId,K.AnaBirim as Birim,SUM(Bakiye) as Bakiye FRom
(
Select B.Tarih,HesapTuru,B.IslemId,B.HesapType,B.HesapId,B.KasaId,AnaBirimId,AnaBirim ,CONVERT(Decimal(18,2), Bakiye * Carpan) As Bakiye from Cari.BakiyeIslem B Left Join Cari.Hesaplar H on H.Id =B.HesapId
Left Join
(
Select K.Id,K.SiraNo,K.Kodu,IsComputed,K.IsStatic,K.AnaBirimId,K.AnaBirim,K.Carpan from
(
Select Id,SiraNo,Kodu,IsComputed ,IsStatic,AnaBirimId,AnaBirim,Carpan From Sistem.Birimler Where IsDeleted ='False'
UNION ALL
Select -1,-1,'TAKOZ',convert(bit,1),convert(bit,1),1,'HAS',0.6
) K ) Brm on B.BirimId =Brm.Id
Left Join Sistem.Kasalar K on K.Id =B.KasaId Where K.SubeId = @SubeId and B.Tarih <=@Tarih
) K
where HesapTuru <>4
GROUP by k.AnaBirim,HesapTuru
UNION ALL
---NAKIT STOKLARI
Select 'STOK',SubeId, AnaBirim ,Sum(Miktar) From Stok.GetNakitStoklari (@SubeId,0,@Tarih ) Group by SubeId,AnaBirim
UNION ALL
select 'STOK',SubeId,Birim,Tutar from Stok.GetEmtiaStoklari (@SubeId)
UNION ALL
---MADEN STOKLARI
--Select 'STOK',SubeId,Anabirim,Has From Stok.GetMadenStoklari (@SubeId,0,@Tarih,'False')
Select t.* From Stok.GetMadenStoklari (@SubeId,0,@Tarih,'False')
CROSS APPLY (VALUES('STOK',SubeId,AnaBirim, Has ), ('ISCILIK',SubeId,Birim , Maliyet)) t(A,SubeId,Birim, Has)
UNION ALL
Select t.* From Stok.GetCesniStoklari (@SubeId,0,@Tarih)
CROSS APPLY (VALUES('STOK',SubeId,'GUM', GUM), ('STOK',SubeId,'HAS', Has)) t(A,SubeId,Birim, Has)
UNION ALL
--Select 'PIRLANTA',S.SubeId,B.Kodu ,IsNull(Sum(P.Maliyet),0) as Maliyet From Stok.StokHaraketleri S Left Join Stok.Pirlanta P on S.StokId =P.Id Left Join Sistem.Birimler B on B.Id=P.MaliyetBirimId Where StokTipi=4 And (S.SubeId=@SubeId or @SubeId=0) And Tarih <=@Tarih Group by S.SubeId,B.Kodu Having SUM(Adet )<>0
Select 'PIRLANTA',S.SubeId,B.Kodu ,IsNull(Sum(S.Adet * P.Maliyet),0) as Maliyet From Stok.StokHaraketleri S Left Join Stok.Pirlanta P on S.StokId =P.Id Left Join Sistem.Birimler B on B.Id=P.MaliyetBirimId Where StokTipi=4 And (S.SubeId=@SubeId or @SubeId=0) And Tarih <=@Tarih Group by S.SubeId,B.Kodu Having SUM(Adet )<>0
UNION ALL
select 'TAS',S.SubeId,S.MBirim,Sum(Maliyet) from Stok.GetTasStoklari(@SubeId,@Tarih) S Group By S.SubeId,S.MBirim
UNION ALL
---TAKOZ STOKLARI
SELECT 'TAKOZ',t.* FROM Stok.getTakozSirketStoklari (0,@SubeId,@Tarih)
CROSS APPLY (VALUES(SubeId,'HAS',Case When R='False' Then Miktar * 0.6 Else AuHas end), (SubeId, 'GUM', AgHas ), (SubeId, 'PLT', PltHas ), (SubeId, 'PLD', PldHas )) t(SubeId,Birim, Has) Where Adet <>0
UNION ALL
Select 'MALZEME',@SubeId,Birim,Maliyet from stok.GetGenelStoklar(@SubeId,GETDATE())
UNION ALL
Select Case When IslemTuru=0 Then 'GIDER' else 'GELIR' end as Cinsi ,K.SubeId,Birim,SUM( Case When Yon='+' Then 0- Tutar Else Tutar End) as Tutar FRom Cari.Islemler I Left Join Sistem.Kasalar K on K.Id =KasaId Left Join Sistem.Subeler S on S.Id=K.SubeId Where IslemKodu =5 and I.IsDeleted ='False' And (Tarih>S.RevCostDate And Tarih =@Tarih) and (K.SubeId=@SubeId or @SubeId=0)
group by K.SubeId ,Birim ,IslemTuru
UNION ALL
Select Case When SUM(Bakiye *-1)<0 Then 'GIDER' else 'GELIR' End as Cinsi, H.SubeId ,Br.Kodu as Birim, SUM(Bakiye *-1) as Tutar from Cari.BakiyeIslem B
Left Join Cari.Hesaplar H on H.Id =B.HesapId
Left Join Sistem.Birimler Br on Br.Id =B.BirimId
Where H.HesapTuru =4
group by Br.Kodu ,h.SubeId
) a
Group by Cinsi,SubeId,Birim
) Env
Left Join Sistem.Subeler Sb on Sb.Id =SubeId
Left Join Sistem.Birimler Brm on Brm.Id=Sb.BilancoBirimId
Left Join Sistem.GetKurListesi (@Tarih) K1 on K1.Birim = Env.Birim
Left Join Sistem.GetKurListesi (@Tarih) K2 on K2.Birim =Brm.Kodu
wHERE Bakiye <>0
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).