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

Reports.VadeliHacimRaporu

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

Tip: INLINE TABLE FUNCTION · Şema: Reports · 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: 62 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 @StartDate date
3 @EndDate date

Bağımlılıklar (bu nesne → hedef)

İlişki Hedef Tip
READS Cari.Islemler TABLE
CALLS FN.Bol FUNCTION
READS Sistem.Birimler TABLE
CALLS Sistem.GetKurListesi FUNCTION
READS Sistem.Pariteler TABLE
READS Stok.Maden TABLE
READS Stok.Nakit TABLE

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

CREATE Function Reports.VadeliHacimRaporu (@SubeId int,@StartDate as Date,@EndDate as Date)
returns Table
as
return

Select Parite,Kodu ,A_Miktar ,A_Fiyat ,A_Tutar ,S_Miktar ,S_Fiyat ,S_Tutar,X.Birim ,CONVERT(Decimal(18,2), S_Miktar *  ABS(Case When IsNull(A_Fiyat,0)=0 Then S_Fiyat Else A_Fiyat end))*-1  as Maliyet,Fn.Bol( (abs(S_Tutar) - CONVERT(Decimal(18,2), abs(S_Miktar) *  ABS(Case When IsNull(A_Fiyat,0)=0 Then S_Fiyat Else A_Fiyat end))) * Kur.Alis,KurHas.Satis)  as KarHAS

From 
(
Select 
    Parite,
    Kodu ,
    Sum(Case When Islem ='A' Then Miktar Else 0 End) as A_Miktar,
    Sum(Case When Islem ='A' Then Fiyat Else 0 End) as A_Fiyat,
    Sum(Case When Islem ='A' Then Tutar Else 0 End) as A_Tutar,
    Sum(Case When Islem ='S' Then Miktar*-1 Else 0 End) as S_Miktar,
    Sum(Case When Islem ='S' Then Fiyat Else 0 End) as S_Fiyat,
    Sum(Case When Islem ='S' Then Tutar *-1 Else 0 End) as S_Tutar,
    Birim 


from

(
Select  Parite ,Islem ,Kodu,SUM(Miktar) as Miktar,Fn.Bol(SUM(Tutar),Sum(Miktar)) as Fiyat ,SUM(Tutar) as Tutar,Birim 
From
(           
                    Select P.Parite,Case When P.AnaBirim = I.Kodu Then I.Islem Else Case When I.Islem ='A' Then 'S' Else 'A'  End End as Islem,P.AnaBirim as Kodu,Case When P.AnaBirim = I.Kodu Then I.Miktar Else I.Tutar End as Miktar,Case When P.AnaBirim = I.Kodu Then I.Tutar Else I.Miktar End as Tutar,P.Birim 
                    from (Select Distinct Parite,AnaBirim ,Birim From Sistem.Pariteler Where IsDeleted ='False') P
                    Left Join
                    (
                    Select Islem,K.Kodu as Kodu,Sum(Miktar) as Miktar, Sum(Tutar) as Tutar,B.Kodu as Birim from 

                        (
                            Select Case  When (IslemTuru % 2)=0  Then 'A' Else 'S' End as Islem,
                                Case When IslemKodu in(1,2) Then M.AnaBirimId 
                                When IslemKodu =3 Then N.AnaBirimId 
                                Else 
                                BakiyeId End as StokId,
                                Miktar * Case When Convert(int,IsNull(I.AuMilyem,0)) =0 Then 1 Else AuMilyem  End as Miktar,
                                Tutar ,
                                Case When I.IslemTipi =1 Then NB.AnaBirimId Else I.BirimId End as BirimId
                            from Cari.Islemler I 
                            Left Join Stok.Nakit N on N.Id =I.StokId And I.IslemKodu =3
                            Left Join Stok.Maden  M on M.Id =I.StokId And I.IslemKodu in (1,2)
                            Left Join Stok.Nakit NB on NB.Id =I.BirimId And I.IslemTipi =1
                            Where ((IslemKodu in (1,2) And IslemTipi in (1,2,5)) or IslemKodu in (3,4,6)) And I.IsDeleted ='False' and SubeId=@SubeId  And Tarih >=@StartDate And Tarih <=@EndDate  and IslemTipi not in (11,12)
                        ) x 
                        Left Join Sistem.Birimler K on K.Id =X.StokId 
                        Left Join Sistem.Birimler B on B.Id =X.BirimId 
                        Where X.BirimId <>X.StokId   
                        Group by Islem,B.Kodu ,K.Kodu 
                    ) I on (I.Kodu =P.AnaBirim And I.Birim =P.Birim) or (I.Kodu =P.Birim  And I.Birim =P.AnaBirim) 
) X Where Miktar is not null and Tutar is not null 
Group by Parite,Islem ,Kodu ,Birim 

) X
 group by Parite,Kodu ,Birim 
) x
Left Join Sistem.GetKurListesi (GETDATE()) as Kur on Kur.Birim =X.Birim 
Left Join Sistem.GetKurListesi (GETDATE()) as KurHas on KurHas.Birim ='HAS'

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).