Tip: INLINE TABLE FUNCTION · Şema: Bilanco · 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-APP_CODE |
| Güven | 100 |
| Derinlik / kök | 0 · bu nesne (Seviye-0) |
| DependencyPath | ERPGOLD → Bilanco.BilancoDetay → Bilanco.OzetBilanco |
| Uygulama kullanımı | APP_CODE · Bilanco.BilancoDetay |
Bkz. Database Usage Map · Direct Application Objects. 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)
| İlişki | Hedef | Tip |
|---|---|---|
| READS | Cari.BakiyeIslem | TABLE |
| READS | Cari.Hesaplar | TABLE |
| READS | Cari.Islemler | TABLE |
| CALLS | FN.Bol | FUNCTION |
| READS | Sistem.Birimler | TABLE |
| CALLS | Sistem.GetKurListesi | FUNCTION |
| READS | Sistem.Kasalar | TABLE |
| READS | Sistem.Subeler | TABLE |
| CALLS | Stok.GetCesniStoklari | FUNCTION |
| CALLS | Stok.GetEmtiaStoklari | FUNCTION |
| CALLS | Stok.GetGenelStoklar | FUNCTION |
| CALLS | Stok.GetMadenStoklari | FUNCTION |
| CALLS | Stok.GetNakitStoklari | FUNCTION |
| CALLS | Stok.GetTakozSirketStoklari | FUNCTION |
| CALLS | Stok.GetTasStoklari | FUNCTION |
| READS | Stok.Pirlanta | TABLE |
| READS | Stok.StokHaraketleri | TABLE |
Bu nesneyi kullananlar
| Nesne | Tip |
|---|---|
| Bilanco.SaveAll | PROCEDURE |
| Pozisyon.GetPozisyonV3 | FUNCTION |
İ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_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).
