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

Bilanco.GenisBilanco

FUNCTIONMOD-RAPORERPGOLD_COREUNUSED_HIGH_CONFIDENCEVERY_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ı: UNUSED_HIGH_CONFIDENCE (kategori E, güven 95) · Kapsam: ERPGOLD_CORE / ALL

Kullanım haritası (13.09.2026)

KategoriF — MANUAL REVIEW · F-POSSIBLE_STORED_SQL_TARGET
Güven50
GerekçeSonuç kümesi döndüren TVF/görünüm: menü raporu, popup grid ve dashboard tanımları (AifaDev.Reports.SQL, ReportsFilter.SQL, Design.PopupGrid.SQL, Dashboard.Layout) kurulum bazlı VERİDİR; V2 demoda referans yok ama başka müşteri DB'sinde olabilir. ERPGOLD kodunda, DB içi rapor/tasarım SQL'inde (V2 demo), dinamik SQL kalıplarında, tetikleyici/FK/computed/cross-db bağlarında ve gerekli nesnelerin bağımlılık grafında referans yok

Bkz. Database Usage Map · Manual Review. Hiçbir DB değişikliği yapılmadı; SAFETY > CLEANUP.

Temizlik kanıtı

Kontrol Sonuç
app NO
report NO
config NO
dynamic NO
db_in NO
db_out YES
trigger NO
fk NO
computed NO
crossdb NO
runtime UNKNOWN
external NO

Gerekçe: Hiçbir kaynakta referans bulunamadı

KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)

Tür: FUNCTION (IF) · Modül: MOD-RAPOR · Uzunluk: 91 satır

Özet

[GAP] Kaynakta açıklama yorumu yok; davranış aşağıdaki SQL tanımından ve ilişkilerden okunur.

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
CALLS Stok.GetGenelStoklar FUNCTION
CALLS Stok.GetMadenStoklari FUNCTION
CALLS Stok.GetNakitStoklari FUNCTION
CALLS Stok.GetTakozSubeStoklari FUNCTION

SQL tanımı (AS-IMPLEMENTED, örnek DB)

