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

Bilanco.OzetBilanco

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

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)

KategoriA — ERPGOLD CORE · A-APP_CODE
Güven100
Derinlik / kök0 · bu nesne (Seviye-0)
DependencyPathERPGOLD → 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_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).