CREATE Function Bilanco.GenisBilanco (@SubeId int,@Tarih as date)
returns table
as
return 
Select * from
(
Select * from 
(
Select  GrupKodu AS CINSI,
        Kodu AS KODU,
        SUM(ALACAK) as ALACAK,
        SUM(BORC) as BORC,
        SUM(Net) as NET,
        Fn.Bol ( SUM(ALACAK) * KurBirim.Alis  ,Kurhas.Alis ) as ALACAKHAS,
        Fn.Bol ( SUM(BORC) * KurBirim.Alis  ,Kurhas.Alis ) as BORCHAS,
        Fn.Bol ( SUM(BORC + ALACAK) * KurBirim.Alis  ,Kurhas.Alis )  as NETHAS
From (
        Select Br.SiraNo, H.GrupKodu ,B.BirimId ,br.Kodu ,Sum(Case When Bakiye<0 Then Bakiye Else 0 End) as ALACAK,Sum(Case When Bakiye>0 Then Bakiye Else 0 End) as BORC ,SUM(Bakiye) as NET
        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.SubeId =@SubeId And B.Tarih <=@Tarih 
        GROUP BY H.GrupKodu ,Br.Kodu ,br.SiraNo ,b.BirimId 
) Bak
Left Join Sistem.GetKurListesi (@Tarih) KurBirim on KurBirim.BirimId =Bak.BirimId 
Left Join Sistem.GetKurListesi (@Tarih) KurHas on KurHas.Birim ='HAS'
Group by Kodu,GrupKodu,SiraNo,KurBirim .Alis,KurHas.Alis    
) Hesaplar
UNION ALL

Select * from
(
Select Cinsi,Kodu,Sum(ALACAK) AS ALACAK,SUM(BORC) AS BORC ,SUM(NET)AS NET,Sum(fn.bol(ALACAK * KurBirim.Alis,kurhas.Alis)) AS ALACAKHAS,SUM(fn.bol(BORC * KurBirim.Alis,kurhas.Alis)) AS BORCHAS ,SUM(fn.bol(NET * KurBirim.Alis,kurhas.Alis))AS NETHAS
FROM
(
    Select  T.Cinsi ,T.Birim as KODU,CASE When T.Has >0 Then T.HAS ELSE 0 END AS ALACAK,CASE WHEN T.HAS<0 THEN T.HAS ELSE 0 END AS BORC,T.Has As NET  From Stok.GetMadenStoklari (@SubeId,0,@Tarih,'False')   
    CROSS APPLY (VALUES('STOK',SubeId,AnaBirim , Has ), ('ISCILIK',SubeId,Birim , Maliyet)) t(Cinsi,SubeId,Birim, Has) 
) S
Left Join Sistem.GetKurListesi (@Tarih) KurBirim on KurBirim.Birim =s.KODU 
Left Join Sistem.GetKurListesi (@Tarih) KurHas on KurHas.Birim ='HAS'
GROUP BY Cinsi ,KODU 
) Stoklar 
UNION ALL
Select * from
(
Select Cinsi,Kodu,Sum(ALACAK) AS ALACAK,SUM(BORC) AS BORC ,SUM(NET)AS NET,Sum(fn.bol(ALACAK * KurBirim.Alis,kurhas.Alis)) AS ALACAKHAS,SUM(fn.bol(BORC * KurBirim.Alis,kurhas.Alis)) AS BORCHAS ,SUM(fn.bol(NET * KurBirim.Alis,kurhas.Alis))AS NETHAS
FROM
(
Select 'STOK' Cinsi,Kodu ,Case When Miktar>0 Then Miktar Else 0 End as ALACAK,Case When Miktar>0 Then Miktar Else 0 End as BORC,Miktar as NET  from stok.GetNakitStoklari(@SubeId,0,@Tarih) 
UNION ALL
SELECT 'TAKOZ',t.Birim,0 as BORC,T.Has AS ALACAK,T.Has AS NET   FROM Stok.GetTakozSubeStoklari (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',Birim,Sum(Case When Maliyet<0 Then Maliyet Else 0 End) as BORC,Sum(Case When Maliyet>0 Then Maliyet Else 0 End) as ALACAK,Sum(Maliyet) as NET  from stok.GetGenelStoklar(@SubeId,GETDATE()) Group by Birim
) S
Left Join Sistem.GetKurListesi (@Tarih) KurBirim on KurBirim.Birim =s.KODU 
Left Join Sistem.GetKurListesi (@Tarih) KurHas on KurHas.Birim ='HAS'
GROUP BY Cinsi ,KODU 
) Stoklar 
UNION ALL

----MASRAFLAR EKLENDI

sELECT CINSI,BIRIM,SUM(ALACAK) AS ALACAK,SUM(BORC) AS BORC,SUM(NET) AS NET,SUM(ALACAKHAS) AS ALACAKHAS,SUM(BORCHAS) AS BORCHAS,SUM(NETHAS) AS NETHAS 
FROM
(
            select 
                Case When IslemTuru =0 Then 'MASRAF' Else 'GELIR' End CINSI,
                Birim  AS BIRIM,
                Case When IslemTuru = 0 Then Tutar * -1 Else 0 End as ALACAK, 
                Case When IslemTuru = 1 Then Tutar  Else 0 End as BORC,
                Case When IslemTuru = 0 Then Tutar * -1 Else Tutar  End as NET, 
                Fn.Bol(Case When IslemTuru = 0 Then Tutar * -1 Else 0 End * BirimKur,HasKur)  as ALACAKHAS, 
                Fn.Bol(Case When IslemTuru = 1 Then Tutar  Else 0 End * BirimKur,HasKur)  as BORCHAS, 
                Fn.Bol(Case When IslemTuru = 0 Then Tutar*-1  Else Tutar  End * BirimKur,HasKur)  as NETHAS
            from cari.Islemler Where IslemKodu =5 And IsDeleted ='False'
) X GROUP BY CINSI,BIRIM 
UNION ALL
            select 
                Case When IslemTuru =0 Then 'MASRAF' Else 'GELIR' End CINSI,
                'TOPLAM'  AS BIRIM,
                0  as ALACAK, 
                0 as BORC,
                0 as NET, 
                Sum(Fn.Bol(Case When IslemTuru = 0 Then Tutar  Else 0 End * BirimKur,HasKur))  as ALACAKHAS, 
                Sum(Fn.Bol(Case When IslemTuru = 1 Then Tutar *-1 Else 0 End * BirimKur,HasKur))  as BORCHAS, 
                Sum(Fn.Bol(Case When IslemTuru = 0 Then Tutar   Else Tutar *-1  End * BirimKur,HasKur))  as NETHAS
                from cari.Islemler Where IslemKodu =5 And IsDeleted ='False' group by IslemTuru

) X Where NetHas<>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).